【WordPress 教程】WordPress网站添加好看的鼠标右键菜单【纯代码】

2019年5月13日16:40:11 发表评论 3,194
摘要

网上有很多修改右键菜单的教程,看了下很多教程代码要么有很多莫名其妙的部分,要么无法使用,想来是由于转载以及随意删减代码导致的。看了下这个功能觉得还不错,遂将其集成到了自己网站上。同时为了避免自己调试网站无法使用“审查元素”、“查看代码”等功能,特加了个判断,用以判断用户身份。管理员以及其他用户前端显示分别如下:

【效果展示】

  • 效果展示,鼠标右键,现在来简单说下实现方式。

【JavaScript 代码】

  • 新建一个名为 begin-user-rcm.js 的文件,将以下代码丢到该文件中去,以便后面引用。

展开

此处为隐藏的内容!
发表评论并刷新,方可查看

  • 注意:如果你不需要判断用户身份以确认是否启用,也可以将代码直接复制到网站 JS 文件中。

【CSS 代码】

  • CSS 代码配置没什么好说的,直接将下面代码丢到网站 CSS 文件中去即可。
  1. /** 鼠标右键功能 */
  2. a {text-decorationnone;}
  3. div.user-rcm{background-repeat:no-repeat;background-position:center center;background-size:cover;background-color:#fff;font-size:13px!important;width:130px;-moz-box-shadow:1px 1px 3px rgba
  4. (0,0,0,.3);box-shadow:1px 1px 3px rgba(0,0,0,.3);position:absolute;display:none;z-index:10000;opacity:0.9;}
  5. div.user-rcm ul{list-style-type:none;list-style-position:outside;margin:0px;padding:0px;display:block}
  6. div.user-rcm ul li{margin:0px;padding:0px;line-height:35px;border-bottom:1px solid #ccc;}
  7. div.user-rcm ul li a{color:#666;padding:0 15px;display:block}
  8. div.user-rcm ul li a:hover{color:#fff;background:rgba(36, 160, 240, 0.6);}
  9. div.user-rcm ul li a i{margin-right:10px}
  10. a.disabled{color:#c8c8c8!important;cursor:not-allowed}
  11. a.disabled:hover{background-color:rgba(255,11,11,0)!important}
  12. div.user-rcm{background:#fff !important;}
  • CSS 样式大家可自行调整。。。

【前端显示代码】

  • 新建一个名为 modify-user-right-click-menu.php 的文件,并将以下代码复制到该文件中以方便后面调用。
  1. <?php
  2. /**
  3. * @name 用户右键菜单修改
  4. */
  5. ?>
  6. <div class="user-rcm">
  7.     <ul>
  8.         <li><a href="javascript:window.location.reload();"><i class="fa fa-refresh fa-fw"></i><span>刷新页面</span></a></li>
  9.         <li><a href="javascript:history.go(1);"><i class="fa fa-arrow-right fa-fw"></i><span>前进一页</span></a></li>
  10.         <li><a href="javascript:history.go(-1);"><i class="fa fa-arrow-left fa-fw"></i><span>后退一页</span></a></li>
  11.         <li><a href="javascript:void(0);" onclick="getSelect();"><i class="fa fa-clipboard fa-fw"></i><span>复制文字</span></a></li>
  12.         <li><a target="_self" href="javascript:void(0);"onclick="printMe();"><i class="fa fa-print fa-fw"></i><span>打印页面</span></a></li>
  13.         <li><a target="_blank" href="javascript:void(0);" onclick="googleSearch();"><i class="fa fa-chrome fa-fw"></i><span>谷歌搜索</span></a></li>
  14.         <li><a target="_blank" href="javascript:void(0);" onclick="baiduSearch();"><i class="fa fa-paw fa-fw"></i><span>百度搜索</span></a></li>
  15.         <li><a target="_blank" href="<?php bloginfo('rss2_url'); ?>"><i class="fa fa-rss-square fa-fw"></i><span>订阅本站</span></a></li>
  16.     </ul>
  17. </div>
  • 注意:与上面 JavaScript 代码一样,如果你不需要判断用户身份以确认是否启用,也可以将代码直接复制到网站前端文件中。

【WordPress 判断用户身份】

  • 如果你不需要下面的功能,基本上复制上面的代码到网站对应的文件中去即可以使用该功能。就像开篇提到的,为了该功能不影响自己后期对网站的调试,特加了个用户身份判断。按上方要求配置好 begin-user-rcm.js 文件及 modify-user-right-click-menu.php 文件后,通过以下代码调用这两个文件即可。
  1. <?php
  2. if( !current_user_can( 'manage_options' ) ){
  3.     require_once get_stylesheet_directory() . '/modify/modify-user-right-click-menu.php';
  4. ?>
  5.     <script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/js/begin-user-rcm.js"></script>
  6.     <?php
  7. }
  8. ?>
  • 注意将代码中的路径替换为你真实存放文件的路径。

【DUX主题】

  • 另外对于 DUX 及其他后台使用 Option FrameWork 框架的用户,如果你想在后台设置一个方便的开工启用或停用该功能,将以下代码丢到主题 options.php 文件中去:
  1. // 右键菜单优化   
  2. $options[] = array(
  3. 'name' => __('全站右键菜单优化', 'QGG'),
  4. 'id' => 'qgg_right_click_menu_open',
  5. 'std' => true,
  6. 'desc' => __('开启', 'QGG'),
  7. 'type' => 'checkbox');
  • 然后,调用代码改为:
  1. <?php
  2. if( !current_user_can( 'manage_options' ) && QGG_options('qgg_right_click_menu_open') ){
  3.     require_once get_stylesheet_directory() . '/diy/modify/modify-user-right-click-menu.php';
  4. ?>
  5.     <script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/diy/js/qgg-user-rcm.js"></script>
  6. <?php
  7. }
  8. ?>

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: