将以下代码放入 functions.php 中(美化修改版):
注:将代码中二维码链接文字等介绍替换成自己的
/**
* WordPress文章部分内容关注微信公众号后可见
* */
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
'<link rel="stylesheet" href="https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.css">
<link rel="stylesheet" href=" css样式链接" >
<div class="gzhhide">
<div ><img class="gzhcode" align="right" src="二维码图片链接" alt="利熙博客"></div>
<div class="gzhtitle">抱歉!隐藏内容,请输入密码后可见!<i class="fa fa-lock"></i><span></span></div>
<div class="gzh-content">请打开微信扫描右边的二维码回复关键字“<span><b>'.$keyword.'</b></span>”获取密码,也可以微信直接搜索“利熙创享”关注微信公众号获取密码。</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('gzh2v', 'lxtx_secret_content');
前端 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 .gzhcode{position:absolute;width:100px;height:100px;right:20px;top:50%;margin-top:-50px}
.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:100px;height:100px;right:20px;top:50%;margin-top:-50px}
.gzhbox{padding:0}.gzh-content{padding:20px 90px 15px 0}
.gzhhide .gzhcode{width:80px;height:80px}#vivideo{height:200px}
后台文本编辑框中添加集成简码(短代码)
为了方便使用,在后台文本编辑器中集成该短代码。将以下代码放入 functions.php 中即可: 请复制粘贴后删除下面代码中第6行的两个“把我删掉”
// 后台文本编辑框中添加公众号隐藏简码按钮
function lxtx_wpsites_add_gzh_quicktags() {
if (wp_script_is('quicktags')){
?>
<script type="text/javascript">
QTags.addButton( 'gzh2v', ' 公众号隐藏', '\n[把我删掉gzh2v keyword="关键字" key="验证码"]隐藏内容[/gzh2v把我删掉]', "" );
</script>
<?php
}
}
add_action( 'admin_print_footer_scripts', 'lxtx_wpsites_add_gzh_quicktags' );
使用方法
经典编辑器中可视化切换成文本,选择公众号隐藏。这里以微信公众号为例(QQ 公众号同理),在微信公众号的“自动回复-关键字自动回复”中设置好关键字(对应上面代码中的 keyword)及验证码(对应上面代码中的 key)。
PHP页面版
// 假设这是你的文章ID或某种标识符,用于生成链接(在WordPress中可能通过get_permalink()获取)
$articleUrl = '1.php'; // 这里应替换为你的页面URL
// 处理表单提交
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['secret_key'])) {
// 假设你已经有了某种方式存储或检查密钥
$secretKey = 'your-secret-key'; // 这里的密钥应该是你设定的真实密钥
if ($_POST['secret_key'] == $secretKey) {
echo '<div class="secret-password">这里是隐藏的内容</div>';
} else {
// 如果密钥错误,重新显示表单
showSecretContentForm('错误的密码,请重试。', $articleUrl, 'your-keyword');
}
} else {
// 首次加载或密钥未提交时显示表单
showSecretContentForm( $articleUrl,'', 'your-keyword');
}
function showSecretContentForm( $articleUrl, $keyword,$errorMessage = 'aa ',) {
echo '
<div class="gzhhide">
<div>![1102](二维码图片链接)</div>
<div class="gzhtitle">抱歉!隐藏内容,请输入密码后可见!<i class="fa fa-lock"></i><span></span></div>
<div class="gzh-content">请打开微信扫描右边的二维码回复关键字“<span><b>'.$keyword.'</b></span>”获取密码,也可以微信直接搜索“利熙创享”关注微信公众号获取密码。</div>
<div class="error">'.$errorMessage.'</div>
<div class="gzhbox">
<form action="'.$articleUrl.'" method="post">
<input id="pwbox" type="password" size="20" name="secret_key">
<button type="submit">立即提取</button>
</form>
</div>
</div>';
}
// 处理表单提交
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['secret_key'])) {
// 假设你已经有了某种方式存储或检查密钥
$secretKey = 'your-secret-key'; // 这里的密钥应该是你设定的真实密钥
if ($_POST['secret_key'] == $secretKey) {
echo '<div class="secret-password">这里是隐藏的内容</div>';
} else {
// 如果密钥错误,重新显示表单
showSecretContentForm('密码错误请重试。', 'your-keyword');
}
} else {
// 首次加载或密钥未提交时显示表单
showSecretContentForm( '请输入密码后可见', 'your-keyword');
}
function showSecretContentForm( $errorMessage,$articleUrl) {
echo '
<div class="gzhhide">
<div class="gzhtitle">隐藏内容</div>
<div class="error">'.$errorMessage.'</div>
<div class="gzhbox">
<form action="1.php" method="post">
<input id="pwbox" type="password" size="20" name="secret_key">
<button type="submit">立即提取</button>
</form>
</div>
</div>';
}
会话版本
<?php
session_start(); // 开始会话
// 定义一个函数来获取字符串(这里假设用于多语言支持或动态文本)
function getString($key) {
// 这里是一个简化的实现,实际应用中你可能需要从数据库或文件加载字符串
$strings = [
'hide' => 'Secret Content',
'hidedesc' => 'Enter the secret key to view the content.',
'hideerr' => 'Incorrect key. Please try again.'
];
return isset($strings[$key]) ? $strings[$key] : 'Unknown key';
}
// 处理表单提交
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['secret_key'])) {
$secretKey = 'anmosex'; // 这里的密钥应该是你设定的真实密钥
if ($_POST['secret_key'] == $secretKey) {
$_SESSION['is_authenticated'] = true; // 设置会话变量
echo '11111111看到的内容'; // 显示秘密内容
} else {
// 如果密钥错误,重新显示表单
unset($_SESSION['is_authenticated']); // 清除会话变量
showSecretContentForm(getString('hideerr'), 'your-keyword');
}
} else {
// 检查会话变量,如果已认证,则直接显示内容
if (isset($_SESSION['is_authenticated']) && $_SESSION['is_authenticated']) {
echo '看到的内容'; // 显示秘密内容
} else {
// 首次加载或密钥未提交且未认证时显示表单
showSecretContentForm(getString('hidedesc'), 'your-keyword');
}
}
function showSecretContentForm($errorMessage, $articleUrl) {
echo '
<div class="passhide mt-3">
<div class="hidetitle">'.getString('hide').'</div>
<div class="mb-2">'.$errorMessage.'</div>
<div class="hidebox">
<form method="post">
<input class="rounded-start" id="pwbox" type="password" size="20" name="secret_key">
<button class="rounded-end" type="submit">Enter</button>
</form>
</div>
</div>';
}
?>
声明:本站文章原创有部分资源来源于网络,如无特殊说明或标注。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系 admin@liitk.com 进行删除处理!。
评论(0)