Validarea formularului de comentarii
Cum pot seta regulile de validare pentru câmpul de comentarii?
Schimb valoarea câmpurilor nume/e-mail/homepage la evenimentele onmouseover și onblur (folosesc asta în loc de etichete - astfel, dacă câmpul este gol, afișează "E-mailul tău", "Pagina ta de web", etc.). Problema este că la trimitere, se trimite acest text în câmpul homepage (deoarece nu are validare, spre deosebire de câmpul e-mail unde primești o eroare dacă introduci altceva decât ceva@ceva.ceva).
Cum aș putea valida câmpul homepage?

Procesarea comentariilor se face în fișierul: wp-comments-post.php. Puteți folosi hook-ul pre_comment_on_post
pentru a valida valorile introduse în câmpurile formularului de comentarii.
function custom_validate_comment_url() {
if( !empty( $_POST['url'] ) && !preg_match( '\b(https?|ftp|file)://[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|]', $_POST['url'] ) // aici faceți validarea URL-ului (nu sunt expert în regex)
wp_die( __('Eroare: vă rugăm să introduceți un URL valid sau să lăsați câmpul pentru pagină de start gol') );
}
add_action('pre_comment_on_post', 'custom_validate_comment_url');
dacă doriți să modificați o valoare trimisă, folosiți filtrul preprocess_comment
. De exemplu:
function custom_change_comment_url( $commentdata ) {
if( $commentdata['comment_author_url'] == 'Pagina ta de start' )
$commentdata['comment_author_url'] = '';
return $commentdata;
}
add_filter('preprocess_comment', 'custom_change_comment_url');

Mulțumesc! Deci dacă vreau să modific o valoare trimisă în timpul validării, trebuie să o schimb astfel? (Scopul principal este ca atunci când câmpul comment_author_url este trimis cu valoarea "dummy" "Pagina ta de acasă", să se schimbe într-un câmp gol - astfel încât să nu fie afișat niciun link).
