wp_nonce_url()

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 0

Добавляет значение одноразового ключа в 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 );
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии