내가 만들고있는 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
'매개 변수를 조정 해 보았는데 아무 효과가없는 것 같습니다. 또한 각 게시물에는 정확히 하나의 카테고리가 있습니다.
감사합니다.
내가 더 이동하기 전에 이들의 결과를 살펴 것
게시일이 2 개월 전으로 되돌아 왔음을 알 수 있습니다.이 게시물을 'post_modified'로 변경하면 매력처럼 작동합니다. :) – inkedmn