2010-08-04 3 views
3

Это было задано на форумах WP, но ни один из решений не работал для меня, я сбросил постоянные ссылки и т. Д. Безрезультатно. Надеюсь, вы, ребята, ответили. Это моя настройка:Как разбивать страницы на пользовательские типы сообщений на WP?

У меня есть пользовательский тип сообщения, называемый ted_venue, и два шаблона, single-ted_venue.php (отдельные сведения о месте проведения) и page-venues.php (для отображения списка мест). Структура Permalink - site.com/venues/venue-slug для подробной информации о месте и сайте site.com/venues для списка мест.

Это код нумерации страниц в списке мест:

$paged = get_query_var('paged') ? get_query_var('paged') : 1; 
$wp_query = new WP_Query(array('post_type' => 'ted_venue', 
'paged' => $paged, 
'posts_per_page' => 30) 
); 

if ($wp_query->have_posts()): 

?> 

<ul> 
<?php while ($wp_query->have_posts()): $wp_query->the_post(); ?> 
... 

Затем в нижней части добавить несколько ссылок нумерации страниц. Если я перейду на сайт site.com/venues/page/2, это приведет к ошибке 404.

Затем, если я переустановить постоянные ссылки по умолчанию, а затем в текущее место, разбиение на страницы места проведения списка работает нормально, но детали одного места нет. Итак, в основном, когда разбиение на страницы работает, единственное место встречи не имеет и наоборот.

Кто-нибудь знает, что может произойти или, по крайней мере, вы можете указать мне статью или рабочий пример?

Спасибо!

ответ

4

Хорошо, вот почему он не работает:

Вы тянете в «выгружаемого» в то время как WordPress все еще думает, что это на статической странице, поэтому выгружаемого всегда будет 1. К сожалению, нет никакого способа, чтобы сделать то, что вы хотите сделать так, как вы делаете это прямо сейчас, но есть и другие решения.

В основном можно устранить это двумя способами: во-первых, вы можете переопределить правила перезаписи, которые генерирует ваш тип сообщения (это лучший способ, но также и самый сложный процесс, и он будет включать в себя дни работы, просто выясняя, как механизм перезаписи действительно работает). Второй способ (легкий путь, который также случается работать отлично, но только не обязательно является лучшим способом) является использование Matt Wiebe код с «Smarter ТАМОЖЕННЫЙ ПОСТ типы» здесь:

http://somadesign.ca/projects/smarter-custom-post-types/

+0

Спасибо, миллиард, Джон! – Nacho

0

Попробуйте добавить 'order_by' => 'menu_order', так как это единственная разница, которую я вижу с вашим кодом и others who have custom post pagination working (second post).

+0

Это не в любом случае, и это не должно, поскольку это просто параметр порядка. Пока не повезло ... – Nacho

+0

oops - это '' orderby'', а не '' order_by' ', и если это не сработает, извините, я в тупике. – john010117

Смежные вопросы