Блог Wordpress, который я создаю, публикуется как журнал;в первый день каждого месяца несколько (девять, если быть точным) сообщений публикуются в быстрой последовательности.Когда читатель просматривает одно из этих девяти сообщений, остальные 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;
}
Параметр, переданный этой функции, является идентификатором отображаемой записи, поэтому мне нужно получить все остальные публикации, опубликованные в тот же месяц и год, что и просматриваемая запись.,Wordpress не генерирует никаких ошибок ни в одном из этих случаев (равно как и в PHP), но я просто получаю пустой набор результатов, и я не уверен, почему это так.Код довольно прост, но если я могу что-то прояснить, прокомментируйте и дайте мне знать.
О, и я попытался отрегулировать параметр 'numberposts
', и, похоже, это неэффект.Кроме того, каждый пост имеет ровно одну категорию.
Спасибо!