wp_nonce_url()

Добавляет значение одноразового ключа в URL в качестве $_GET-параметра. Перед тем, как вернуть URL, очищает результат функцией esc_html(), а значит, преобразует символы & в &.

Читайте, что такое одноразовые числа (nonces) и для чего они нужны в этом уроке.

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 );

Источник: Блог Миши Рудрастых

Миша Рудрастых

Путешествует по миру и рассказывает всем о WordPress лично, у себя в блогах и на курсах в Санкт-Петербурге. Умеет просто объяснять сложные вещи, делает это красиво. Организовывает неплохие WordCamp's, но совсем не умеет слушать чужие доклады.

Добавить комментарий

%d такие блоггеры, как: