Ca deținător de blog cu vechime (am împlinit vreo trei ani acum o săptămână; să-mi trăiască, mulțumesc) am fost întotdeauna enervat la maxim de acei comentatori ce completează field-ul URL razna.
O singură dată am încercat să elimin chestia asta, apelând la bunul simț comentatorilor. N-a fost să fie… Și dacă tot am făcut o temă WP de curând, am implementat treaba asta în functions.php
:
add_filter('pre_comment_author_url', 'ntz_url_check'); function ntz_url_check($url_submited){ if(is_user_logged_in()) { global $current_user; get_currentuserinfo(); if($current_user->wp_user_level == 10) { return $url_submited; } } $url_match = '~^(?:https?://)?(?:[\w]+\.)(?:\.?[\w]{2,})+$~'; $url = parse_url(str_replace('www.', '', $url_submited)); // ================================================= // = Domenii interzise in url-urile comentatorilor = // ================================================= $forbidden_urls = array('google.com', 'iamntz.com', 'google.ro'); return ( (!preg_match($url_match, $url_submited) || in_array($url['host'], $forbidden_urls) ) ? '' : $url_submited ); }
Pui în array domeniile nedorite (fără www sau http; adaugă WP treburile astea) și aia e. Dacă userul este administrator, poate avea orice url. Cu wp_user_level
alegi ce useri pot avea liber la orice link-uri.