1 核心代码
代码经过改进,不会影响图片灯箱。将以下代码放入 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', '公众号隐藏', '<div class="hide-t">隐藏的内容</div><div class="secret-password">隐藏内容</div><div class="secret-b"></div>',"" ); </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));
附件下载:
1、本站文章来源于互联网,仅供学习交流参考使用,严禁用于商业用途,因此造成的一切法律后果自行承担。
2、本站不对文章内容的完整性和安全性负责,请自行辨别,如发现有问题,请及时联系我们进行处理。
3、如果你有比较好的文章需要发布,可以联系站长屋VPS小编,或者自行点击 投稿。
4、若文章中有侵权或不适当内容,请告知我们,本站会第一时间进行处理。 免责申明。
评论