我正在使用一个设置cookie的弹出插件。
我已将限制内容的内容限制在single.php中的cookie中,如下所示:
<?php if(isset($_COOKIE['pum-88881'])){
the_content();
}
else {
echo apply_filters( 'the_content', wp_trim_words( strip_tags( $post->post_content ), 55 ) ) . '<p>The full article is only available to subscribers to our newsletter.<a class="opensub">Subscribe to our Newsletter to Continue Reading</a></p>';
}
?>
此代码有效。当存在值为pum-88881的cookie时,将显示完整内容。唯一的问题是,它需要刷新。
所以,为了尝试解决这个问题,我一直试图用Javascript编写一个监听器:
function getCookie(c_name) {
var c_value = document.cookie,
c_start = c_value.indexOf(" " + c_name + "=");
if (c_start == -1) c_start = c_value.indexOf(c_name + "=");
if (c_start == -1) {
c_value = null;
} else {
c_start = c_value.indexOf("=", c_start) + 1;
var c_end = c_value.indexOf(";", c_start);
if (c_end == -1) {
c_end = c_value.length;
}
c_value = unescape(c_value.substring(c_start, c_end));
}
return c_value;
}
setTimeout(function(){
var username = getCookie("pum-88881");
if (username != "") {
}
else{
location.reload()
}
}, 1000);
它不起作用。控制台中没有消息。
你说什么?
答案 0 :(得分:1)
由于这与Popup Maker有关,我将在此处发布。假设你在关闭时设置cookie,你会使用类似的东西。
jQuery('#pum-88881').on('pumAfterClose', function () {
window.location.reload(true);
});