2010-08-19 1 views
0

내가 만들고있는 Wordpress 블로그는 잡지처럼 게시됩니다. 매월 첫날, 여러 (9 개의 정확한) 게시물이 빠른 연속으로 게시됩니다. 독자가이 9 개의 게시물 중 하나를 볼 때 다른 8 개의 게시물이 사이드 바에 나타나야합니다.사이드 바를 표시 할 때 같은 달과 년의 모든 게시물 가져 오기

이 작업을 수행하기 위해 작성한 기능이 있지만 아래에서 설명 할 몇 가지 문제가 있습니다. 여기 코드는 다음과 같습니다

function getSidebarPosts($post_id){ 
    $ret = array(); 
    $parent = get_post($post_id, ARRAY_A); 
    $sdate = strtotime($parent['post_date']); 
    $month = date('m',$sdate); 
    $year = date('Y',$sdate); 

    $sargs = array(
     'monthnum'=>$month, 
     'year'=>$year, 
     'numberposts'=>9 
    ); 
    $sposts = get_posts($sargs); 
    foreach($sposts as $p){ 
     setup_postdata($p); 
     $id = get_the_ID(); 
     if($id == $post_id){ continue; } 
     $link = get_permalink($id); 
     $title = get_the_title(); 
     $cats = wp_get_post_categories($id); 
     $cat = get_category($cats[0]); 
     $o = '<li><span>'.$cat->name.'</span> '; 
     $o .= '<a href="'.$link.'">'.$title.'</a></li>'; 
     $ret[] = $o; 
    } 
    return $ret; 
} 

이 함수에 전달 된 매개 변수는 게시물의 ID가 표시되고, 그래서 포스트가보고있는 같은 달과 해에 발표 된 다른 모든 게시물을 검색 할 필요가있다. Wordpress는이 문제에 대해 어떠한 오류도 발생시키지 않습니다 (PHP는 그 문제에 대해서도 마찬가지입니다). 그러나 단순히 빈 결과 집합을 얻었고 그 이유가 확실하지 않습니다. 코드는 매우 간단하지만 아무 것도 명확히 할 수 있다면 주석을 달아서 알려줘.

아, 'numberposts'매개 변수를 조정 해 보았는데 아무 효과가없는 것 같습니다. 또한 각 게시물에는 정확히 하나의 카테고리가 있습니다.

감사합니다.

내가 더 이동하기 전에 이들의 결과를 살펴 것

답변

0

:

$parent = get_post($post_id, ARRAY_A); 
$sdate = strtotime($parent['post_date']); 

은 아마 당신은 테스트를 위해이 같은 작업을 수행 할 수 있습니다

function getSidebarPosts($post_id){ 
    $ret = array(); 
    $parent = get_post($post_id, ARRAY_A); 
    $sdate = strtotime($parent['post_date']); 
    $month = date('m',$sdate); 
    $year = date('Y',$sdate); 

    $ret[] = '<h3>Parent post:</h3>'; 
    $ret[] = print_r($parent, true); 
    $ret[] = '<h3>Post date:</h3>'; 
    $ret[] = $parent['post_date']; 
    $ret[] = '<h3>Post time:</h3>'; 
    $ret[] = $sdate; 
    $ret[] = '<h3>Post converted date:</h3>'; 
    $ret[] = date('Y-m-d g:i:s a', $sdate); 

    return $ret; 
} 

출력을 다시 신고 해주세요 :)

+0

게시일이 2 개월 전으로 되돌아 왔음을 알 수 있습니다.이 게시물을 'post_modified'로 변경하면 매력처럼 작동합니다. :) – inkedmn

관련 문제