2013-12-19 2 views
0

사용자 정의 필드를 기반으로 게시물을 쿼리 한 다음 루프에 표시하려고합니다. 확인하고 코드와 다른 소스에 대한 코드를 두 번 확인했지만 쿼리가 여전히 작동하지 않는 것 같습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 필수로 내려 박탈Wordpress에서 사용자 정의 필드를 쿼리하는 방법은 무엇입니까?

, 내 코드는 다음과 같습니다

<?php 
    $args = array(
    'meta_key' => 'my_custom_field' 
); 
    $my_query = new WP_Query($args); 
?> 
<?php if ($my_query->have_posts()) { ?> 
    <p>Success, we have posts!!!</p> 
<?php } else { ?> 
    <p>Uh Oh, No posts!!!</p> 
<?php } ?> 

조건부 문을 통해 삭제하고 "오, 어, 어떤 게시물"을 반환하지 않습니다.

메타 데이터 테이블을 확인했으며 meta_key _my_custom_field이 포함 된 게시물이 있습니다. 내가 밑줄없이 선행해서 쿼리를 시도했다.

내가 뭘 잘못하고 있니? 내 사용자 정의 포스트 유형 "porfolio"에서 두 개의 사용자 정의 날짜 필드 사이의 날짜를 검색을 위해 이것을 사용

답변

1

, 난 당신이 비슷한 상황에 있다고 생각 :

$args = array(
        'post_type' => 'portfolio', 
        'posts_per_page' => '10', 
        'meta_query' => array(
             array('key' => 'portfolio_start_date', 'value' => data_to_db2($ricerca_data), 'compare' => '<=', 'type' => 'NUMERIC'), 
             array('key' => 'portfolio_end_date', 'value' => data_to_db2($ricerca_data), 'compare' => '>=', 'type' => 'NUMERIC') 
             ) 
       ); 
$the_query = new WP_Query($args); 
if ($the_query->have_posts()) { 
$post_count = wp_count_posts(); 
while ($the_query->have_posts()) { 

// DO WHAT YOU WANT 

} 

} 

내 조언은 $에 meta_query을 사용하는 것입니다 args 배열

+0

감사합니다 firegab, 나는이 접근법을 시도했지만 여전히 성공하지 못했습니다. meta_query를 삭제하고 예를 들어 검색어 만 표시하면 post_type이 함수는 예상 게시물을 반환합니다. 따라서 metake를 설정하거나 쿼리하는 방법에 오류가 있어야합니다. 이 디버깅하는 방법을 잘 모르겠습니다. 어떤 충고? –

+0

mysql 테이블 wp_postmeta 필드 결과가 올바르게 저장 되었습니까? – Firegab

+0

hi firegab, 예 올바르게 저장되었습니다. 난 그냥이 사용자 정의 필드와 함께 더 많은 게시물과 페이지를 만들려고했는데, 갑자기 쿼리가 작동합니다. 무엇이 바뀌 었는지 혼란 스럽지만 행복하다. 도와 주셔서 감사합니다 –

관련 문제