Добавляет значение одноразового ключа в URL в качестве $_GET-параметра. Перед тем, как вернуть URL, очищает результат функцией esc_html(), а значит, преобразует символы &
в &
.
wp_nonce_url( $actionurl, $action = -1, $name = '_wpnonce' )
- $actionurl
- (строка) URL, к которому нужно добавить нонс-ключ.
- $action
- (строка|целое) Ключ, описывающий действие, на основе которого будет создано одноразовое число. Обратите внимание, что рекомендуется подробно описывать действие. Например, если вы хотите сохранить настройки определённого поста, то значение
$action
может быть например'save-post-' . $post_id
. - $name
- (строка) Название $_GET-параметра, которым будет добавлен нонс.
Примеры
На самом деле в описании функции wp_create_nonce() я использовал её для добавления параметра в URL. Предлагаю этот пример и переделать.
Итак, было:
$comment_id = 5; $url = add_query_arg( array( 'action' => 'delete-comment', 'comment_id' => $comment_id, 'nonce' => wp_create_nonce( 'delete-comment-' . $comment_id ) ), site_url( 'form.php' ) ); echo '<a href="' . $url . '">Удалить коммент</a>';
Стало:
$comment_id = 5; $url = wp_nonce_url( add_query_arg( // первый параметр – URL array( 'action' => 'delete-comment', 'comment_id' => $comment_id ), site_url( 'form.php' ) ), 'delete-comment-' . $comment_id, // второй параметр – экшен 'nonce' // третий параметр – в какой $_GET-параметр запишется одноразовое число ); echo '<a href="' . $url . '">Удалить коммент</a>';
Ну или вот ещё пример:
// допустим, у нас есть какой-то URL с двумя параметрами $url = 'http://localhost/?arg1=value1&arg2=value2'; // выведет http://localhost/?arg1=value1&arg2=value2&_wpnonce=abcdef echo wp_nonce_url( $url, 'action' ); // выведет http://localhost/?arg1=value1&arg2=value2&_wpnonce=abcdef echo add_query_arg( '_wpnonce', wp_create_nonce( 'action' ), $url );