2016-06-27 9 views
-3

カテゴリ番号(例では14)で変数を作成して、get_posts配列に渡したいとします。カテゴリIDを渡すカスタムフィールドを作成しました。PHP変数を配列に追加する方法は?

<?php 
$field = the_field('category_num'); 
$args = array('posts_per_page' => 200, 'order'=> 'DESC', 'category' => $field); 
$postslist = get_posts($args); 
foreach ($postslist as $post) : 
    setup_postdata($post); ?> 

これはWordpressを使用しています。

問題は、これが機能しないということです。基本的には:inside $ args、'category' => $ field);はカテゴリの番号IDを表示していません。

これは正しい構文ですか?誰かが間違って何をしているのか教えていただけますか?

+0

は、あなたは明らかにあなたの質問が何であるか、あなたの質問の本文では、状態もらえますか? –

+0

申し訳ありません質問が更新されました。更新されました。 downvoteをしないでください。 – GauchoCode

+0

いいえ、問題です。そして、はい、あなたの配列の構文が正しいです。 「これは動作していません」と指定してください。何ではないですか? –

答えて

0

Wordpress Documented Patternsの行に沿って何かを試してみるとよいでしょう。以下のコードは、検討する価値があるかもしれません:

<?php 

     global $post; // READY THE $post FOR USE IN THE setup_postdata() FUNCTION 

     $field  = the_field('category_num'); 
     $args  = array('numberposts' => 200, 'order'=> 'DESC', 'category' => $field); // NOTICE THE USE OF numberposts RATHER THAN posts_per_page 
     $postsList = get_posts($args); 

     foreach ($postsList as $post){ 
      setup_postdata($post); 
     } 
     wp_reset_postdata(); 
    ?> 
0

私はthe_field('category_num')がうまくいくとは思わない - それは、デフォルトのWordpressの機能ではありません。

カテゴリを希望する投稿の投稿IDを取得し、$ post_IDに保存します。次に、あなたは使用することができます:

$postcat = get_the_category($post_ID); 
$field = $postcat['cat_ID']; 

あなたの$ argsは動作するはずです。

参考:https://developer.wordpress.org/reference/functions/get_the_category/

関連する問題