2016-06-27 5 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);에 카테고리의 번호가 표시되지 않습니다.

이 구문이 올바른가요? 누군가 내가 잘못하고있는 것을 지적 할 수 있습니까?

+0

당신이 명확하게 질문이 무엇인지 질문의 몸에 명시 할 수 https://developer.wordpress.org/reference/functions/get_the_category/? –

+0

죄송합니다. 질문이 업데이트되었습니다. 이제 업데이트됩니다. 제발 downvote하지 마십시오. – GauchoCode

+0

아니요, 문제가 있습니다. 그리고 네, 배열 구문이 정확합니다. 'this is not working'도 지정하십시오. 뭐라구? –

답변

0

Wordpress 문서화 된 패턴의 선을 따라 뭔가를 시도해보십시오. 아래의 코드는 고려 가치가있을 수도 있습니다 :

<?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')이 작동합니다 생각하지 않는다 - 그것은 기본 워드 프레스의 기능이 아니다.

카테고리를 원하는 게시물의 게시물 ID를 가져 와서 $ post_ID에 저장하십시오. 그러면 다음을 사용할 수 있습니다 :

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

그러면 $ args가 작동합니다.

참조 :

관련 문제