之前博客曾介绍过一款公众号涨粉插件WeChat Fans,具体内容可参加这篇文章>>>WeChat Fans——微信公众号涨粉插件 。插件使用简单,只需要我们后台安装启用并进行一些简单的配置就可以使用了,但是这个插件有一个非常不好的地方,那就是网站上所有的文章的验证码都是同一个,这对于需要给不同文章设置不同验证码的站点来说可能并不理想,而且对于这种功能性插件来讲,个人感觉能少装一个是一个,毕竟安装太多的插件也会影响网站的速度。

对于关注公众号获取验证码查看全部内容以实现涨粉这一功能,网上除了插件版自然也是有很多代码版的,但是有一些代码版在实际测试时发现效果并不理想,这里我就将自己收集整理并亲测可用的代码版分享出来以供大家使用,代码来源于网络,原作者已不可考,在此就不再申明。

还是那句话,修改之前希望大家先将网站备份一下以避免误操作引起的网站崩溃

functions.php文件修改

将下面的代码按照文字提示进行简单的修改并添加到你主题的 functions.php 文件中去,部分主题的自定义函数可能不是放在这个文件中,如果不确定可以咨询主题作者确认具体的添加位置。

// 网站添加公众号涨粉功能核心代码
function secret($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="160" height="160" 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">请关注“你公众号名字”官方公众号,回复关键字“<span>'.$keyword.'</span>”,获取验证码。
            <span>【注】</span>手机扫描二维码快速关注“你公众号名字”官方公众号。
	    </div>
         </div>';
      }
}
add_shortcode('ghide', 'secret');

CSS样式文件修改

值得注意的是,以下样式是我根据主题风格及个人喜好调整的前端样式,大家可以自行根据自己主题修改下面的样式内容,一般情况下我们将下面的代码添加到主题的 style.css 文件中去即可,但是部分主题可能不调用 style.css 文件,比如我所使用的 DUX 主题则需要将此段代码添加至 main.css 文件中去。

/* 网站添加公众号涨粉功能样式代码 */
.post_hide_box, .secret-password{
	background: none repeat scroll 0 0 #fcffff;
	border: 1px dashed #24b4f0;
	color: #123456;
	padding: 10px;
	border-radius: 9px;
	margin: 18px 0px;
	overflow:hidden;
	clear:both;
	}
.post_hide_box .post-secret{
	font-size: 18px;
	line-height:20px; 
	color:#f0503c; 
	margin:5px;
	}
.post_hide_box form{ margin:15px 5px;}
.post_hide_box form span{ font-size:18px; font-weight:bold;}
.post_hide_box .erweima{ margin: 15px;}
.post_hide_box input[type=password]{
	color: #00a0f0;
	padding: 5px;
	background-color: #fff;
	border: 1px solid #24b4f0;
	border-radius: 5px;
	font-size: 12px;
	margin: 0px 5px;
	-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: #24b4f0; 
	border: none; 
	padding: 5px;
	width: 88px;  
	color: #fff; 
	border-radius: 5px; 
	font-size: 16px;
	font-weight:bold;
	}
.details{
	color:#123456;
    font-size: 16px;
	line-height: 30px;
	margin: 5px;
	padding: 3px;
	}
.post_hide_box .details span{color:#e74c3c;}

文章编辑器添加简码按钮

一般情况下,如果我们正确配置好了前两步,则在编辑文章时通过以下短代码既可以实现隐藏部分内容,等访客关注公众号获取验证码并提交后显示隐藏内容的效果。

【ghide keyword="关键字" key="验证码"]隐藏内容[/ghide】

为了使文章编辑更加简单,我们可以通过下面的代码在文章编辑器中添加一个简码按钮,通过点击该按钮即可自动添加上面这段简码。

//文章编辑器添加简码按钮
function wpsites_add_gzh_quicktags() {
    if (wp_script_is('quicktags')){
?>
    <script type="text/javascript">
    QTags.addButton( 'ghide', ' 公众号隐藏', '\n【ghide keyword="关键字" key="验证码"]隐藏内容[/ghide】', "" );
    </script>
<?php
    }
}
add_action( 'admin_print_footer_scripts', 'wpsites_add_gzh_quicktags' );

添加代码的时候注意将上方代码中的【】字符修改为[]。