@eisenheim94

Почему wp_verify_nonce() не работает из функции?

Я создаю ссылку с wp_nonce в GET параметре:

$link = esc_url( wp_nonce_url( add_query_arg( 'my_arg', 1 ) , 'product_subscription' ) );
echo '<a href="'. $link .'">'. $link .'</a>';


И если я вставляю это просто в functions.php - оно работает
if(isset( $_GET['_wpnonce'] ) && wp_verify_nonce( $_GET['_wpnonce'], 'product_subscription' ) ) {
    echo "Nonce verified";
}


Но если я вставляю эту проверку в функцию
function check_subscription() { 
    echo "check_subscription";           
    if(isset( $_GET['_wpnonce'] ) && wp_verify_nonce( $_GET['_wpnonce'], 'product_subscription' ) ) {
        echo "Nonce verified";
    }                       
}

И затем вызываю эту функцию из любой страницы, оно не проходить проверку (isset проходит, wp_verify_none - нет). Функция вызывается 100%, т.к. текст "check subscription" выводит, а"Nonce verified" нет.
  • Вопрос задан
  • 464 просмотра
Пригласить эксперта
Ответы на вопрос 1
cesnokov
@cesnokov
<head>&nbsp;</head>
Попробуйте посмотреть результаты:
echo $_GET['_wpnonce'];
echo wp_verify_nonce( $_GET['_wpnonce'], 'product_subscription' );
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы