今天有网友留言说想实现WordPress文章部分内容输入密码后可见,而Three主题默认加密的是整篇文章,输入密码后可见整篇文章。今天有空特意折腾了一下分享给大家。
这个实现WordPress文章部分内容输入密码后可见,就是利用WordPress的短代码功能来实现。
具体实现步骤如下:
1、将以下代码添加到Three主题的functions.php文件最后一个?>的前面。
/** * WordPress文章部分内容关注微信公众号后可见 - 龙笑天下 * https://www.ilxtx.com/view-contents-by-following-wechat-official-accounts.html */ function lxtx_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 ' <div class="post_hide_box"> <img class="erweima" align="right" src="改为二维码图片的网址" width="150" height="150" alt="你的二维码名字"> <div class="post-secret"><i class="fa fa-exclamation-circle"></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">请关注“你的名字”官方QQ公众号,回复关键字“<span>'.$keyword.'</span>”,获取验证码。【注】用手机QQ扫描右侧二维码都可以关注“你的名字”官方QQ公众号。</div> </div> '; } } add_shortcode('gzh2v', 'lxtx_secret_content');
注意修改代码中的相关内容!
2 前端 CSS 样式
.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;}
将以下代码放到你主题的 style.css 文件中:
// 后台文本编辑框中添加公众号隐藏简码按钮 function lxtx_wpsites_add_gzh_quicktags() { if (wp_script_is('quicktags')){ ?> <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-wp-preserve="%3Cscript%20type%3D%22text%2Fjavascript%22%3E%0A%20%20%20%20QTags.addButton(%20'gzh2v'%2C%20'%20%E5%85%AC%E4%BC%97%E5%8F%B7%E9%9A%90%E8%97%8F'%2C%20'%5Cn%5Bgzh2v%20keyword%3D%22%E5%85%B3%E9%94%AE%E5%AD%97%22%20key%3D%22%E9%AA%8C%E8%AF%81%E7%A0%81%22%5D%E9%9A%90%E8%97%8F%E5%86%85%E5%AE%B9%5B%2Fgzh2v%5D'%2C%20%22%22%20)%3B%0A%20%20%20%20%3C%2Fscript%3E" data-mce-resize="false" data-mce-placeholder="1" class="mce-object" width="20" height="20" alt="<script>" title="<script>" /> <?php } } add_action( 'admin_print_footer_scripts', 'lxtx_wpsites_add_gzh_quicktags' );
4 使用方法
4.1 在文章中使用短代码
插入以下简码,修改相关内容即可:
【gzh2v keyword="关键字" key="验证码"】隐藏内容【/gzh2v】
4.2 微信公众号
这里以微信公众号为例(QQ 公众号应该也是这样),在微信公众号的“自动回复-关键字自动回复”中设置好关键字(对应上面代码中的 keyword)及验证码(对应上面代码中的 key)。