Intereting Posts
Как заставить «пользователей регистрироваться и регистрироваться» на дочерних сайтах? Интервал в выдержке сделать массив в wordpress cusmization api? Странные iframes добавлены в wordpress 4.1 localhost Как удалить переходный процесс при публикации публикации / публикации? Как отобразить популярный пост и снова отображать другой набор популярного сообщения после того, как он появился, включая 1-й набор популярного сообщения? jQuery (селектор) против $ (селектор) Реплицировать сетевые плагины, не настраивая их для каждого дочернего сайта? Безопасны ли эти разрешения wp-content? Переписывать и настраивать тип сообщения: заказ по настраиваемому полю не работает Использование get_posts против WP_Query Добавьте редактор tinyMCE в Quick Edit для сообщений Как программно пустить мусор? get_the_term_list – Возвращает ссылки на edit.php вместо ссылки на шаблон архива таксономии Как упорядочить список терминов таксономии в алфавитном порядке?

Создание next_posts_link (); возвращение сообщений по месяцам

Я создаю сайт для журнала с использованием WP, и мне нужно отображать месяц сообщений за раз.

Как мне сделать next_posts_link (); и previous_posts_link (); функции возвращают результаты, shorted как один месяц на страницу?

Если я не смогу сделать это через эти функции, как бы сделать отображение главной страницы в режиме, подобном архиву?

Благодаря!

Вы должны изменить запрос, который выбирает сообщения для выбора по месяцам. Этот бит кода, помещенный в шаблон, получит номер страницы и вычитает это из текущего месяца.

<?php $page = get_query_var('paged') ? get_query_var('paged') : 1; $subtractor = $page-1; $date = date("Ymd H:i:s"); $current_month = date('n', strtotime($date.'-'.$subtractor.'months')); $current_year = date('Y', strtotime($date.'-'.$subtractor.'months')); query_posts("monthnum=$current_month&year=$current_year&order=DESC"); if (have_posts()) : while (have_posts()) : the_post(); // rest of the loop below 

В конечном счете, это, вероятно, лучше всего подключить к pre_get_posts, чтобы сохранить его вне шаблона.

Вам также придется создавать свои собственные ссылки на страницы, например:

 <?php if($page>1) echo '<a href="/page/'.($page-1).'/">next</a>'; echo '<a href="/page/'.($page+1).'/">prev</a>'; 

конечно, вам нужно было бы выяснить, как далеко назад публикуются сообщения, когда нужно прекратить предоставление ссылки на предыдущий месяц, хм …

Я не уверен, что это то, что вы ищете; однако это может помочь.

 <?php foreach (get_the_category() as $cat) { $arch_date_id = $cat->cat_ID; } global $post; $query = 'numberposts=-1&category=' . $arch_date_id . '&orderby=date&order=DESC'; $myposts = get_posts(); foreach($myposts as $post) { $year = get_the_time('Y'); $groups[] = $year; } $groups = array_values(array_unique($groups)); $qi = $groups[0]; $query = 'cat=' . $arch_date_id . '&year=' . $qi . '&orderby=date&order=DESC&posts_per_page=-1'; query_posts($query); echo '<h3>' . $qi . '</h3>'; while (have_posts()) : the_post(); ?> <? the_date('F j','<h3>','</h3>');?> <? the_title();?><br /> <? endwhile; ?> по <?php foreach (get_the_category() as $cat) { $arch_date_id = $cat->cat_ID; } global $post; $query = 'numberposts=-1&category=' . $arch_date_id . '&orderby=date&order=DESC'; $myposts = get_posts(); foreach($myposts as $post) { $year = get_the_time('Y'); $groups[] = $year; } $groups = array_values(array_unique($groups)); $qi = $groups[0]; $query = 'cat=' . $arch_date_id . '&year=' . $qi . '&orderby=date&order=DESC&posts_per_page=-1'; query_posts($query); echo '<h3>' . $qi . '</h3>'; while (have_posts()) : the_post(); ?> <? the_date('F j','<h3>','</h3>');?> <? the_title();?><br /> <? endwhile; ?>