Как в Wordpress запретить оставлять комментарии под зарегистрированными именами пользователей?

В Wordpress есть форма, с помощью которой каждый незарегистрированный пользователь может оставить комментарии, введя имя/email и сайт.
Как запретить использовать имена в такой форме, которые используют имена зарегистрированных пользователей и общие (admin, root, guest и т.д.)?
Если есть какое то готовое решение буду благодарен или поподробней объясните как это сделать
  • Вопрос задан
  • 181 просмотр
Решения вопроса 1
V_A_B
@V_A_B
¯\_(ツ)_/¯
запрещаем Ваську:
add_action('init','vab_commentdata_chek');function vab_commentdata_chek($commentdata){	
		if(isset($_POST['author'])&&$_POST['author']=='Вася'){wp_die(__('Ты отфильтрован!','VAB'));}
	return $commentdata;}

зарегистрированные пользователи из базы:
add_action('init','vab_commentdata_chek');function vab_commentdata_chek($commentdata){
$users=get_users();
foreach($users as $q){
	if(isset($_POST['author'])&&$_POST['author']==get_the_author_meta('display_name',$q->ID)){wp_die(__('Ты отфильтрован!','VAB'));}
}
	return $commentdata;}

зарегистрированные пользователи из базы и Жорик:
add_action('init','vab_commentdata_chek');function vab_commentdata_chek($commentdata){
$users=get_users();
foreach($users as $q){
	if(isset($_POST['author'])&&$_POST['author']==get_the_author_meta('display_name',$q->ID)){wp_die(__('Ты отфильтрован!','VAB'));}
}
	if(isset($_POST['author'])&&$_POST['author']=='Жорик'){wp_die(__('Ты отфильтрован!','VAB'));}		
	return $commentdata;}

посмотреть массив:
$users=get_users();
foreach($users as $q){
	echo get_the_author_meta('display_name',$q->ID).'<br />';
}

погуглите get_users и get_the_author_meta, если остались вопросы
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы