Wordpress:跳过the_loop中的帖子或使用数组meta_keys查询

时间:2010-11-23 18:10:26

标签: wordpress loops

我的每个帖子都有一个meta_key,它是一个包含用户ID的数组。有没有办法只显示数组meta_key包含特定用户ID的帖子?

我没有找到在查询中应用这样的过滤器的任何方法,如果我在循环内跳过帖子,该函数没有显示足够的帖子。

3 个答案:

答案 0 :(得分:1)

你可以跳过循环内的帖子,但是运行你的查询所有帖子,只要你达到想要显示的帖子数量就停止/打破循环。

get_posts('numberposts = -1')删除了限制 - http://codex.wordpress.org/Template_Tags/get_posts 这种事情可能会破坏分页,所以这取决于你如何使用它。

您还可以尝试使用 $ meta_key和$ meta_value get_posts参数,但如果您将每个用户ID作为其自定义字段中的单个值,则它可能只适用于您。

像这样:

键:UserID,值:3

键:UserID,值:5

键:UserID,值:7

键:UserID,值:8

听起来像Wordpress的内置用户角色可能会更好。也许解释一下你的目标是什么?

答案 1 :(得分:0)

你尝试过这样的事吗?

$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;

答案 2 :(得分:0)

你可以尝试创建一个user_meta来存储他喜欢的帖子,你只是爆炸这个数组并在循环中显示所有这些帖子(可能是使用include参数)。