Intereting Posts
Настроить форму комментария Автоматическое переименование изображений на основе заголовка У меня есть страница, использующая довольно URL-адрес и подходящее ему правило mod_rewrite. Я ожидал, что он даст ошибку, но он работает. Зачем? База данных mysql без WordPress на новом сайте WordPress в многоузловой среде как опубликовать фид сообщений с определенным значением поля? Штрих-код триггера после нажатия кнопки отправки Меню WP Nav append to url Плагин: относительный URL-адрес изображений в другой папке, доступ к которой осуществляется в JS-файле Добавить атрибут для короткого кода динамически Каждое сообщение отображается дважды в моем пользовательском запросе …? Как я могу разместить простой html-файл через WordPress? (см. подробности) Возможности настройки стандартной галереи WordPress? Почему is_page_template () не добавляет класс body? Как остановить wordpress от ввода жестко закодированного стиля в вложениях изображений с надписями Есть ли хороший учебник для написания пользовательских форм регистрации, регистрации и восстановления пароля?

Получать комментарии только для определенных пользователей в файле шаблона

Чтобы возвращать комментарии для конкретного пользователя, я использую следующий код:

$arg = array('user_id' => $userID); $coms= get_comments( $arg ); 

Как я могу изменить аргументы этой функции, чтобы получать комментарии для группы пользователей (получать только комментарии для определенных 2 или 3 пользователей)?

Аргумент `user_id 'должен быть целым числом, я не могу найти способ передать массив.

Или я должен использовать PHP или SQL для достижения моей цели?

Ваше время и внимание к этой проблеме приветствуются.

Solutions Collecting From Web of "Получать комментарии только для определенных пользователей в файле шаблона"

Вы можете попробовать изменить запрос с помощью фильтра comments_clauses :

 $args = array( 'user_id' => 0 ); add_filter( 'comments_clauses', 'custom_comments_clauses'); $comments = get_comments( $args ); remove_filter( 'comments_clauses', 'custom_comments_clauses'); function custom_comments_clauses( $clauses ){ $clauses['where'] = str_replace( 'user_id = 0', 'user_id IN (1, 2, 3)', $clauses['where'] ); return $clauses; } 

Обновить:

Вы также можете добавить настраиваемый параметр my_user_ids к следующему запросу:

 $args = array( 'user_id' => 0, 'my_user_ids' => array(1,2,3) ); add_filter( 'comments_clauses', 'custom_comments_clauses', 99, 2 ); $comments = get_comments( $args ); remove_filter( 'comments_clauses', 'custom_comments_clauses', 99, 2 ); function custom_comments_clauses( $clauses, $query ){ if( isset( $query->query_vars['user_id'] ) && isset( $query->query_vars['my_user_ids'] ) ){ $user_id = $query->query_vars['user_id']; $user_ids = $query->query_vars['my_user_ids']; if( count( $user_ids ) > 0 ){ $from = sprintf( 'user_id = %d', $user_id ); $to = sprintf( 'user_id IN (%s)', join( ',', $user_ids ) ); $clauses['where'] = str_replace( $from, $to, $clauses['where'] ); } } return $clauses; } 

где $my_user_ids – это массив идентификаторов пользователя.