우수한 코드를 기반으로 Wordpress 기반 블로그 용 사용자 정의 아카이브 디스플레이를 코딩했습니다. HERE입니다.사용자 정의 워드 프레스 포스트 아카이브 채우기 특정 포스트 카테고리 제외
기본적으로, 그것은 무엇을 :
하지만 archiveable 안 범주에 속하는 아카이브 특정 게시물에서 필터링하는 방법을 찾아야합니다. 예를 들어 카테고리 "기타 아이디어"에 실제 게시물이 아닌 항목이있는 경우 블로그 소유자는 게시물 아카이브에서 해당 게시물을 사용할 수 없도록하려는 것입니다.
나는 계속 찾아 다녔으며 저에게 적합한 것을 찾을 수 없었습니다. 내 생각 엔 THIS 소스가 도움이 될지 모르지만 나는 물건을 시험해보고 저를 위해 뭔가를 얻을 수 없습니다. 그래서 너희들을 생각해. 어쩌면 당신은 아이디어를 가지고있을 것입니다 ...
저는 지금 당장 가지고있는 PHP 코드를 매우 간단합니다. 분명히 문제는 쿼리 자체에서 게시물을 필터링하는 것이지만 나에게 맞는 쿼리를 찾을 수없는 것 같습니다.
플러스/마이너스 특정 요구에 맞게하기 위해 내가 그것에했습니다 사소한 조작, 그것은 기본적으로 제공 여기에 첫 번째 소스에서 얻은 코드입니다 :
global $wpdb;
$limit = 0;
if(is_date()) {
$year_now = get_the_time('Y');
} else {
$year_now = date('Y');
}
$year_prev = null;
$months = $wpdb->get_results("SELECT DISTINCT MONTH(post_date) AS month , YEAR(post_date) AS year, COUNT(id) as post_count FROM $wpdb->posts WHERE post_status = 'publish' and post_date <= now() and post_type = 'post' GROUP BY month , year ORDER BY post_date DESC");
foreach($months as $month) :
$year_current = $month->year;
if ($year_current != $year_prev){
if ($year_prev != null){
// Do nothing
}
/* BREAK PHP HERE FOR SOME HTML */
<li class="archive-year"><a href="<?php bloginfo('url') ?>/<?php echo $month->year; ?>/"><?php echo $month->year; ?></a></li>
/* BACK ON REGULAR PHP */
}
if($year_current == $year_now) {
/* BREAK PHP HERE FOR SOME HTML */
<li class="archive-month"><a href="<?php bloginfo('url') ?>/<?php echo $month->year; ?>/<?php echo date("m", mktime(0, 0, 0, $month->month, 1, $month->year)) ?>"><span class="archive-month"><?php echo date_i18n("F", mktime(0, 0, 0, $month->month, 1, $month->year)) ?></span></a></li>
/* BACK ON REGULAR PHP */
}
$year_prev = $year_current;
endforeach;