获取三个特定的wordpress帖子并随机输出

时间:2016-10-26 11:33:09

标签: php wordpress

我有这个wordpress get_posts参数:

    $arg = array(
        'orderby' => 'rand',
        'numberposts' => 1,
        'post_type' => 'dmd_berater',
        'post_name' => 'test1',
        'meta_query' => array(
            'key' => 'dmd_subject',
            'value' => 'Daten und Analysen',
            'compare' => 'LIKE'
        ),
    );
    $consultant_post = get_posts($arg); //contains ALL posts.

上面的代码包含所有帖子,但我只想要post_name'test1'的帖子。

这可能吗?怎么样?

如果我可以输出三个特定的帖子,应该会很棒。我认为应该使用数组?像:

'post_name' => array('test1', 'test2', 'test3'),
  1. 有人能找到我的问题吗?
  2. 阵列是否可能?

3 个答案:

答案 0 :(得分:1)

'post_name__in' => array('test1', 'test2', 'test3')

有关更多信息,请参阅the paramters section

答案 1 :(得分:0)

如果你想'test1'是帖子的slug,那么只使用'name'=> 'TEST1'。

- > here是链接

get_posts的返回值是一个数组

- > here

答案 2 :(得分:0)

您可以使用WP_QUERY()及其参数post_name__in

来完成此操作

根据DOCS

  

'post_name__in' - 保留post_name__in中给出的post slug命令   数组(自4.6版起可用)。

$arg   = array(
    'orderby'       => 'rand',
    'numberposts'   => 3,
    'post_type'     => 'dmd_berater',
    'post_name__in' => array('test1', 'test2', 'test3'),
    'meta_query'    => array(
        array(
            'key'     => 'dmd_subject',
            'value'   => 'Daten und Analysen',
            'compare' => 'LIKE'
        )
    ),
);
$query = new WP_Query($args);
if( $query->have_posts() ) :
    while($query->have_posts()) : $query->the_post();
        // Your loop code
    endwhile;
else :
    echo wpautop('Sorry, no posts were found');
endif;