WordPress博客网站代码实现右键菜单功能修改

关于WordPress博客修改的时候,实现右键菜单显示优化,网上有很多教程。

这些教程中的提供的代码,要不有很多不知所云的部分,要不根本无法使用。应该是是由于转载过来的时候没有经过验证,还有就是随意删减代码导致的。

在蝈蝈要安静博客看到这个功能觉得不错,就想将这个功能代码集成到了自己网站上。

[ad]

在使用这个功能的时候,因为经常需要调试网站,可能会造成无法使用“审查元素”、“查看代码”等功能,这个时候就需要加一个访客身份判断,用以判断用户身份。

访客身份前端显示分别如下:

WordPress博客网站代码实现右键菜单功能修改1技术教程主机格调

以上就是网站效果,

集成代码如下:

JavaScript 代码

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

/** 鼠标右键菜单功能 */
(function(a) {
    a.extend({
        mouseMoveShow: function(b) {
            var d = 0,
                c = 0,
		h = 0,
		k = 0,
		e = 0,
		f = 0;
            a(window).mousemove(function(g) {
	        d = a(window).width();
		c = a(window).height();
		h = g.clientX;
		k = g.clientY;
		e = g.pageX;
		f = g.pageY;
		h + a(b).width() >= d && (e = e - a(b).width() - 5);
		k + a(b).height() >= c && (f = f - a(b).height() - 5);
		a("html").on({
		    contextmenu: function(c) {
			3 == c.which && a(b).css({
			    left: e,
		            top: f
			}).show()
		    },
		    click: function() {
			a(b).hide()
		    }
		})
            })
        },
        disabledContextMenu: function() {
            window.oncontextmenu = function() {
                return !1
            }
        }
    })
})(jQuery);
 
function printMe() {
    var global_Html = "";
    global_Html = document.body.innerHTML;
    document.body.innerHTML = document.querySelector('.content').innerHTML;              
    window.print();
    window.setTimeout(function() {
        document.body.innerHTML = global_Html;
    }, 1500);
} 

function getSelect() {
    var a = window.getSelection ? window.getSelection() : document.selection.createRange().text;
    "" == a ? alert("啊噢~~~,你没还没选择文字呢!!!") : document.execCommand("Copy")
}

function baiduSearch() {
    var a = window.getSelection ? window.getSelection() : document.selection.createRange().text;
    "" == a ? alert("啊噢~~~,你没还没选择文字呢!!!") : window.open("https://www.baidu.com/s?wd=" + a)
}

function googleSearch() {
    var a = window.getSelection ? window.getSelection() : document.selection.createRange().text;
    "" == a ? alert("啊噢~~~,你没还没选择文字呢!!!") : window.open("https://www.google.com/search?q=" + a)
}

$(function() {
    for (var a = navigator.userAgent, b = "Android;iPhone;SymbianOS;Windows Phone;iPad;iPod".split(";"), d = !0, c = 0; c < b.length; c++)
        if (0 < a.indexOf(b[c])) {
	    d = !1;
	    break
	}
    d && ($.mouseMoveShow(".user-rcm"), $.disabledContextMenu())
});

也可以将代码直接复制到网站 JS 文件中。

CSS 代码

CSS 代码配置没什么好说的,直接将下面代码丢到网站 CSS 文件中去即可。

