【问题标题】:WordPress cookie not workingWordPress cookie 不工作
【发布时间】:2018-10-16 04:01:28
【问题描述】:

你好

我正在设计一个 wordpress 插件,我想使用一个 cookie。 这是我的代码:

<?PHP
/**
 * Plugin Name: COOKIEss

function foobar_func( $atts ){

function set_user_cookie() {
    $school = "Some Value";
   setcookie("sevisitor", 1, time()+3600, "/", ".domain.com");


}
add_action( 'init', 'set_user_cookie');

}



add_shortcode( 'foobar', 'foobar_func' );
function foobar_funcs( $atts ){
	echo $_COOKIE['sevisitor']; 

}
add_shortcode( 'ss', 'foobar_funcs' );
我已经复制并粘贴了所有内容,因此我确保一切正常!但它仍然无法正常工作,我不知道为什么。 同样对于标题,我得到 bool(false)。我使用了 wp_debug,它告诉我 sevisitor 没有定义! 请帮忙!! 谢谢 最好的祝福

【问题讨论】:

    标签: wordpress cookies plugins


    【解决方案1】:

    短代码必须 return 不能回显变量,否则不会显示任何内容。请改用此代码,最好在访问之前检查是否设置了 cookie。

    function set_user_cookie() {
        setcookie( 'sevisitor', true, current_time('timestamp') + HOUR_IN_SECONDS, COOKIEPATH, COOKIE_DOMAIN );
    }
    
    add_action( 'init', 'set_user_cookie');
    
    add_shortcode( 'foobar', 'foobar_func' );
    
    function foobar_func() {
        if( isset( $_COOKIE['sevisitor'] ) )
            return $_COOKIE['sevisitor']; 
    }
    
    //To show the value of the cookie use this function in your php template file
    
    echo do_shortcode( '[foobar]' );
    

    【讨论】:

    • 您好,先生!我有一个新问题。在我做了很多其他修改后,我的 setcookie 不再工作了。
    • 能否请您检查一下包含我的新代码的新问题?
    • @MAHDI 新问题的链接是什么?
    猜你喜欢
    • 2016-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-22
    • 2012-04-29
    • 2012-11-07
    • 1970-01-01
    • 2015-03-06
    相关资源
    最近更新 更多