O que eu estou procurando fazer:
Configurar WP_Query
paginação em um arquivo de modelo single-post-post-type.php
O que eu fiz
1) Criou um tipo de postagem chamado "autores". Cada postagem nesse tipo de postagem é um autor individual.
2) As páginas da tela de edição padrão contêm uma lista suspensa que lista todas as postagens (autores) do tipo de postagem personalizada dos autores.
3) Criou um modelo single-autores.php que consulta todas as postagens com os metadados do autor no menu suspenso; portanto, o resultado é uma lista de postagens que têm o mesmo autor atribuído a elas (como um arquivo):
<?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();
?>
No que estou preso
Os links de paginação não aparecem. Eu fiz algumas pesquisas e descobri que eles usam a $wp_query
variável; no entanto, quando mudei minha variável de consulta para $wp_query
, os links apareceram, mas, quando clicados, não fizeram nada.
Alguma idéia de onde estou errado?
Editar:
Para responder a algumas de suas perguntas, minha consulta gera com êxito as postagens que estou consultando, $ author_id já possui um valor que eu não incluí neste snippet de código. Da mesma forma, deixei de fora a saída real do conteúdo no loop while, porque essa parte não é o problema. O problema é que eu preciso paginar o conteúdo que já existe nesta única postagem.
O objetivo dessa funcionalidade era permitir que as postagens tivessem autores personalizados (fora do sistema Usuários interno) e o objetivo deste modelo é gerar todas as postagens para um determinado autor (que já está funcionando).
the_title()
'meta_value' => $author_id
sendo preenchido a partir do menu suspenso mencionado? E ao selecionar cada autor pelo menu suspenso, as dez primeiras postagens são exibidas corretamente?
$author_query->have_posts()
retorne true
e que $author_query
realmente contenha postagens?