Что я хочу сделать:
Настройка WP_Query
пагинации в одном файле шаблона custom-post-type.php
Что я наделал
1) Создан тип поста под названием «авторы». Каждый пост в этом типе поста является отдельным автором.
2) Стандартные страницы экрана редактирования постов содержат выпадающий список, в котором перечислены все посты (авторы) от автора тип поста.
3) Создал шаблон single -hors.php, который запрашивает все сообщения с метаданными автора из выпадающего списка, поэтому в результате получается список сообщений, которым назначен один и тот же автор (вроде архива):
<?php
// set the "paged" parameter (use 'page' if the query is on a static front page)
global $paged;
/*We need this here to add and maintain Pagination if Template is assigned to Front Page*/
if ( get_query_var( 'paged' ) ) {
$paged = get_query_var('paged');
} elseif ( get_query_var( 'page' ) ) {
$paged = get_query_var( 'page' );
} else {
$paged = 1;
}
$args = array(
'posts_per_page' => 10,
'meta_key' => 'author_select',
'meta_value' => $author_id,
'paged' => $paged,
);
$temp = $wp_query;
$wp_query = NULL;
$wp_query = new WP_Query($args);
?>
<?php if( $wp_query->have_posts() ) : ?>
<?php while ( $wp_query->have_posts() ) : $wp_query->the_post(); ?>
<?php // Successfully outputs the results of the above query, so I've omitted the code from this example. ?>
<?php endwhile; ?>
<div class="single_navigation">
<?php if( get_adjacent_post( false, '', true ) ) { ?>
<span class="prev"><?php previous_post_link( '< %link' ) ?></span>
<?php } ?>
<?php if( get_adjacent_post( false, '', false ) ) { ?>
<span class="next"><?php next_post_link( '%link >' ) ?></span>
<?php } ?>
</div><!--/single navigation-->
<?php endif; ?>
<?php
$wp_query = null;
$wp_query = $temp;
wp_reset_query();
?>
На чем я застрял
Ссылки на страницы не отображаются. Я провел некоторое исследование и обнаружил, что они используют $wp_query
переменную, однако, когда я изменил свою переменную запроса на $wp_query
, появились ссылки, но при нажатии ничего не произошло.
Есть идеи, где я иду не так?
Редактировать:
Чтобы ответить на некоторые ваши вопросы, мой запрос успешно выводит сообщения, которые я запрашиваю, $ author_id уже имеет значение, которое я не включил в этот фрагмент кода. Точно так же я пропустил фактический вывод содержимого в цикле while, потому что эта часть не является проблемой. Проблема в том, что мне нужно разбить содержимое уже существующего на этот пост.
Цель этой функциональности состояла в том, чтобы позволить постам иметь собственных авторов (вне встроенной системы Users), и целью этого шаблона является вывод всех постов для данного автора (который уже работает).
the_title()
'meta_value' => $author_id
заполняется из выпадающего списка упоминается? И при выборе каждого автора через выпадающий список правильно отображаются первые десять сообщений?
$author_query->have_posts()
возвращается true
и что на $author_query
самом деле содержит какие-либо сообщения?