Ben yapıyorum Wordpress blog dergi gibi yayımlanır; Her ayın ilk günü, (tam olarak, dokuz) birçok mesaj peş peşe yayınlanmaktadır. Bir okuyucu bu dokuz mesajların birini gördüğünde, diğer 8 ileti kenar çubuğunda görünmelidir.
Ben bunu gerçekleştirmek için yazdım bir işlevi var, ama ben aşağıda anlatacağım bazı sorunlar yaşıyorum. İşte kod:
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;
}
Bu işleve geçirilen parametre görüntülenen yazının kimliği, yani sonrası izlendi olarak aynı ay ve yıl boyunca yayınlanan diğer mesajların tümünü almak gerekir. Wordpress (bu konuda ne yapar PHP) Bu herhangi bir herhangi bir hata yaratmaz, ama ben sadece bir boş sonuç kümesi almak ve neden olduğunu ben emin değilim. Kod oldukça basittir, ama ben bir şey açıklamak eğer, yorum ve bana haber ver.
Oh, ve ben 'numberposts' parametresini ayarlayarak denedim ve herhangi bir etkiye sahip görünmemektedir. Ayrıca, her yazının tam olarak bir kategori vardır.
Teşekkür ederiz!