0

나는 메타 값 및 메타 키를 사용하여 제품을 표시하려고합니다. 아래 코드를 사용하여 meta_key 및 meta_value의 유효성을 검사합니다. 이제 값이 "yes_feat"인 meta_keys가없는 경우 제품이 인쇄되지 않습니다. 어느 쪽이 위대한가!메타 데이터 및 메타 값으로 제품을 받으십시오

값이 "yes_feat"인 meta_keys가있는 제품이 하나뿐이면 다른 모든 제품도 인쇄 할 수 있습니다. 어떻게

+0

WP_Query 인수에 메타 쿼리를 추가 할 작정 나는 meta_value "yes_feat"디스플레이

 $params = array( 'post_type' => 'product', 'meta_key' => '_featured', 'meta_value' => 'yes_feat', 'posts_per_page' => 5 ); $wc_query = new WP_Query($params); global $post, $product; if ($wc_query->have_posts()) { // i am only trying to print products with meta_value = yes_feat // but if the statement above is true it prints all products echo "print products that have meta_value = yes_feat"; } else { echo "nothing found"; } 

감사 그것 때문에 단지 제품을 만들 않습니다. 거기에 추가적인 요인이 없다면 모든 제품을 제공 할 수는 없습니다. 이 코드를 사용하여 마지막 쿼리를 have_posts 내부에 인쇄하고 여기에 결과를 붙여 넣습니다. $ i = 0; if ($ wc_query-> have_posts()) {$ i ++; if ($ i == 1) var_dump ($ wc_query-> query); } –

답변

0

당신의 코드가 확인 될 것으로 보인다

<?php 
$params = array(
    'post_type' => 'product', 
    'meta_query' => array(
     array('key' => '_featured', //meta key name here 
       'value' => 'yes_feat', 
       'compare' => '=', 
     ) 
    ), 
    'posts_per_page' => 5 

); 
$wc_query = new WP_Query($params); 
global $post, $product; 

if($wc_query->have_posts()) { 

    while($wc_query->have_posts()) { 

    $wc_query->the_post(); 

     $wc_query->post_name; 
     echo "print products that have meta_value = yes_feat"; 
     $yes_feat = get_post_meta($wc_query->ID, '_featured',true); 
    } // end while 

} // end if 
else 
{ 
    echo "nothing found"; 
} 

wp_reset_postdata(); 
?>