Странная нумерация страниц 404 с пользовательским типом записи - PullRequest
0 голосов
/ 23 февраля 2012

У меня действительно странная проблема при попытке разбить страницы пользовательских типов постов на странице их архивов, я создал собственный тип поста с именем property и установил страницу архива с именем properties, чтобы показать их все.

Поэтому внутри моего archive-property.php файла добавлена ​​форма (метод GET) с раскрывающимся списком, чтобы пользователи могли установить, сколько сообщений они хотят отображать на странице, это выглядит так:

<select name="prop_number" id="prop_number">
    <option value="12">12</option>
    <option value="25">25</option>
    <option value="50">50</option>
</select>

Итак, прежде чем все, что я делаю:

if (isset($_GET)) {

    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

    $query_args = array(
        'post_type'      => 'property',
        'paged'          => $paged,
        'posts_per_page' => 12 // Default number of properties per page
    );

    // Custom number properties per page
    if (isset($_GET['prop_number']) && !empty($_GET['prop_number'])) {
        $query_args['posts_per_page'] = $_GET['prop_number'];
    }
}

query_posts($query_args); 

// Do loop and other stuff

Работает нормально, но когда я использую next_posts_link(), чтобы попасть на вторую страницу, я получаю ошибку 404 страницы не найдена, однако, если я иду в свою админ-панель WP иустановите для параметра «Показывать страницы блога самое большее» то же число, которое требуется для каждой страницы в моем поле выбора (например, я вручную установил 25 в поле «Показывать страницы блога не более» и выбрал 25 в поле выбора prop_number).работает нормально.

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

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

Может кто-нибудь сказать мне, что не так?Заранее спасибо!

1 Ответ

0 голосов
/ 18 октября 2012

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

С http://codex.wordpress.org/Rewrite_API/flush_rules:

//Ensure the $wp_rewrite global is loaded
global $wp_rewrite;
//Call flush_rules() as a method of the $wp_rewrite object
$wp_rewrite->flush_rules();

Поместите это в файл functions.php, обновите страницу и посмотрите, решит ли это вашу проблему. Это было для меня в прошлом, когда у меня было 404 номера для нумерации страниц.

ПРИМЕЧАНИЕ: после того как вы удалили постоянные ссылки, не забудьте стереть эти две строки (см. Выше), так как вам не нужно или вы хотите, чтобы они выполнялись каждый раз, когда запрашивается страница - это нужно только сделать один раз. (Все это действие может совпадать или не совпадать с переходом на страницу Постоянные ссылки в консоли администратора.)

...