2011-09-21 2 views
3

카테고리 아카이브에서 wp_query를 사용하여 meta_query를 사용하여 특정 메타 값이있는 게시물을 무시할 수 있습니다.Wordpress - 카테고리 아카이브에서 wp_query를 사용하십시오 - 적절한 카테고리를 표시하는 방법은 무엇입니까?

문제는 wp_query를 사용하기 때문에 현재보고있는 범주를 무시하고 모든 범주를 표시하는 것입니다.

사용자가보고있는 범주 (URL에 정의 된대로)를 검색하여 wp_query 인수 배열에 삽입하는 방법이 있습니까?

나는 this suggested solution on stack overflow을 보았지만 기본 루프가 사용되지 않을 때보다 간단한 방법이 있어야합니다. wordpress는 자동으로 올바른 카테고리를 표시합니다. 현재

코드 :

$query = array(
'meta_query' => array(
     array(
      'key' => 'Display', 
      'value' => 'Yes', 
     ) 
    ), 
    'paged'=> $paged 
); 

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
$pageposts = new WP_Query($query); 

if ($pageposts): 
while ($pageposts->have_posts()) : $pageposts->the_post(); 

답변

4

음,이 (변수를 설정하는 single_cat_title 사용) 난 내 자신에 가지고 올 수있는 최고의 솔루션입니다 :

$currentCategory = single_cat_title("", false); 

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
$query = array(
    'category_name' => $currentCategory, 

    'paged'=> $paged, 
    'posts_per_page' => '15' 
); 
$pageposts = new WP_Query($query); 
1

나는 이것이 실현 늙었지만 같은 문제가있었습니다. 내 범주 아카이브를 위해 생각해 낸 것과 비슷한 방법을 사용했지만 WP Query를 search.php에도 사용해야하므로 솔루션을 찾을 수있었습니다. 워드 프레스 사본 검색의 원래 쿼리를 보존 할 수있는 방법을 가지고 있으며,뿐만 아니라 카테고리 아카이브를 위해 작동하는 것 같다 :

<?php 
global $query_string; 

$query_args = explode("&", $query_string); 
$search_query = array(); 

foreach($query_args as $key => $string) { 
    $query_split = explode("=", $string); 
    $search_query[$query_split[0]] = urldecode($query_split[1]); 
} // foreach 

$search = new WP_Query($search_query); 
?> 

http://codex.wordpress.org/Creating_a_Search_Page#Preserving_Search_Page_Results_and_Pagination

는 당신이 필요로하는 인수를 추가 할 수 있어야한다 잘 가라.

관련 문제