Ссылки на страницы WordPress возвращают ошибку 404 для пользовательских типов сообщений (только)?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Ссылки на страницы WordPress возвращают ошибку 404 для пользовательских типов сообщений (только)?

Сообщение Anonymous »

Когда я нажимаю ссылку на нумерацию страниц в моем пользовательском списке сообщений типа «работает» (или ввожу URL-адрес, например «mysite.com/works/page/2»), я получаю страницу 404.Обычное разбиение на страницы типа поста (блог) работает корректно. Кроме того, все остальное, что касается моего пользовательского типа сообщений, "работает", похоже, работает нормально.
В моем файле template-works.php есть следующее:

Код: Выделить всё

    get_home_pagination();

$args = array( 'post_type' => 'works', 'posts_per_page' => 10, 'paged' => $paged ); $wp_query = new WP_Query( $args );

if ( $wp_query->have_posts() ) :
while ($wp_query->have_posts()) :
$wp_query->the_post();
get_template_part( 'loop', 'works' );
endwhile;
else:
_e( 'Nothing here.' );
endif;
Тот же код (конечно, заменяющий тип сообщения) используется в шаблоне template-blog.php, где ссылки на страницы работают корректно.
И затем в файле function.php у меня есть:

Код: Выделить всё

function get_home_pagination() {

global $paged, $wp_query, $wp;
$args = wp_parse_args($wp->matched_query);

if ( !empty ( $args['paged'] ) && 0 == $paged ) {
$wp_query->set('paged', $args['paged']);
$paged = $args['paged'];
}
}
На мгновение я подумал, что это происходит потому, что WordPress не смог найти ни одного сообщения в цикле: он пытался получить идентификатор сообщения, когда сообщений не было, как в строке 29 сообщения. -template.php. Но потом я понял следующее:
Если я наберу, например, URL-адрес «(...)/blog/page/456», шаблон блога загружается с сообщением «Здесь ничего нет». ". Нет страницы с ошибкой 404.
С другой стороны, URL-адрес "works/page/2", который, как я ожидаю, вернет несколько сообщений, заканчивается на странице с ошибкой 404.
Почему?
РЕДАКТИРОВАТЬ:
На странице 404 я также получаю эту ошибку:

Пытаюсь получить недвижимость необъекта в
(…)/wordpress/wp-includes/post-template.php в строке 29.

.. .но это может быть не связано с проблемой нумерации страниц. Мне удалось удалить код, вызывающий эту ошибку (из настроенного мной плагина), но нумерация страниц по-прежнему не работает.
РЕДАКТИРОВАТЬ:
Вот что я получил, отладив URL-адрес mysite.com/trabalhos/parina/2 с помощью подключаемого модуля Debug-this. Кажется, это очень неправильно:
Обратно: trabalhos = работает, страница = страница

Соответствующее правило: trabalhos/([^/]+)(/[0-9]+)?/?$
Соответствующий запрос:works=pagin&page=%2F2
Запрос Строка:
page=%2F2&name=pagin&post_type=works&works=pagin&debug-this=rewrites

Насколько я понимаю, URL mysite. com/trabalhos/parina/2 ДОЛЖЕН указывать на следующий URL-адрес (за исключением того, что он не работает, но если я заменю «trabalhos» на «noticias» - мой ярлык для «блога» — работает):

mysite.com/trabalhos/parina/2/?pagename=trabalhos

Однако URL-адрес mysite.com/trabalhos/parina/2 указывает на этот странный URL-адрес:

mysite.com/trabalhos/pagin/2?page=%2F2&works=parina&post_type=works&name=pagin

И что удивительно, следующий URL указывает именно на то содержание, которое я ожидал, то есть на вторую страницу произведений (trabalhos):

mysite.com/noticias/parina/2/?pagename=trabalhos

Кажется, я близок к решению... однако Я пробовал деактивировать все плагины, удалять почти весь php-код темы, каждый раз сбрасывать настройки постоянных ссылок в панели администратора, среди прочего, но ошибка не исчезла.
Это какая-то неверная конфигурация? Где бы это было?
Заранее благодарим за любую помощь!

Подробнее здесь: https://stackoverflow.com/questions/229 ... types-only
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»