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?
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!
muy bueno! lo apliacaré…
un saludo fernando… te lo curras mucho!
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.
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
Y me lo volvio a cortar así que busquen el código correcto en el foro.
Ya lo actualicé en el post, gracias amigo 😉
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?
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
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
Pues buscando lo que digo en el post, no hay más misterios.
y como puedo hacer para que cada uno tenga un aspecto diferente
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
podes usar un filtro muy sencillo sobre la funcion the_excerpt para configurar la cantidad de palabras a mostrar:
pastebin.com/GxrNPh1S
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"?
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();
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
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 ?
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?
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.
Ah! claro !
Olvidaba que lo de pegar código en los blogs suele dar error !
OK
Pegué el código en pastebin.
Es éste:
http://pastebin.com/eKFgeLb3
Gracias por tomarte la molestia
agregue el código como deberia ir (espero que haya quedado bien, porque posteo desde el telefono). http://pastebin.com/mePccBmL
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 !!
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 😀
Pues no funciona, aunque tampoco me da ningún fallo.
Es como si el cambio fuera invisible. No tiene ningún efecto.
¿tu blog muestra los post directamente en la home?. Proba con esto:
if(($contador <= 3) && (is_home()))
No, tampoco funciona.
Mi pagina inicial sigue un template llamado "home.php" por si te sirve.
Cual es la url?
Mira en mi nombre.
Desde ayer tengo problemas con el redireccionamiento, así que tienes que pinchar en el nombre de ESTA respuesta.
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.
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
Hola, yo tengo el theme mystique donde tengo que pegar este codigo? Saludos
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
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">→</span>', 'catchbox' ) ); ?>) por cierto lo puse pero sigue saliendo con tinuer leyendo pero en ingles que hago?
Seria bueno que se especificara cual es el tal loop para empezar.
Como puedo restarle al the_content el excerpt, para poder mostrar los dos de forma independiente?
Disculpen soy nuevo en esto y necesito hacerlo, sin embargo no se enque parte debo pegar ese codigo