Я закодировал пользовательский архив для блога на основе Wordpress на основе отличного кода HERE.Наполнение пользовательского почтового архива WordPress Исключая определенные категории сообщений
В принципе, то, что он делает:
Но мне нужно найти способ фильтрации из архивов определенных должностей, которые подпадают под категории, которые не должны быть 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;