Lo que estoy buscando hacer:
Configura la WP_Query
paginación en un archivo de plantilla single-custom-post-type.php
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 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-author.php que consulta todas las publicaciones con los metadatos del autor en el menú desplegable, por lo que el resultado es una lista de publicaciones que tienen asignado el mismo autor (algo así 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 lo que estoy atrapado
Los enlaces de paginación no aparecen. Investigué un poco y descubrí que usan la $wp_query
variable, sin embargo, cuando cambié mi variable de consulta $wp_query
, aparecieron los enlaces, pero cuando hice clic no hizo nada.
¿Alguna idea de a dónde me voy
Editar:
Para responder algunas de sus preguntas, mi consulta genera con éxito las publicaciones que estoy consultando, $ author_id ya tiene un valor que no incluí en este fragmento de código. Del mismo modo, omití la salida de contenido real dentro del ciclo while porque esa parte no es el problema. El problema es que necesito paginar el contenido que ya existe en esta publicación.
El propósito de esta funcionalidad era permitir que las publicaciones tuvieran autores personalizados (fuera del sistema de usuarios incorporado) y el propósito de esta plantilla es generar todas las publicaciones para un autor determinado (que ya está funcionando).
the_title()
'meta_value' => $author_id
está rellenando desde el menú desplegable mencionado? Y al seleccionar cada autor a través del menú desplegable, ¿se muestran correctamente las primeras diez publicaciones?
$author_query->have_posts()
regrese true
y de que $author_query
realmente contenga alguna publicación?