/** 鼠标右键功能 */
a {text-decoration: none;}
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
(0,0,0,.3);box-shadow:1px 1px 3px rgba(0,0,0,.3);position:absolute;display:none;z-index:10000;opacity:0.9;}
div.user-rcm ul{list-style-type:none;list-style-position:outside;margin:0px;padding:0px;display:block}
div.user-rcm ul li{margin:0px;padding:0px;line-height:35px;border-bottom:1px solid #ccc;}
div.user-rcm ul li a{color:#666;padding:0 15px;display:block}
div.user-rcm ul li a:hover{color:#fff;background:rgba(36, 160, 240, 0.6);}
div.user-rcm ul li a i{margin-right:10px}
a.disabled{color:#c8c8c8!important;cursor:not-allowed}
a.disabled:hover{background-color:rgba(255,11,11,0)!important}
div.user-rcm{background:#fff !important;}

CSS 样式大家如果不喜欢,可以自己调整一下。。。

前端显示代码

新建名称为modify-user-right-click-menu.php文件,将以下代码复制到该文件中。

<?php
/**
* @name 用户右键菜单修改
*/
?>
<div class="user-rcm">
    <ul>
        <li><a href="javascript:window.location.reload();"><i class="fa fa-refresh fa-fw"></i><span>刷新页面</span></a></li>
        <li><a href="javascript:history.go(1);"><i class="fa fa-arrow-right fa-fw"></i><span>前进一页</span></a></li>
        <li><a href="javascript:history.go(-1);"><i class="fa fa-arrow-left fa-fw"></i><span>后退一页</span></a></li>
        <li><a href="javascript:void(0);" onclick="getSelect();"><i class="fa fa-clipboard fa-fw"></i><span>复制文字</span></a></li>
        <li><a target="_self" href="javascript:void(0);"onclick="printMe();"><i class="fa fa-print fa-fw"></i><span>打印页面</span></a></li>
        <li><a target="_blank" href="javascript:void(0);" onclick="googleSearch();"><i class="fa fa-chrome fa-fw"></i><span>谷歌搜索</span></a></li>
        <li><a target="_blank" href="javascript:void(0);" onclick="baiduSearch();"><i class="fa fa-paw fa-fw"></i><span>百度搜索</span></a></li>
        <li><a target="_blank" href="<?php%20bloginfo('rss2_url');%20?>"><i class="fa fa-rss-square fa-fw"></i><span>订阅本站</span></a></li>
    </ul>
</div>

与上面 JavaScript 代码一样,如果你不需要访客身份判断,也可以将代码直接复制到网站前端文件中。

WordPress 判断用户身份

如果你不需要下面的功能,复制上面代码到对应的文件中去即可使用该功能。

但是如果自己后期对网站要进行调试,需要访客身份判断。

配置好wpbox-user-rcm.js和modify-user-right-click-menu.php后,通过以下代码调用这两个文件即可。

<?php
if( !current_user_can( 'manage_options' ) ){
    require_once get_stylesheet_directory() . '/modify/modify-user-right-click-menu.php';
?>
    <script type="text/javascript" src="<?php%20echo%20get_template_directory_uri();%20?>/js/qgg-user-rcm.js"></script>
    <?php
}
?>

注意将代码中的路径替换为你真实存放文件的路径。

如果WordPress主题是使用Option FrameWork框架的用户,比如大前端的DUX,如果要在后台可以方便地启用和停用该功能,可以把下面代码放到主题 options.php 文件中,这样就有了一个开启和停用的选项:

// 右键菜单优化	
$options[] = array(
'name' => __('全站右键菜单优化', 'QGG'),
'id' => 'qgg_right_click_menu_open',
'std' => true,
'desc' => __('开启', 'QGG'),
'type' => 'checkbox');

然后,调用代码改为:

<?php
if( !current_user_can( 'manage_options' ) && QGG_options('qgg_right_click_menu_open') ){
    require_once get_stylesheet_directory() . '/diy/modify/modify-user-right-click-menu.php';
?>
    <script type="text/javascript" src="<?php%20echo%20get_template_directory_uri();%20?>/diy/js/qgg-user-rcm.js"></script>
<?php
}
?>
【声明1】:如本站转载别的站的文章,我个人没有添加来源,您可以发电邮:admin#zhuji.gd 提醒我,我会尽快添加文章来源。 【声明2】:本博客不参与任何交易及中介服务,只记录 VPS 测评和优惠,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。
(0)
上一篇 08/04/2019
下一篇 08/04/2019

相关推荐

  • Google Voice 自动回复短信保号一键脚本,防止谷歌收回

    Google Voice 需要经常发送短信来保号,保号也就是说可以长期的能够使用它并不被谷歌回收,下面我们就借助 GmailApp 实现 Google Voice 自动回复短信脚本,方法比较简单,记性不好的童鞋可以尝试使用一下。 Google Voice 号码回收中文版规则里写的是9个月不活动,就会回收 Google Voice 号码,明显是与英文版有所出处,Google Voice 号码回收中文版规则里写的是6个月不收发短信,也不接打语音就视为死号,然后会被谷歌回收。 设...

    16/01/2022
    900
  • 百度统计是否会影响博客在百度的优化排名?

    经常遇到一些站长朋友说不想用百度统计,不喜欢用 Google Analytics,当然还有不是很知名的 360 分析。 总结其原因那就是他们都是搜索引擎家推出的统计工具,怕影响搜索排名,从而可能会选择使用 CNZZ、51LA、腾讯分析等。 网站统计与搜索引擎 首先站在一个网站优化人员的角度来考虑,使用搜索引擎提供的网站统计工具,在一定程度上搜索引擎应该会利用其网站统计数据作为搜索引擎排名算法的一种参考,但也并不会作为重要的排名...

    27/03/2019
    730
  • WordPress 简约瀑布流主题:mkBlog

    mkBlog 是一款简约 WordPress 主题,适合个人博客使用。在设计上,界面元素做到极度精简,支持单栏和卡片式两种布局,无用户中心,不支持小工具,却集成了现在 WordPress 主题所有的流行功能,比如短代码、评论表情包、百度收录自动推送、go 跳转等功能。 mkBlog 主题在界面设计上参照了 Typecho 主题 Pinghsu;除此之外,还借鉴了Lover、Mirages、Adams、Smohan、tob、Nana 等优秀主题的设计理念;使用jQuery-emoji、fancyBox3...

    15/10/2020
    16.6K0
  • 加速如何选择BBR、BBR魔改版、BBRplus、锐速和腾讯 TCPA

    现在使用 VPS 云服务器,为了加快访问速度和跑满带宽,可通过BBR、BBR魔改版、BBRplus、锐速、腾讯TCPA等拥塞算法达到加速目的。通过一键脚本来安装和启用这些加速策略。 为什么要使用 BBR 加速 不是什么环境都需要加速。国内的云服务器,带宽小,基本无延迟,所以没有使用加速的必要;国外的 VPS 云服务器,线路环境复杂及受到干扰,需要加速。 VPS 一键 BBR 加速脚本 wget -N --no-check-certificate "https://raw.githubuser...

    25/02/2021
    1590
  • 联通 AS4837 和 AS9929 两种联通线路分级介绍

    大部分联通用户所能接触到的联通网络分为普通民用网(AS4837)和A网(AS9929),回国与出国大多会经过 北京/上海/广州 回国,出口宽带等级分为 AS4837/AS9929(A网),网络分为 双向/单向/混合线路(BGP),在高峰期会有策略性丢包减少对骨干网的负载,出口宽带总量第二。 有需要联通 AS4837 和 AS9929 两种联通线路 VPS 的,请移步:2022年最靠谱,不跑路的联通AS4837 VPS;2022年最靠谱,不跑路的联通 AS9929 VPS 联通路由图...

    09/10/2021
    2630
  • 百度智能云云服务器特惠新用户1核2G/40G硬盘/1Mbps带宽 ¥95/年;BaiduTrust域名证书 ¥704/年

    百度智能云今天推出云服务器特惠活动,新用户首购低至0.7折,高配机器新老用户限量秒杀3.4折起,另还有多款爆款促销,其中100GCDN国内流量包仅¥11/年。 百度智能云云服务器机房较少,有苏州、北京、香港、保定、上海、广州、香港、新加披、武汉等8个数据中心。我正在使用香港节点,相当稳定,线路质量超出预期,丢包和延迟堪比国内机房。百度云促销仅限内地机房,香港不参加活动。如果确有需求,香港建议三年付,打五折,最低...

    31/03/2021
    6.2K0
  • Google Voice 虚拟手机号如何转入美国 UltraMobile Paygo 实体手机号?

    现在很多外国社交媒体、ChatGPT 等服务都不支持 Google Voice 等虚拟手机号进行手机验证,比较麻烦。我自己的 Google Voice 保号用了好多年了,丢掉可惜,所以将这个号转入美国手机号实体 SIM 卡,实现永久保号。我买的是 UltraMobile Paygo 月租3刀神卡,下面分享下 GV 号怎么转成实体卡? 转入美国实体卡有哪些好处? 只要交钱就不用担心号码回收,永久实体号。 Azure等手机号限制VOIP号码绑定,转为移动号码后不受此限制 支...

    06/04/2023
    9430
  • WordPress前端优化设置教程

    人类对速度的追求永无止境,站长对网站的速度追求也是如此。如果你对WordPress越来越臃肿、速度越来越慢而烦恼,那本文关于WordPress前端优化设置教程是你必看优化教程之一。无论是VPS还是传统的虚拟主机,对现有的服务器硬件来说性能已不是什么问题,那为什么还会慢呢?不外乎几方面:后端的数据读取与动态程序处理能力,前端的页面大小和传输问题,再加上中间的网络传输因素。 后端的数据读取与动态程序处理优化,网上有很多...

    05/03/2019
    11.4K0
  • Lean 大神 OpenWRT 软路由固件精简版编译教程

    网上有很多编译 OpenWrt 固件的教程,我自己整理一下方便自已往后使用,并且提供给想自已编译 OpenWRT 固件的朋友。OpenWrt 源码来自 Lean 大神。 自已编译软路由 OpenWrt 固件可以满足自己需求,一个符合自己需求,简洁,稳定的固件。有很多插件对于我们有时候没什么用 编译 OpenWrt 固件环境 事先需要一台安装好 Ubuntu 64 位操作系统的 VPS。 需要注意以下三点: 不要用 root 用户 git 和编译,安装好操作系统后。先新建一个...

    22/03/2022
    9.2K0
  • 搜索引擎喜欢什么样的反向链接,反向链接如何给博客SEO加分?

    链接来说是非常重要的评分标准之一,以前大家都觉得有越多的反向链接对SEO加分必定越多,但随着搜寻引擎不断调整,对反向链接的定义也越来越严谨。 需要区分外链和反链之间区别 SEO外链就是所有指向自己网站的链接,它存在的目的就是吸引蜘蛛的爬行抓取路径,也就是大家所熟知的路标和引导的作用,仅此而已。 SEO反链:准确的来讲应该叫做反向链接。反向链接指的是两个网页之间直接的关系。举例,有两个网页,网页X和网页Y,网...

    技术教程 24/03/2019
    11.2K0
返回顶部