2016-10-26 5 views
0

は、私は、このワードプレスにget_posts引数ました:3つの特定のワードプレスの記事を取得し、ランダム出力

$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の」がポストをしたいです。

これは可能ですか?そしてどうやって?

私は3つの特定の投稿を出力することができます。私はそれが配列で動作するはずだと思いますか?同様に:

'post_name' => array('test1', 'test2', 'test3'), 
  1. 誰かが私の問題を見つけることができますか?
  2. アレイは可能ですか?
+0

'post_name'フィールドは、あなたが彼らのスラグで3件の投稿を取得したい確信しているスラグのために使用されていますか? – Noman

+0

現在のWPバージョンは何ですか? @cgee – Noman

答えて

1

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

以上の情報のためthe paramters sectionを参照してください。 (バージョン4.6以降で利用可能)post_name__in 配列で与えられた後のスラグの順序を保持 -

+0

正常に動作します。ありがとうございました。 – cgee

0

'test1'が投稿のスラッグである場合は、 'name' => 'test1'だけを使用します。

- >here get_postsのリンク

戻り値は、配列

です - >here

0

あなたがDOCS

'post_name__in' によるpost_name__in

WP_QUERY()とそのパラメータを使用してそれを行うことができます。

$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; 
関連する問題