使用WP_Query将一些帖子添加到TOP

时间:2014-10-20 12:40:20

标签: wordpress wordpress-plugin

我在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顶部发布一些重要帖子。

让我知道是否有人经历过它?

1 个答案:

答案 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_Querymeta_compare部分。也许你应该使用==!=