Файл cookie WordPress не работает - PullRequest
0 голосов
/ 06 мая 2018

Hello

Я разрабатываю плагин для WordPress и хочу использовать куки. Вот мой код:

<?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 не определен! Пожалуйста помоги!! Спасибо С наилучшими пожеланиями

1 Ответ

0 голосов
/ 06 мая 2018

Короткие коды должны возвращать , а не отображать переменную, иначе ничего не появится. Вместо этого используйте этот код, всегда полезно проверить, был ли установлен файл 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]' );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...