2016-02-24 5 views
1

Когда я вошел в систему на своем сайте Wordpress, я вижу через инспектор Firebug, что у меня есть несколько сеансов.Удалить сеанс Wordpress после входа в систему

wordpress_fds6234hfdsf734ythgfg 
wordpress_logged_in_fdfds74326uyfd67 
icwp-wpsf 
wordpress_test_cookie 
NID  

я хочу, чтобы удалить:

wordpress_fds6234hfdsf734ythgfg 

который имеет путь:

/wp-admin 

, как я могу удалить эту сессию один раз я вошел в систему или как я могу избежать создания этой сессии? есть ли какие-либо идеи или способы сделать это возможным? Мне не нужно только его удалять, для меня достаточно, даже если я изменю его на что-то другое.

Я хочу сделать это динамически, потому что каждый раз, когда значение сеанса отличается!

+0

'снят с охраной ($ _ SESSION [ 'wordpress_fds6234hfdsf734ythgfg']);' –

+0

я обновил свой post..i хочет, чтобы сделать его dynamically..and, где я должен написать этот код? в каком файле? –

ответ

0

Этот код в пользовательский плагин должен сделать это:

function unset_login_undesired_session() { 
    unset($_SESSION['wordpress_fds6234hfdsf734ythgfg']); 
} 
add_action('wp_login', 'unset_login_undesired_session'); 
+0

Я использовал это в своем файле wordpress.php wordpress, но он не работает. –

+0

Я также создал плагин под папкой плагинов, но никаких результатов –

+0

Возможно, ваш код выполняется слишком рано. Попробуйте 'add_action ('wp_login', 'unset_login_undesired_session', 99);' чтобы выполнить его позже и сообщить здесь результат :) –

0

Чтобы удалить куки динамически, вы можете попробовать использовать preg_grep в сочетании с array_column:

if($found = preg_grep('/^wordpress_((?!_)\w)+$/', array_keys($COOKIE))) 
{ 
    unset($COOKIE[current($found)]); 
} 

Выше я использовать шаблон /^wordpress_((?!_)\w)+$/ которые соответствуют любому значению $COOKIE, начинающемуся с wordpress_ и сопровождаемому более чем одним символом символов (исключая нижний индекс): если вы знаете это имя ключа для удаления имеет всегда 21 символов после wordpress_, предлагаю заменить вышеуказанный шаблон /^wordpress_((?!_)\w){21}$/.

Обратите внимание, что Wordpress не использует $ _SESSION,, поэтому вам необходимо проверить/установить массив $COOKIE.

Как разместить команду? Вы должны создать простой plugin и добавить действие к соответствующей задаче wp.

Хороший старт мог бы попытаться с init:

add_action('init', function() { 

    // Your code to match/delete cookie here 

}); 

Смежные вопросы