我已经设置了一个隐藏特定短代码内容的cookie。我使用URL(http://www.yourwebsite.com/?EmailSubscriber=true)来触发cookie并将其设置为" true"。特定代码工作正常,但需要重新加载才能使条件生效。
这是我的代码
if ($_GET['EmailSubscriber'] == 'true') {
setcookie('EmailSubscriber', 'true', time() + (86400 * 30 * 6), "/");
}
这些是我制作的短代码
function EmailSubscriber_function( $atts, $content = null ) {
$atts = shortcode_atts(
array(
'class' => '',
), $atts, 'EmailSubscriber' );
if(isset($_COOKIE['EmailSubscriber'])) {
return '<div id="emailSubscriber" style="padding:20px 0;"><div class="darkSec"><div class="cck tve_clearfix tve_empty_dropzone">' . do_shortcode($content) . '</div></div></div>';
}
}
add_shortcode( 'EmailSubscriber', 'EmailSubscriber_function' );
function EmailSubscriber_function( $atts, $content = null ) {
$atts = shortcode_atts(
array(
'class' => '',
), $atts, 'EmailSubscriber' );
if(isset($_COOKIE['EmailSubscriber'])) {
return '<div id="emailSubscriber" style="padding:20px 0;"><div class="darkSec"><div class="cck tve_clearfix tve_empty_dropzone">' . do_shortcode($content) . '</div></div></div>';
}
}
add_shortcode( 'EmailSubscriber', 'EmailSubscriber_function' );
我只需输入此网址http://www.yourwebsite.com/?EmailSubscriber=true,然后在第一次加载页面时触发条件并显示/隐藏必要的内容。
答案 0 :(得分:2)
如果您想立即使用cookie,您也可以使用会话进行检查,或者只是手动保存您的cookie:
if ($_GET['EmailSubscriber'] == 'true') {
setcookie('EmailSubscriber', 'true', time() + (86400 * 30 * 6), "/");
$_COOKIE["EmailSubscriber"] = 'true';
}
通过此操作$ _COOKIE [“EmailSubscriber”] ='true';你不会真的保存cookie,但是你的脚本会认为你这样做了。