2014-07-19 1 views
0

나는 자료를 표시하고 필터링하는 것에 대해 wordpress에서이 문제에 대한 도움이 정말로 필요합니다. 나는이 양식에 html을 가지고 있으므로 처음에는 두 개의 드롭 다운 목록 (DDL)이 있으며, 게시물의 날짜와 관련하여 채워 져야합니다. 첫 번째 DDL에는 모든 게시물이 포함되어야하고 두 번째 DDL에는 게시물의 모든 달이 포함되어야합니다.

<select name="month"> 
    <option value="2001"> 2001</option>                   
    <option value="2002"> 2002</option>                   
    <option value="2003"> 2003</option>                  
    <option value="2004"> 2004</option>                   
    <option value="2005"> 2005</option>                  
    <option value="2006"> 2006</option>                   
    <option value="2008"> 2008</option>                    
    <option value="2000"> 2000</option>            
</select> 



<select name="month"> 
     <option value="January"> 01 </option>                   
     <option value="Feburary"> 02 </option>                   
     <option value="March"> 03 </option>                  
     <option value="April"> 04 </option>                   
     <option value="June"> 06 </option>                  
     <option value="July"> 07 </option>                   
     <option value="August"> 08 </option>                    
     <option value="December"> 12 </option>            
    </select> 

이제 DDL, 월 및 연도를 선택하여 게시물을 표시해야합니다. while 루프 모든 게시물을 표시하는 동안 사용하고 있습니다. 이런 식으로 뭔가가 :

<?php 
    $posts_per_row = 3; 
    $posts_per_page = 6; 
    $category_name = 'music'; 
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
    $args = array(
     'category_name' => $category_name, 
     'posts_per_page' => $posts_per_page, 
     'paged' => $paged, 
    ); 
    query_posts($args); 
    if (have_posts()) { 
     while (have_posts()) { 
     the_post(); 
     .... 
    } 
} else { 
    ....      
} 
?>   

템플릿은 functions.php

답변

1

당신은 query_posts()yearmonthnum 인수를 사용하여 게시 월/년을 기준으로 게시물을 표시 할 수있는 페이지 매김 기능을 가지고 있습니다.

// you have "month" in your HTML instead of "year" 
$year = $_POST['year']; 
$month = $_POST['month']; 
$args = array(
    'category_name' => $category_name, 
    'posts_per_page' => $posts_per_page, 
    'year' => $year, 
    'monthnum' => $month, 
    'paged' => $paged, 
); 
+0

http://codex.wordpress.org/Function_Reference/query_posts이 솔루션 주셔서 감사합니다, 그것은 노력하고 있지만, 2014 년 이전의 POST 메서드에서는 그 해에 게시물이 있어도 홈페이지로 리디렉션됩니다. 이 문제가 지금 어디 있는지 나는 모른다! !!!! –

0

쿼리 인수에 year 및 monthnum 특성을 사용할 수 있습니다. 이처럼

:

$posts_per_row = 3; 
$posts_per_page = 6; 
$category_name = 'music'; 
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
$args = array(
    'category_name' => $category_name, 
    'posts_per_page' => $posts_per_page, 
    'paged' => $paged 
); 
if(isset($_POST['year'])){ 
    $args['year'] = $_POST['year']; 
} 
if(isset($_POST['month'])){ 
    $args['monthnum']= $_POST['month']; 
} 

query_posts($args); 
if (have_posts()) { 
    while (have_posts()) { 
    the_post(); 
    .... 
} 

하고 "달"에서 값을 변경 :

<select name="month"> 
     <option value="01"> 01 </option>                   
     <option value="02"> 02 </option>                                    
     ...                   
     <option value="12"> 12 </option>            
</select> 
여기

더 많은 정보 :

+0

해답을 제공해 주셔서 감사합니다. 그러나 2014 년 이전의 POST 방법에서는 그 해에도 게시물이 있어도 홈페이지로 리디렉션됩니다. 이 문제가 지금 어디 있는지 나는 모른다! !!!! –