Andrés Mateo
Aquí está mi configuración.
soltero.php
<?php
if ( in_category( 'my-category' ) ) {
include( TEMPLATEPATH.'/single-my-category.php' );
}
else {
include( TEMPLATEPATH.'/single-generic.php' );
}
?>
sola-mi-categoria.php
<?php
if ( have_posts() ) : while (have_posts()) : the_post(); ?>
<?php echo the_title(); ?>
<div class="pagination">
<div class="container">
<div class="row">
<div class="next col-xs-6 col-sm-6 col-md-6 col-lg-6">
<?php next_post_link( '%link', '<img src="' . get_template_directory_uri() . '/img/cs-left.png" /> PREVIOUS', true ); ?>
</div>
<div class="previous col-xs-6 col-sm-6 col-md-6 col-lg-6">
<?php previous_post_link( '%link', 'NEXT <img src="' . get_template_directory_uri() . '/img/cs-right.png" />', true ); ?>
</div>
</div>
</div>
</div>
<?php endwhile; endif; ?>
Esto es lo que he seguido – http://codex.wordpress.org/Function_Reference/next_post_link
No estoy muy seguro de lo que estoy haciendo mal aquí, ya que, por alguna razón, el enlace de la publicación anterior me lleva a una publicación en una categoría diferente, aunque el parámetro in_same_term de la función está establecido en verdadero.
¿Algunas ideas?
Gracias.
Edite sus bloques de código de la siguiente manera. No ha puesto ‘.php’ en la quinta línea de su archivo single.php. La publicación anterior/siguiente se mostrará solo para las publicaciones de la categoría que especifique dentro if
declaración de single.php (aquí categoría ‘php’). Para el siguiente ejemplo, creé un directorio ‘template-parts’ y creé dos archivos php (“single-my-category.php” y “single-generic.php”) dentro de ese directorio.
soltero.php
<?php
$the_query = new WP_Query( $post );
if (in_category('php')) {
include( 'template-parts/single-my-category.php' );
} else {
include( 'template-parts/single-generic.php' );
}
?>
sola-mi-categoria.php
if ( have_posts() ) : while (have_posts() ) : the_post(); ?>
<?php the_title(); ?>
<div class="pagination">
<div class="container">
<div class="row">
<div class="next col-xs-6 col-sm-6 col-md-6 col-lg-6">
<?php next_post_link( '%link', '<img src="' . get_template_directory_uri() . '/img/cs-left.png" /> PREVIOUS', true ); ?>
</div>
<div class="previous col-xs-6 col-sm-6 col-md-6 col-lg-6">
<?php previous_post_link( '%link', 'NEXT <img src="' . get_template_directory_uri() . '/img/cs-right.png" />', true ); ?>
</div>
</div>
</div>
</div>
<?php endwhile; endif; ?>
-
Hola, gracias por la respuesta, pero esto es en realidad un error de mi parte. Recorté la pregunta para que sea más fácil para todos ver lo que hice y accidentalmente omití ‘.php’ del final. En el código, en realidad tiene ‘.php’ al final del nombre de la plantilla. Editaré esto en mi pregunta ahora.
– Andrés Mateo
4 de abril de 2016 a las 8:48
-
@AndrewMatthew Creo que ha dejado de lado información muy importante aquí. Su código funciona perfectamente bien, por lo que algo más no publicado está rompiendo su código
– Pieter Goosen
04/04/2016 a las 10:41
-
next_post_link()
&previous_post_link()
tomar cinco parámetros. El cuarto es $excluded_terms y el quinto es $taxonomy (el valor predeterminado es ‘categoría’). ¿Podría intentar agregar dos parámetros más a ambas funciones? El 4º será ” y el 5º será ‘categoría’. Referencia– Sajib Biswas
04/04/2016 a las 18:35
Especifique también el nombre de la categoría en una sola página … dado que single-categoryname.php no es correcto, debe intentar usar taxonomy-taxonomy_name.php O
<?php query_posts('category_name=CATEGORYNAME&showposts=5');
while (have_posts()) : the_post();
// do whatever you want
?>
<?php endwhile;?>
<div class="pagination">
<div class="container">
<div class="row">
<div class="next col-xs-6 col-sm-6 col-md-6 col-lg-6">
<?php next_post_link( '%link', '<img src="' . get_template_directory_uri() . '/img/cs-left.png" /> PREVIOUS', true ); ?>
</div>
<div class="previous col-xs-6 col-sm-6 col-md-6 col-lg-6">
<?php previous_post_link( '%link', 'NEXT <img src="' . get_template_directory_uri() . '/img/cs-right.png" />', true ); ?>
</div>
</div>
</div>
Si en_mismo_término no funciona para usted, es posible que su objeto de consulta no retenga los datos de la publicación.
Darle una oportunidad –
global $the_query;
$the_query = new WP_Query( $post );
global $the_query;
if ( $the_query->have_posts() ) : while ($the_query->have_posts() ) : the_post(); ?>
<?php the_title(); ?>
<div class="pagination">
<div class="container">
<div class="row">
<div class="next col-xs-6 col-sm-6 col-md-6 col-lg-6">
<?php next_post_link( '%link', '<img src="' . get_template_directory_uri() . '/img/cs-left.png" /> PREVIOUS', true ); ?>
</div>
<div class="previous col-xs-6 col-sm-6 col-md-6 col-lg-6">
<?php previous_post_link( '%link', 'NEXT <img src="' . get_template_directory_uri() . '/img/cs-right.png" />', true ); ?>
</div>
</div>
</div>
</div>
<?php endwhile; endif; ?>
Mukesh Panchal
¿Puedes agregar este código en tu archivo de plantilla.
<ul class="pager">
<?php if ( get_previous_post() != null ) : ?>
<li class="previous">
<span class="nav-previous">
<?php
$singular_nav_previous_text = apply_filters( 'tc_singular_nav_previous_text', _x( '←' , 'Previous post link' , 'customizr' ) );
previous_post_link( '%link' , '<span class="meta-nav">' . $singular_nav_previous_text . '</span> %title' );
?>
</span>
</li>
<?php endif; ?>
<?php if ( get_next_post() != null ) : ?>
<li class="next">
<span class="nav-next">
<?php
$singular_nav_next_text = apply_filters( 'tc_singular_nav_next_text', _x( '→' , 'Next post link' , 'customizr' ) );
next_post_link( '%link' , '%title <span class="meta-nav">' . $singular_nav_next_text . '</span>' );
?>
</span>
</li>
<?php endif; ?>
</ul>
Ahora agregue el siguiente código en función.php
add_filter('tc_previous_single_post_link_args', 'navigate_in_same_taxonomy');
add_filter('tc_next_single_post_link_args', 'navigate_in_same_taxonomy');
function navigate_in_same_taxonomy( $args ){
$args['in_same_term'] = true;
return $args;
}
si necesita más opciones en el enlace Siguiente/Anterior, verifique este enlace
Esto sucede porque tiene varias categorías en su publicación y wp solo va a lo que sea el primero en la publicación (supongo). Controlar este enlace aquí. También esta respuesta podría ser útil.
– dingo_d
1 de abril de 2016 a las 11:04
La publicación solo está asignada a 1 categoría
– Andrés Mateo
01/04/2016 a las 13:34
puede probar el enlace de paginación debajo del bucle
– StreetCoder
03/04/2016 a las 12:47
¿Estás seguro de que esta publicación está asignada a solo 1 categoría? ¿Es posible que todavía esté asignado a Sin categoría? También es una categoría y tiene el ID más bajo de la base de datos.
– dev_masta
4 de abril de 2016 a las 3:28
Además, espero que no esté usando un complemento de caché.
– dev_masta
4 de abril de 2016 a las 3:32