Mostrar el contenido … o el extracto


Ya hemos visto alguna vez como mostrar en la portada de tu web el contenido o el extracto de las entradas, en realidad son variaciones pequeñas del loop, sería algo así:

Para mostrar el contenido completo de la entrada (salvo que haya un «more»):

<?php the_content(__('(sigue leyendo...)')); ?>

Para mostrar el contenido del extracto solamente:

<?php the_excerpt(); ?>

Pero ¿qué pasa si queremos mostrar el extracto y en alguna ocasión no hay extracto, por ejemplo cuando la entrada solo contiene una imagen?. Pues sencillo, gracias a este truco que comparte Study en el foro WordPress:

Solo tienes que cambiar el loop y ponerlo así:

< ?php
global $post;
if($post->post_excerpt){
 the_excerpt();
}else{
 the_content();
}
? >

Lo que hace el código, como puedes imaginar, es tratar de mostrar el extracto, y si no existe muestra el contenido. Chulo ¿eh?

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(9 votos, promedio: 4.2)

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación es de hace 3 años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado.

36 comentarios en “Mostrar el contenido … o el extracto”

  1. Bueno, nobleza obliga, tengo que avisar que así como esta el código no funciona (que conste que en el foro avise que no lo habia probado). De esa forma la condición siempre da verdadera y se muestra siempre el excerpt. Para que funcione la condición debe ser así:

    post_excerpt){

    the_excerpt();

    }else{

    the_content();

    }

    ?>

    Así que fer te pido por favor que cuando tengas un ratito corrijas el post, así mi honor como programador no queda mansillado 🙂 . Salu2.

    1. y si colo le ago para que mi blog de blogger mustre el contenido completo de la entrada por q aveses resulta laduilloso abri para poder descargar yo quiero q los vallan viendo de una vez y lo descarguen si le gusta

      1. Hola fernando, justo eso es lo que busco ya que en el tema que utilizo solo hay extractos automaticos y por mas que escribo en la caja un extracto no aparece. El tema que uso es itransform, en que parte debo de modificar?

  2. Hola yo deseo hacer esto pero con un post o pagina especifica asi como una pagina estatica pero que al modificar esa pagina igual se modifique donde llame a ese post pagina…Alguien que me ayude a hacer eso gracias

    Gracias

  3. hola fernando, gracias por tus aportes, solo tengo una pregunta…¿Dónde bedo colocar ese código ( ) para mostrar sólo los estractos en mi blog.

    Lo que pasa es que tengo un blog y aparece todo el contenido en la portada, y pues sólo quiero mostrar un estracto, he probado colocándo el plugín "homepage_excerpts", y muesra los estractos pero me elimina las imagenes, además de que sólo muestra 4 post.

    agradecería me ayudaras

  4. Hola, yo lo tengo puesto como dices y he probado con todas las opciones y me funciona perfectamente, ahora bien:

    Como dice el compañero de arriba, no me sale la imagen principal que siempre pongo en cada post y que es lo primero que está escrito

    Segundo, hay forma de ampliar un poco el texto que forma parte del excerpt? me gustaría añadir un poco más del post al fragmento, saludos

  5. podes usar un filtro muy sencillo sobre la funcion the_excerpt para configurar la cantidad de palabras a mostrar:

    pastebin.com/GxrNPh1S

  6. Y cómo se puede mostrar el contenido del, por ejemplo, los tres posts más actuales, y el extracto del resto, por ejemplo, otros 5, dentro de la "homepage"?

  7. por fuera del bucle creas una variable que vas a usar de contador:

    por ej:

    $contador = 0;

    y dentro del bucle:

    $contador++;

    if($contador <= 3)

    the_content();

    else

    the_excerpt();

  8. Gracias study

    He metido el código "a pelo" y no me funciona.

    No controlo casi nada de programación.

    Podrías darme más detalles de cómo implementarlo?

    A ver si de una vez por todas me quito el plugin "homepage excerpts" !!

    Gracias

  9. Ahora no tengo una instalación de wp para probar, pero deberia funcionar. ¿estas metiendo $contador = 0; fuera del bucle, o sea antes del while? ¿que error te tira?¿tenes desactivado el plugin que mencionas antes?¿te fijaste que no se este llamando a the_excerpt o the_content en otro lugar?¿abriste y cerraste correctamente la etiquetas ?

  10. Sí, desactivé el plugin y puse el código como Dios me dió a entender.

    El error que me da es que no me funciona; me salen todos los posts enteros.

    Te dejo el trozo de código completo, porque no sé esquematizarlo:

    <div class="post" id="post-">

    Por cierto, controlas mucho. Tienes un blog en el que comentes trucos de wordpress?

  11. Es que cuando alguien me contesta acá a mi me suena el celular. En el blog de mi nick algo sobre wordpress pongo, pero no específicamente eso, también he publicado algo acá. Respecto a tu código me parece que salio cortado porque solo veo dos divs, porque no lo pegas en pastebin.com y me pasas el link.

  12. Muchas gracias study !!!

    Funciona 99% perfecto !

    Lo único "raro" es que cuando pasas a la segunda página, vuelve a poner tres posts enteros y los excerpts del resto, en vez de poner todos en excerpt.

    Pero imagino que la solución a eso debe ser mucho más complicada.

    Gracias !!

  13. No, es una boludes, donde dice:

    if($contador <= 3)

    debe ir

    if(($contador <= 3) && (is_front_page()))

    Bueno, eso creo, te recuerdo que no pruebo estos códigos, solo los posteo 😀

  14. Mira en mi nombre.

    Desde ayer tengo problemas con el redireccionamiento, así que tienes que pinchar en el nombre de ESTA respuesta.

  15. Por ahora deberia funcionarte lo siguiente:

    if(($contador <= 3) && (!$_GET['paged']))

    El tema es que si en algún momento modificas los permalinks posiblemente el script deje de funcionar.

  16. Pingback: Anónimo

  17. Saludos, necesito de su valiosa ayuda…
    El inconveniente que tengo es la siguiente tengo una plantilla nueva en el blog que me permite agregar read more para los nuevos post, el problema radica cuando puse read more a los nuevos post los antiguos se muestran completo ya que no están en excerpt mode, me pudes ayudar a poner excerpt mode a partir de una fecha hacia atrás y los nuevos post que funcionen con lo que yo configuro…

    Gracias por ayudarmeee

  18. por favor si alguien sabe como ayudarme en  wordpres  3.3.2 no funciona ajustes de lectura por mas que pongo las entradas que quiero que se muestren en la pagina de inicio se muestran todas juntas y la verdad se ve orrible ayuda por favor ya no se que hacer 

  19. Mi problema no es ese ya que el tema que uso lo trae por defecto pero quiciera saber como pongo esta line al español (<?php the_excerpt( __( 'Continuar leyendo… <span class="meta-nav">&rarr;</span>', 'catchbox' ) ); ?>) por cierto lo puse pero sigue saliendo con tinuer leyendo pero en ingles que hago?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Ir arriba Ir al contenido