setcookie() 需要手动重新加载页面才能工作
setcookie() needs to manually reload the page to work
我设置了一个隐藏特定短代码内容的 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' );
我只需要输入这个 URL http://www.yourwebsite.com/?EmailSubscriber=true 然后当页面第一次加载时它触发条件和 show/hide 必要的内容。
如果您想立即使用 cookie,您也可以使用会话进行检查或手动保存您的 cookie:
if ($_GET['EmailSubscriber'] == 'true') {
setcookie('EmailSubscriber', 'true', time() + (86400 * 30 * 6), "/");
$_COOKIE["EmailSubscriber"] = 'true';
}
通过这个操作 $_COOKIE["EmailSubscriber"] = 'true';你不会真正保存 cookie,但你的脚本会认为你这样做了。
我设置了一个隐藏特定短代码内容的 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' );
我只需要输入这个 URL http://www.yourwebsite.com/?EmailSubscriber=true 然后当页面第一次加载时它触发条件和 show/hide 必要的内容。
如果您想立即使用 cookie,您也可以使用会话进行检查或手动保存您的 cookie:
if ($_GET['EmailSubscriber'] == 'true') {
setcookie('EmailSubscriber', 'true', time() + (86400 * 30 * 6), "/");
$_COOKIE["EmailSubscriber"] = 'true';
}
通过这个操作 $_COOKIE["EmailSubscriber"] = 'true';你不会真正保存 cookie,但你的脚本会认为你这样做了。