Wordpress: пропустить сообщения в the_loop или запрос с массивом meta_keys - PullRequest
0 голосов
/ 23 ноября 2010

Каждый из моих постов имеет мета-ключ, который представляет собой массив с идентификаторами пользователей. Есть ли способ отображения только сообщений, чей массив meta_key содержит определенный идентификатор пользователя?

Я не нашел способа применить такой фильтр в запросе, и если я пропускаю посты внутри цикла, функция не показывает достаточно постов.

Ответы [ 3 ]

1 голос
/ 24 ноября 2010

Вы можете пропустить посты внутри цикла, как и вы, но выполнить запрос на ВСЕ посты и просто остановить / прервать цикл, как только вы достигнете количества постов, которое вы хотите отобразить.

get_posts ('numberposts = -1') снимает ограничение - http://codex.wordpress.org/Template_Tags/get_posts Подобные вещи могут сломать пейджинг, однако это зависит от того, как вы будете его использовать.

Вы также можете попробовать параметр $ meta_key и $ meta_value get_posts, но он, вероятно, будет работать только для вас, если у вас есть каждый идентификатор пользователя как отдельное значение в его собственном настраиваемом поле.

Вроде так:

Ключ: идентификатор пользователя, значение: 3

Ключ: идентификатор пользователя, значение: 5

Ключ: идентификатор пользователя, значение: 7

Ключ: идентификатор пользователя, значение: 8

Звучит так, что встроенные пользовательские роли Wordpress могут быть лучше. Возможно, объясните, какова ваша цель?

0 голосов
/ 09 февраля 2011

Вы можете попытаться создать user_meta, в котором хранятся понравившиеся ему сообщения, так что вы просто взрываете этот массив и показывает все эти сообщения в цикле (возможно, используете параметр include).

0 голосов
/ 24 ноября 2010

Вы пробовали что-то подобное?

$temp_store_query = $wp_query;
$wp_query = NULL;
$quer_y = 'meta_key=your_meta_key&meta_value=some_user_ID';
$wp_query = new WP_Query( $quer_y );

while( $wp_query->have_posts() ) : $wp_query->the_post();
// ...do whatever is needed here
endwhile; 

$wp_query = NULL; 
$wp_query = $temp_store_query;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...