Loading
0

WordPress主题纯代码实现文章设置隐藏内容公众号可见教程

公众号搜索菜鸟站长之家

1 核心代码

部分转自钻芒博客https://www.zmki.cn/3304.html

代码经过改进,不会影响图片灯箱。将以下代码放入 functions.php 中:

/* WordPress文章部分内容关注微信公众号后可见*/
function weixingzh_secret_content($atts, $content=null){
	extract(shortcode_atts(array('key'=>null,'keyword'=>null), $atts));
	if(isset($_POST['secret_key']) && $_POST['secret_key']==$key){
		return '<div class="secret-password">'.$content.'</div>';
	} else {
		return '<link rel="stylesheet" href="https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.css">
		<div class="gzhhide">
			<div class="gzhtitle">抱歉!隐藏内容,请输入密码后可见!<i class="fa fa-lock"></i><span></span></div>
                <div class="gzh-content">请打开微信扫描右边的二维码回复关键字“<span><b>'.$keyword.'</b></span>”获取密码,也可以微信直接搜索“科技小新”关注微信公众号获取密码。
                <div class="gzhcode" style="background: url(https://www.cnzzzj.com/wp-content/uploads/2020/09/wxgzh.jpg);background-size: 100%;" width="140" height="140" alt="菜鸟福利之家"></div>
            </div>
		<div class="gzhbox"><form action="'.get_permalink().'" method="post">
		<input id="pwbox" type="password" size="20" name="secret_key">
		<button type="submit">立即提取</button></form></div></div>';
	}
}
add_shortcode('weixingzh', 'weixingzh_secret_content');
// 后台文本编辑框中添加公众号隐藏简码按钮
function wpsites_add_weixingzh_quicktags() {
    if (wp_script_is('quicktags')){
?>
    <script type="text/javascript">
    QTags.addButton( 'weixingzh', '公众号隐藏', '[weixingzh keyword="关键字" key="验证码"]隐藏内容[/weixingzh]',"" );
    </script>
<?php
    }
}
add_action( 'admin_print_footer_scripts', 'wpsites_add_weixingzh_quicktags' );
替换第三行的$key和第十行的'.$keyword.'分别改为固定密码和回复关键词,可以统一密码和关键词,方便批量替换。
还可以把'.$keyword.' 改成'.get_the_ID().'获取当前文章ID作为关键词

所以修改保存 functions.php 文件时,模版编码选择:UTF-8 无BOM(无签名),否则中文会显示乱码。

2 前端 CSS 样式一

之前有很多小伙伴反应css链入错误。大家别用链入方法了,直接把下边的css丢到主题的style.css即可。本次还修复了 小锁图标倾斜的问题,然后把上面的https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.css外链CSS去掉。

