Validazione del modulo dei commenti
Come posso impostare le regole di validazione per il campo dei commenti?
Cambio il valore del nome/email/homepage del commentatore onmouseover e onblur (uso questo invece delle etichette - quindi se il campo è vuoto mostra "La tua email", "La tua homepage", ecc.). Il problema è che al momento dell'invio, invia questo testo nel campo homepage (poiché non ha validazione a differenza del campo email dove ricevi un errore se inserisci qualsiasi cosa tranne qualcosa@qualcosa.qualcosa).
Come potrei validare il campo homepage?

L'elaborazione dei commenti viene gestita nel file: wp-comments-post.php. Puoi utilizzare l'hook pre_comment_on_post
per validare i valori inseriti nei campi del modulo dei commenti.
function custom_validate_comment_url() {
if( !empty( $_POST['url'] ) && !preg_match( '\b(https?|ftp|file)://[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|]', $_POST['url'] ) // effettua qui la validazione dell'url (non sono un esperto di regex)
wp_die( __('Errore: inserisci un URL valido o lascia vuoto il campo homepage') );
}
add_action('pre_comment_on_post', 'custom_validate_comment_url');
Se desideri modificare un valore inviato, utilizza il filtro preprocess_comment
. Ad esempio:
function custom_change_comment_url( $commentdata ) {
if( $commentdata['comment_author_url'] == 'La tua homepage' )
$commentdata['comment_author_url'] = '';
return $commentdata;
}
add_filter('preprocess_comment', 'custom_change_comment_url');

Grazie! Quindi se voglio modificare un valore inviato durante la validazione, devo intervenire su quello? (L'obiettivo principale è che quando il campo comment_author_url viene inviato con il valore "dummy" "La tua homepage", venga modificato in un campo vuoto - così nessun link verrà visualizzato).
