🚀 サイト構築が難しい?手取り足取りご案内します——「WordPressサイト構築伴走」サービスを詳しく見る →

ブログからWeChat公式アカウントへの導線自動生成検証コード:WeChat公式プラットフォーム検証コード表示Plugin

之前奶爸分享过3种实现博客公众号引流的方法,其中就包括使用关键词回复获取密码的插件,不过那个插件的验证码是站长手动输入的,今天给大家推荐的这款是自动生成和获取验证码,实现验证码自动更换引流的功能。 插件代码如下:
captcha = $wx_captcha;
	}
	private function checkSignature() {
		$signature = $_GET["signature"];
		$timestamp = $_GET["timestamp"];
		$nonce = $_GET["nonce"];
		$token = WX_TOKEN;
		$tmpArr = array($token, $timestamp, $nonce);
		sort($tmpArr, SORT_STRING);
		$tmpStr = implode($tmpArr);
		$tmpStr = sha1($tmpStr);
		if ($tmpStr == $signature)
		            return true; else
		            return false;
	}
	protected function valid() {
		$echoStr = $_GET["echostr"];
		//valid signature , option
		if ($this->checkSignature()) {
			echo $echoStr;
			exit;
		} else {
			echo 'error signature';
		}
	}
	public function responseMsg() {
		//如果是验证请求,则执行签名验证并退出
		if (!empty($_GET["echostr"])) {
			$this->valid();
			//验证签名是否有效
			return;
			//返回退出
		}
		if ($_SERVER['REQUEST_METHOD'] != 'POST') {
			echo '';
			return;
		}
		//如果不是验证请求,则
		//首先,取得POST原始数据(XML格式)
		//$postData = $GLOBALS["HTTP_RAW_POST_DATA"];
		$postData = file_get_contents('php://input');
		if (empty($postData)) {
			echo '';
			return;
		}
		//如果没有POST数据,则退出
		if (!empty($postData)) {
			//解析POST数据(XML格式)
			$object = simplexml_load_string($postData, 'SimpleXMLElement', LIBXML_NOCDATA);
			$messgeType = trim($object->MsgType);//取得消息类型
			$this->fromUser = "" . $object->FromUserName;
			$this->toUser = "" . $object->ToUserName;
			$keyword = trim($object->Content);
			if( $messgeType == 'text' && $keyword == '验证码') {
				$response_content = '您的验证码为:【'.$this->captcha.'】,验证码有效期为2分钟,请抓紧使用,过期需重新申请';
				$xmlTemplate = "
                    
                    
                    %s
                    
                    
                    %d
                    ";
				$xmlText = sprintf($xmlTemplate, $this->fromUser, $this->toUser, time(), $response_content, 0);
				echo $xmlText;
			}
		} else {
			echo "";
			exit;
		}
	}
}
//class end

//生成微信验证码
function wx_captcha(){
	date_default_timezone_set('Asia/Shanghai');
	$min = floor(date("i")/2);
	$day = date("d");
	$day = ltrim($day,0);
	$url = home_url();
	$captcha = sha1($min.$url.WX_TOKEN);
	$captcha = substr($captcha , $day , 6);
	return $captcha;

}

function wx_process() {
	global $object;
	$object = new Wechat_Captcha(wx_captcha());
	$object->responseMsg();
	return;
}
add_action('pre_get_posts', 'wx_process', 4);

/***  微信端结束 ***/

/***  WP端开始 ***/
//密码可见
function wx_captcha_view() {
	$action = $_POST['action'];
	$post_id = $_POST['id'];
	$pass = $_POST['pass'];
	$wxcaptcha = wx_captcha();
	if(!isset( $action )  ||  !isset( $post_id )  ||  !isset( $pass )   ) exit('400');
	if($pass == $wxcaptcha ) {
	$pass_content = get_post_meta($post_id, '_pass_content')[0];
	exit($pass_content);
	}else{
		exit('400');
	}
}
add_action('wp_ajax_nopriv_gdk_pass_view', 'wx_captcha_view');
add_action('wp_ajax_gdk_pass_view', 'wx_captcha_view');


// 部分内容输入密码可见
function gdk_secret_view($atts, $content = null) {
    $pid = get_the_ID();
    add_post_meta($pid, '_pass_content', $content, true) or update_post_meta($pid, '_pass_content', $content);
    if ( current_user_can( 'administrator' ) ) { return $content; }//admin show
        return '
		
'; } add_shortcode('wxcaptcha', 'gdk_secret_view'); //按钮 function wx_captcha_btn() { ?> 你需要配置的地方就两处:
// 此token必须和微信公众平台中的设置保持一致
define('WX_TOKEN', '');
define('WX_QR', '');//公众号二维码
一个是wx_token,在微信公众号管理后台可以获取,另外一个就是你公众号的二维码图片地址。 ダウンロードURL 使用方法: 1、下载并安装插件 2、修改插件的wx_token和wx_qr的值。 3、发文章使用短代码[wxcaptcha]和[/wxcaptcha]把需要隐藏的内容包裹起来。 作者发布地址:https://gitcafe.net/archives/10584.html

🚀 チュートリアルを見てもまだ迷っていますか?私が直接手を取ってご案内しましょう

「WordPressサイト構築伴走サービス」——ドメイン名の選択、ホスティングの購入から、Themeのインストール、公開、投稿まで、すべてのステップで私が伴走し、遠回りをせずに目標に直行します。

👉 サイト構築伴走サービスについて詳しく知る
🔒

コメントは閉鎖されました

この記事のコメント機能は閉鎖されています。ご質問がある場合は、他の方法でお問い合わせください。

×
二维码

QRコードをスキャンしてフォロー