Intereting Posts
Выбор сообщений старше, чем текущая временная отметка эпохи Unix Каков наилучший метод для освобождения опции, созданной с помощью API настроек? Confused by $ wpdb-> подготовить Проблема при создании пользовательской функции санитизации при загрузке видеофайлов Как сделать продукты без каких-либо затрат в woocommerce Настройка POST плагина WordPress Пользовательский тип сообщения, таксономия и панель администратора Разрешить члену иметь доступ только к настраиваемому типу сообщений. Разрешение редактировать только собственные записи Форма входа не сохраняет значения при неправильном входе в систему Правило перезаписи типа пользовательского сообщения WordPress соответствует всем страницам, возвращающим 404 Как проверить, является ли значение метаданных ложным для всех сообщений, а затем сделать что-то на основе этого Где найти изменения WordPress API для каждой выпущенной версии Использование класса $ wpdb для вывода последних комментариев по сети доступ к активному объекту Как реализовать различные цветовые схемы в ваших темах

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

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

$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 – это массив идентификаторов пользователя.