Intereting Posts
Удалить сообщение Ссылка для удаления сообщения, его мета и вложений проблемы с get_post_meta (и сохранение) гибкие переписывающие URL-адреса с WordPress Справка по иерархии шаблонов Woocommerce показывает изображения размытыми на странице описания Меню здания из категорий продуктов Woocommerce Формы ниндзя получают настройки, возвращает все настройки, а не только выбранные Поиск пользовательских типов сообщений в WordPress get_template_part () не срабатывает внутри оператора switch, когда у шаблона есть новый WP_Query Расширение WC_Cart в woocommerce Как читать каталог отдельных пользователей и отображать контент для этого конкретного пользователя? Мультисайты с разными доменами Показать объявления определенной категории на главной странице системы Genesis Как загрузить несколько изображений в интерфейсе в галерею ACF с помощью update_field Отключить сжатие gpress wordpress?

Пейджинг в будущем почтовом цикле?

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

<?php $args = array( 'post_type' => 'program', 'paged' => get_query_var('paged') ? get_query_var('paged') : 1, 'posts_per_page' => 1, 'post_status' => "future", 'order_by' => 'date', 'order' => 'ASC' ); $program = new WP_Query; $program->query( $args ); if($program->have_posts()): while($program->have_posts()): $program->the_post(); ?> //The content loop <?php endwhile; ?> <div><?php previous_posts_link('&laquo; Previous'); ?></div> <div><?php next_posts_link('More &raquo;'); ?></div> <?php endif; ?> <?php wp_reset_query(); ?> 

Обновить дополнительную информацию

Я установил, что $ program-> max_num_pages всегда отображает правильное количество страниц, поэтому, используя аргумент offset для WP_Query , я смог WP_Query собственный пейджинг. Но похоже, что он просит неприятностей !!


Обновить дополнительную информацию

Я предпринял довольно решительный шаг по расширению объекта WP_Query. Это действительно на самом верху, но я должен сделать эту работу:

 class MF_Query extends WP_Query{ function __construct(array $args){ if(!array_key_exists('posts_per_page',$args)) $args['posts_per_page'] = 10; $args['offset'] = (isset($_GET['page'])?($_GET['page']-1)*$args['posts_per_page']:0); parent::query($args); } function mf_next_page($link_text = "Next"){ $curPage = intval((isset($_GET['page'])?$_GET['page']:1));//Use 1 if $_GET['page'] not set $link = "<a href='".remove_post_vars(curPageURL()); if($curPage<$this->max_num_pages){ return $link.constructQuery($this->merge(array("page"=>$curPage+1),$_GET))."'>".$link_text."</a>"; } else { return false; } } function mf_prev_page($link_text = "Prev"){ $curPage = (isset($_GET['page'])?$_GET['page']:1);//Use 1 if $_GET['page'] not set $link = "<a href='".remove_post_vars(curPageURL()); if($curPage>1){ return $link.$this->constructQuery($this->merge(array("page"=>$curPage-1),$_GET))."'>$link_text</a>"; } else { return false; } } private function constructQuery(array $query){ $url_ext = "?"; foreach($query as $k => $v){ $url_ext .=$k."=".$v."&amp;"; } $url_ext = substr($url_ext, 0, -5);//chop last ampersand off return $url_ext; } private function merge($get, $put){ //Get values from one array, and put them in another (overriding existing values if appropriate) foreach ($get as $k => $v){ $put[$k]=$v; } return $put; } } 

Solutions Collecting From Web of "Пейджинг в будущем почтовом цикле?"

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

Вы можете использовать фильтр в get_adjacent_post() (который используется внутренне этими следующими / предыдущими функциями), чтобы изменить запрос и избавиться от опубликованного только ограничения.