Опыт добавления Nonces в форму комментария
Мне было интересно, какое влияние на nonces будет на форму комментариев по умолчанию, которую имеет тема. Поскольку Nonces - это встроенная функция WordPress , я подумал о том, чтобы попробовать.
Кто-нибудь уже реализовал nonces в стандартной форме комментариев? (не могу себе представить, что я первый, кто думает об этом ...!)
Может кто-нибудь предложить уже существующий плагин, который выполняет задание, или предоставить фрагмент кода, который интегрирует WP Nonce Field в форму комментариев тем и проверяет его при отправке формы?
1 ответ
Я не сделал этого лично, но это было бы довольно легко. Если вы создаете свою форму комментариев вручную, как раз перед концом </form>
put:
<?php wp_nonce_field( 'comment_nonce' ) ?>
Затем просто подключитесь к действию pre_comment_on_post
, которое срабатывает при отправке комментария:
add_action( 'pre_comment_on_post', 'my_verify_comment_nonce' );
function my_verify_comment_nonce() {
check_admin_referer( 'comment_nonce' );
}
Если вы хотите просто подключиться к стандартной форме комментариев, которую использует Twenty Ten (comment_form()
), вы можете вместо этого перехватить код comment_form
примерно так:
add_action( 'comment_form', 'my_add_comment_nonce_to_form' );
function my_add_comment_nonce_to_form() {
wp_nonce_field( 'comment_nonce' );
}
Не тестировалось, поэтому дайте мне знать, если у вас есть какие-либо проблемы!