2017-12-06 14 views
0

사용자 지정 필드를 사용자 지정 단문 코드에 연결하려고하면 단문 쇼가 선택한 사용자 지정 필드가있는 게시물 만 표시됩니다.사용자 정의 필드를 단축 코드에 연결하는 방법?

내 단축키는 내 맞춤 felid "flash_deal"입니다. 내가 단축 코드를 입력 할 때 나는 모든 퍽 psots와 custom field perk posts를 얻지 못했습니까?

add_shortcode('foundry_flash', 'shortcode_query_flash'); 
function shortcode_query_flash($atts, $content){ 
extract(shortcode_atts(array(// a few default values 
    'post_type' => 'perks', 
     'posts_per_page' => -1 , 
      'meta_query' => array(
      array(
       'key' => 'flash_deal', // name of custom field 
       'value' => '"yes"', // matches exactly "red" 
       'compare' => 'LIKE' 
      ) 
     ) 
), $atts)); 

답변

0

당신이 보여 코드는 단순히 변수를 설정하는 것입니다 - 모든에서 모든 쿼리를 실행하지 (extract documentation & shortcode_atts documentation 참조).

여기에 추가하지 않은 코드가 더 많을 것으로 예상되므로 문제를 일으키는 yes 주위의 큰 따옴표가 문제 일 가능성이 큽니다. 그것은 문자 그대로 "견적견적"찾고 있습니다.

사용자 지정 메타를 기반으로 "Parks"Post를 얻는 일반적인 작업 예는 you need to use WP_Query as in the docs here입니다.

$args = array(
    'post_type' => 'parks', 
    'posts_per_page' => -1, 
    'meta_query' => array(
     array(
      'key'  => 'flash_deal', 
      'value' => 'yes', 
      'compare' => 'LIKE', 
     ), 
    ), 
); 
$query = new WP_Query($args); 

그런 다음 Nested Loop setup to loop through the results을 사용하십시오.