Lo que estoy buscando hacer:
Configura la paginación WP_Query
en un único archivo de plantilla custom-post-type.php
Lo que he hecho
1) Creó un tipo de publicación llamado "autores". Cada publicación dentro de ese tipo de publicación es un autor individual.
2) Las páginas de la pantalla de publicación de edición estándar contienen un menú desplegable que enumera todas las publicaciones (autores) del tipo de publicación personalizada de los autores.
3) Creé una plantilla single-authors.php que consulta todas las publicaciones con los metadatos del autor desde el menú desplegable, por lo que el resultado es una lista de publicaciones que tienen el mismo autor asignado (como un archivo):
<?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();
?>
En qué estoy atrapado
Los enlaces de paginación no aparecen. He investigado un poco y he encontrado que usan la variable $wp_query
, sin embargo, cuando cambié mi variable de consulta a $wp_query
, aparecieron los enlaces, pero cuando se hizo clic no hizo nada.
¿Alguna idea de a dónde me voy mal?
Editar:
Para responder a algunas de sus preguntas, mi consulta genera correctamente las publicaciones que estoy consultando, $ author_id ya tiene un valor que no incluí en este fragmento de código. De manera similar, omití la salida del contenido real dentro del bucle while porque esa parte no es el problema. El problema es que necesito paginar el contenido que ya existe en esta publicación única.
El propósito de esta funcionalidad era permitir que las publicaciones tuvieran autores personalizados (fuera del sistema integrado de Usuarios) y el propósito de esta plantilla es generar todas las publicaciones para un autor determinado (que ya está funcionando).