/**  纯代码实现WordPress文章设置隐藏内容公众号可见*/ 
.post_hide_box, .secret-password{background: none repeat scroll 0 0 #efe;border-left: 5px solid #e74c3c;color: #555;padding: 10px 0 10px 10px;border-radius: 5px;margin-bottom: 15px;overflow:hidden; clear:both;}
.post_hide_box .post-secret{font-size: 18px; line-height:20px; color:#e74c3c; margin:5px;}
.post_hide_box form{ margin:15px 0;}
.post_hide_box form span{ font-size:18px; font-weight:700;}
.post_hide_box .erweima{ margin-left:20px; margin-right:16px;}
.post_hide_box input[type=password]{ color: #9ba1a8; padding: 6px; background-color: #f6f6f6; border: 1px solid #e4e6e8; font-size: 12px;-moz-transition: border .25s linear,color .25s linear,background-color .25s linear; -webkit-transition: border .25s linear,color .25s linear,background-color .25s linear; -o-transition: border .25s linear,color .25s linear,background-color .25s linear; transition: border .25s linear,color .25s linear,background-color .25s linear;}
.post_hide_box input[type=submit] { background: #F88C00; border: none; border: 2px solid;border-color: #F88C00; border-left: none; border-top: none; padding: 0px;width: 100px; height: 38px; color: #fff; outline: 0;border-radius: 0 0 2px 0; font-size: 16px;}
.post_hide_box .details span{color:#e74c3c;}
.post_hide_box .details 
span{color:#e74c3c;}
.gzhhide{background:#fff;border-radius:10px;padding:20px;margin:15px 0;position:relative;box-shadow:0 0 20px #d0d0d0}
.gzhhide .gzhtitle{position:relative;font-size:17px;font-weight:700;color:#6c80a7;padding:6px 140px 0 40px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gzhhide .gzhtitle .fa{position:absolute;left:0;font-size:35px;top:0}
.gzh-content{padding:20px 140px 15px 0;font-size:14px;color:#777}
.gzhbox{padding:0 140px 10px 0}
.gzhbox input{
	width:45%;
	border:none;
	color:#737373;
	font-size:13px;
height:35px;line-height:35px;background:#f2f2f2;border-radius:4px;
outline:none;float:left;padding:0 10px}
.gzhbox button{width:20%;margin-left:15%;
border:none;background:#3b8cff;color:#fff;padding:5px 0;font-size:14px;border-radius:5px}
.gzhhide .gzhcode{position:absolute;width:140px;height:140px;right:20px;top:50%;margin-top:-50px}
#vivideo{height:200px}
.gzhhide .gzhtitle i {font-style:normal;}

前端CSS样式二

/*纯代码实现WordPress文章设置隐藏内容公众号可见*/ 
.post_hide_box, .secret-password{background: none repeat scroll 0 0 #efe;color: #555;padding: 10px 0 10px 10px;border-radius: 5px;margin-bottom: 15px;overflow:hidden; clear:both;}
.post_hide_box .post-secret{font-size: 18px; line-height:20px; color:#e74c3c; margin:5px;}
.post_hide_box form{ margin:15px 0;}
.post_hide_box form span{ font-size:18px; font-weight:700;}
.post_hide_box .erweima{ margin-left:20px; margin-right:16px;}
.post_hide_box input[type=password]{ color: #9ba1a8; padding: 6px; background-color: #f6f6f6; border: 1px solid #e4e6e8; font-size: 12px;-moz-transition: border .25s linear,color .25s linear,background-color .25s linear; -webkit-transition: border .25s linear,color .25s linear,background-color .25s linear; -o-transition: border .25s linear,color .25s linear,background-color .25s linear; transition: border .25s linear,color .25s linear,background-color .25s linear;}
.post_hide_box input[type=submit] {
    background: #F88C00;
    border: none;
    border: 2px solid;
    border-color: #F88C00;
    border-left: none;
    border-top: none;
    padding: 0px;
    width: 100px;
    height: 28px;
    color: #fff;
    outline: 0;
    border-radius: 0 0 2px 0;
    font-size: 16px;
}
.post_hide_box .details span{color:#e74c3c;}
.post_hide_box .post_secret_left {
    width: 75%;
    float: left;
}
.post_hide_box .post_secret_right{
    width: 25%;
    float: right;
}
.post_hide_box .post_secret_right_img {
    background-size: 100%;
    background-repeat: no-repeat;
    width: 150px;
    height: 150px;
    margin: 0 auto;
}
@media screen and (max-width:480px){
    .post_hide_box .post_secret_left {
        width: 100%;
        float: none;
    }
    .post_hide_box .post_secret_right{
        width: 100%;
        float: none;
    }
}

3 集成短代码

为了方便使用,在后台文本编辑器中集成该短代码。将以下代码放入 functions.php 中即可:

/*WordPress-文章部分内容关注微信公众号后可见**/
function gzh2v_secret_content($atts, $content=null){
	extract(shortcode_atts(array('key'=>null,'keyword'=>null), $atts));
	if(isset($_POST['secret_key']) && $_POST['secret_key']==$key){
		return '<div class="secret-password">'.$content.'</div>';
	} else {
		return '<link rel="stylesheet" href="https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.css">
        <div class="post_hide_box">
            <div class="post_secret_left">
                <div class="post-secret"><i class="fa fa-lock"></i> 此处内容已经被作者隐藏,请输入验证码查看内容</div>
                <form action="'.get_permalink().'" method="post"> 
                <span>验证码:</span><input id="pwbox" type="password" size="20" name="secret_key">
                <a class="a2" href="javascript:;"><input type="submit" value="提交" name="Submit"></a>
                </form>
                <div class="details">  请关注“菜鸟福利之家”官方微信公众号,回复关键字“<span><b>'.$keyword.'</b></span>”,获取验证码!<br>【注】用手机微信扫描右侧二维码即可关注“菜鸟福利之家”微信公众号。</div>
             </div>
             <div class="post_secret_right">
              <div class="post_secret_right_img" style="background-image: url(https://www.cnzzzj.com/wp-content/uploads/2020/09/wxgzh.jpg);"></div>
             </div>
        </div>';
	}
}
add_shortcode('gzh2v', 'gzh2v_secret_content');
// 后台文本编辑框中添加公众号隐藏简码按钮
function wpsites_add_gzh2v_quicktags() {
    if (wp_script_is('quicktags')){
?>
    <script type="text/javascript">
    QTags.addButton( 'gzh2v', '公众号隐藏', '
		
此处内容已经被作者隐藏,请输入验证码查看内容
验证码:

 请关注“菜鸟福利之家”官方微信公众号,回复关键字“关键字”,获取验证码!
【注】用手机微信扫描右侧二维码即可关注“菜鸟福利之家”微信公众号。

',"" ); </script> <?php } } add_action( 'admin_print_footer_scripts', 'wpsites_add_gzh2v_quicktags' );
替换第四行的$key和第十五行的'.$keyword.'分别改为固定密码和回复关键词,可以统一密码和关键词,方便批量替换。
还可以把'.$keyword.' 改成'.get_the_ID().'获取当前文章ID作为关键词

所以修改保存 functions.php 文件时,模版编码选择:UTF-8 无BOM(无签名),否则中文会显示乱码。

4 使用方法

4.1 在文章中使用短代码

4.2 微信公众号

这里以微信公众号为例(QQ 公众号同理),在微信公众号的“自动回复-关键字自动回复”中设置好关键字(对应上面代码中的 keyword)及验证码(对应上面代码中的 key)。

还有一个方法是集成在编辑器按钮上:

在functions.php引入代码:

/*WordPress-文章部分内容关注微信公众号后可见引入*/
require_once get_template_directory() . '/customfun/custom-fun.php';

下载文件放到根目录,如果你改过functions.php,就加入上面的代码,没改过就覆盖。

演示截图:

2020.10.8更新管理员可见代码:

global $user_ID;
    if( $user_ID && current_user_can('level_10') ) : 
    	return '<div class="secret-password">'.$content.'</div>';
    endif;

把上面的代码加入到下面

extract(shortcode_atts(array('key'=>null,'keyword'=>null), $atts));

独立文件短代码合集版:https://www.cnzzzj.com/1252.html

下载地址:

此处内容已经被作者隐藏,请输入验证码查看内容
验证码:

 请关注“菜鸟福利之家”官方微信公众号,回复关键字“451”,获取验证码!
【注】用手机微信扫描右侧二维码即可关注“菜鸟福利之家”微信公众号。

文章声明:
1、本站文章来源于互联网,仅供学习交流使用,严禁用于商业用途,因此造成的一切法律后果自行承担。
2、本站不对文章内容的完整性和安全性负责,请自行辨别,如发现有问题,请及时联系我们进行处理。
3、若文章中有侵权或不适当内容,请留言告知我们,本站会第一时间进行处理。