Intereting Posts
Проблема автоматического обновления WordPress 3.0.1 Использование WP Rewrite для перезаписи пользовательских URL в этом сценарии Поиск нескольких мета-ключей одновременно Оптимизируйте запрос WordPress, который занимает 5 секунд, чтобы выполнить Почему формат перманентного месяца и имени не работает на моем новом сайте WordPress (работает на IIS7)? Предотвратить появление страницы setup-config.php, когда база данных хостов откуда этот $ post_id? Показать сообщения из категории по группам по годам Добавить пользовательские мета-поля при создании пользователя новый администратор сайта не может просматривать категории в wordpress multisite Получать самые повторяющиеся сообщения из поиска? CSS перестает работать после строки 150 Полностью отключить редактор Расширение пользовательского короткого кода, который также вызывается непосредственно из страниц PHP-страниц Не удается получить доступ к wp-admin

Выход из системы с помощью ссылки (без нее)

Этот вопрос исходит от абсолютного не-кодера – и его спрашивали в различных формах несколько раз (например, здесь ).

Чтобы правильно выйти из системы, URL-адрес, который запускает его, нуждается в unce, например:

HTTP: //xyz/wp-login.php действие = выход из системы & redirect_to = HTTP% 3A% 2F% 2Fwww.spiegel.de & _wpnonce = d9d1a28ef2

Мы можем получить nonce, как описано в кодексе. НО: что, если мне нужно вызвать выход из системы, используйте URL. Точнее: мой плагин CiviCRM имеет формы, которые люди могут заполнить и после завершения разрешить пользователю перенаправить куда-то еще -> например, выйти из системы и перейти на другую страницу. Я могу скопировать / вставить URL-адрес redirct в форме, такой как

HTTP: //xyz/wp-login.php действие = выход из системы & redirect_to = HTTP% 3A% 2F% 2Fwww.spiegel.de

-> как мне получить nonce, куда он должен идти – или есть альтернативы ???

Ура!

Solutions Collecting From Web of "Выход из системы с помощью ссылки (без нее)"

Это отключит проверку nonce для выхода из системы – на вашей голове:

add_action( 'login_form_logout', function () { $user = wp_get_current_user(); wp_logout(); if ( ! empty( $_REQUEST['redirect_to'] ) ) { $redirect_to = $requested_redirect_to = $_REQUEST['redirect_to']; } else { $redirect_to = 'wp-login.php?loggedout=true'; $requested_redirect_to = ''; } /** * Filters the log out redirect URL. * * @since 4.2.0 * * @param string $redirect_to The redirect destination URL. * @param string $requested_redirect_to The requested redirect destination URL passed as a parameter. * @param WP_User $user The WP_User object for the user that's logging out. */ $redirect_to = apply_filters( 'logout_redirect', $redirect_to, $requested_redirect_to, $user ); wp_safe_redirect( $redirect_to ); exit; });