TL; DR
Krótko mówiąc, wp_verify_nonce() używa tej wartości, ponieważ oczekuje jej jako pierwszego argumentu.
wp_verify_nonce() argumenty
wp_verify_nonce() otrzymuje 2 argumenty:
$nonce
$action
Wartość w ukrytym polu ( 'cabfd9e42d'w twoim przykładzie) reprezentuje $nonce.
Pierwszy argument jest nonce i pochodzi z żądania
W rzeczywistości wp_verify_nonce()muszą być używane w ten sposób:
// here I assume that the form is submitted using 'post' as method
$verify = wp_verify_nonce($_POST['message-send']);
Tak więc pierwszym przekazywanym argumentem wp_verify_nonce()jest dokładnie wartość obecna w ukrytym polu.
Drugi argument: wp_create_nonce()metoda
Jeśli chodzi o drugi argument, zależy to od sposobu budowania wartości nonce.
Np. Jeśli zrobiłeś:
<?php $nonce = wp_create_nonce( 'custom-action' ); ?>
<input type="hidden" name="message-send" value="<?php echo $nonce ?>" />
Następnie musisz zrobić:
$verify = wp_verify_nonce( $_POST['message-send'], 'custom-action' );
Tak więc drugi argument jest tym, co zostało użyte jako argument wp_create_nonce().
Drugi argument: wp_nonce_field()metoda
Jeśli utworzyłeś nonce używając wp_nonce_field():
wp_nonce_field( 'another_action', 'message-send' );
Następnie musisz zweryfikować nonce:
$verify = wp_verify_nonce( $_POST['message-send'], 'another_action' );
Tym razem akcja jest tym, co przekazano jako pierwszy argument wp_nonce_field().
Podsumować
Aby przekazać wp_verify_nonce()sprawdzanie poprawności, musisz przekazać 2 argumenty do funkcji, jeden to wartość w ukrytym polu nonce, drugi to akcja i zależy od tego, jak zbudowano wartość nonce.
$nonceTam też masz wartość - czek zwraca wartość false, jeśli$noncebrakuje wartości.