我的Wordpress首页包含一篇精选文章(在一个方框内设计)和一个最近的帖子列表(单独设置样式)。我想使用Wordpress循环显示这些最近的帖子,不包括精选帖子。排除特定类别或标签很容易实现,但在我的情况下,我想要排除带有自定义字段的帖子。精选帖子有一个自定义字段,其名称和值为:featured = yes。
如何在不使用插件的情况下实现此目的?
答案 0 :(得分:2)
您可以使用meta_query
参数,如http://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters
类似的东西:
$args = array(
'post_type' => 'any',
'meta_query' => array(
array(
'key' => 'featured',
'value' => 'yes',
'compare' => 'NOT LIKE'
)
)
);
$query = new WP_Query( $args );
答案 1 :(得分:0)
$args = array(
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'featured',
'value' => 'yes',
'compare' => '='
),
));
$ids = array();
$query = new WP_Query($args); // fetching posts having featured = yes
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
$ids[] = $post->ID; // building array of post ids
}
}
$args = array( 'post__not_in' =>$ids); // excluding featured posts from loop
query_posts($args);
while (have_posts()) : the_post();
// rest of the code