TL; DR
Короче говоря, wp_verify_nonce() использует это значение, потому что ожидает это значение в качестве первого аргумента.
wp_verify_nonce() аргументы
wp_verify_nonce() получает 2 аргумента:
$nonce
$action
Значение в скрытом поле ( 'cabfd9e42d'в вашем примере) представляет $nonce.
1-й аргумент - это одноразовый номер, полученный из запроса
На самом деле, wp_verify_nonce()должны быть использованы так:
// here I assume that the form is submitted using 'post' as method
$verify = wp_verify_nonce($_POST['message-send']);
Таким образом, первый передаваемый аргумент wp_verify_nonce()- это именно то значение, которое присутствует в скрытом поле.
2-й аргумент: wp_create_nonce()метод
Что касается второго аргумента, это зависит от того, как вы строите одноразовое значение.
Например, если вы сделали:
<?php $nonce = wp_create_nonce( 'custom-action' ); ?>
<input type="hidden" name="message-send" value="<?php echo $nonce ?>" />
Тогда вам нужно сделать:
$verify = wp_verify_nonce( $_POST['message-send'], 'custom-action' );
Итак, второй аргумент - это то, что использовалось в качестве аргумента wp_create_nonce().
2-й аргумент: wp_nonce_field()метод
Если вы создали одноразовый номер, используя wp_nonce_field()как:
wp_nonce_field( 'another_action', 'message-send' );
Затем вам нужно проверить одноразовый номер так:
$verify = wp_verify_nonce( $_POST['message-send'], 'another_action' );
Итак, на этот раз действие - это то, что передано в качестве первого аргумента wp_nonce_field().
резюмировать
Чтобы пройти wp_verify_nonce()валидацию, вам нужно передать 2 аргумента функции, один из которых - значение в скрытом поле nonce, другой - действие и зависит от того, как было создано значение nonce.
$nonceзначение - проверка возвращает false, если$nonceзначение отсутствует.