# 1: Llamar a the_post
sin un bucle solo le permitirá mostrar una sola publicación. Esto podría ser deseable en las páginas de un solo poste, por ejemplo, donde a menudo se omite el bucle while
:
<?php
// single.php
if (have_posts()):
the_post();
?>
<p><?php the_content(); ?></p>
<? else: ?>
<p>No post found.</p>
<? endif ?>
# 2: Tienes razón - el fragmento informados es redundante en su combinación de if
y while
.
En la mayoría de los temas, sin embargo, esto es el uso:
<?php
if (have_posts()):
while (have_posts()): the_post();
?>
<div class="post"><?php the_content(); ?></div>
<?php endwhile; else: ?>
<p>No posts found.</p>
<?php endif; ?>
El uso de la instrucción if
en este caso le permite mostrar algo si no hay mensajes en absoluto. Si tuviéramos que usar el bucle while
en ese código, las páginas sin publicaciones no producirían nada.
oh, maldita sea. Encontré este código php if (have_posts()): while (have_posts()): the_post(); ?> Usando en el tema predeterminado single.php? ¡es redundante! porque en el single.php, es solo una publicación, es inútil usar el bucle while. ¿Estoy en lo cierto? – zhuanzhou
Sí, es redundante, pero no es demasiado de lo que preocuparse. [El tema predeterminado de WordPress lo usa también] (http://phpxref.com/xref/wordpress/wp-content/themes/twentyten/single.php.source.html#l15). –