php - tag - Wordpress: comprueba si hay publicaciones anteriores antes de mostrar el enlace
the_tags wordpress (4)
Puedes probar algo como esto
<?php
if($link = get_previous_posts_link()) {
echo ''<ul><li>''.$link.''</li></ul>'';
?>
get_previous_posts_link
devuelve null (valor de falsy) si no hay ninguna publicación anterior.
Estoy usando el siguiente código para mostrar un enlace de "publicaciones anteriores" en mi blog de Wordpress.
<nav>
<ul>
<li><?php previous_posts_link(''Newer Entries »'') ?></li>
</ul
</nav>
El problema es que, cuando no hay mensajes anteriores, mientras el enlace no se muestra, sigo recibiendo
<nav>
<ul>
<li><</li>
</ul
</nav>
Impreso. ¿Hay una declaración if () que pueda abarcar todo para que compruebe si hay publicaciones anteriores, y solo las imprime si las hay?
para las personas que verifican esto en 2013, get_previous_post se ha depreciado.
http://codex.wordpress.org/Next_and_Previous_Links http://codex.wordpress.org/Function_Reference/previous_post
Solía usar esto: /
if(get_next_post()) { echo ''next''; }
if(get_previous_post()) { echo ''last''; }
Pero ahora uso esto :)
if(get_next_posts_link()) { echo ''next''; }
if(get_previous_posts_link()) { echo ''last''; }
Solo para aclarar:
La respuesta de Colin no es correcta en mi opinión. get_previous_post no está en desuso, previous_post is.
http://codex.wordpress.org/Function_Reference/get_previous_post http://codex.wordpress.org/Function_Reference/previous_post
Para mí, el uso de get_next_post funciona bien para mí.
if(get_next_post()) { }
if(get_previous_post()) { }
Ninguna de las respuestas funcionó para mí. Lo solucioné de esta manera:
$next = get_permalink(get_adjacent_post(false,'''',false)); //next post url
$prev= get_permalink(get_adjacent_post(false,'''',true)); //previous post url
<?php if (get_the_permalink()!=$prev): ?>
<a href=''<?php echo $prev ?>''>Previous</a>
<?php endif; ?>
<?php if (get_the_permalink()!=$next): ?>
<a href="<?php echo $next ?>">Next</a>
<?php endif; ?>