我在post_type ="帖子"中有多少帖子。我想在一个页面上使用WP_query显示所有帖子,但这些帖子有customfield name =" pinned_to_top"应该首先进入循环,而没有此自定义字段的其他帖子将会关闭。
我曾尝试使用orderby,但我无法做到。
我正在使用此代码,但它只会向我发送包含自定义字段="固定"而非其他帖子的帖子。
$query = array(
'category_name' => 'blog',
'paged'=> $paged,
'meta_query' => array(
array(
'key' => 'pinned',
'value' => 'yes',
'compare' => 'OR',
),
),
'posts_per_page' => '10',
);
$wp_query = new WP_Query($query);
添加此自定义字段的主要动机是,我想在LOOP顶部发布一些重要帖子。
让我知道是否有人经历过它?
答案 0 :(得分:0)
我认为你应该像在手抄本中那样做。我没试过这个,但我认为某处会有解决方案......
$query = array(
'category_name' => 'blog',
'paged'=> $paged,
'meta_query' => array(
array(
'key' => 'pinned',
'value' => 'yes',
'compare' => 'IN',
),
array(
'key' => 'pinned',
'value' => 'yes',
'compare' => 'NOT IN',
),
),
'posts_per_page' => '10',
);
但在你的情况下需要先使用IN,而对于sencond则不是IN。 所以使用2个数组。
如果不起作用,请查看http://codex.wordpress.org/Class_Reference/WP_Query和meta_compare
部分。也许你应该使用==
和!=
。