Limitar el tamaño del texto en post destacados

Inicio Foros WordPress General WordPress.org Limitar el tamaño del texto en post destacados

Este debate contiene 20 respuestas, tiene 4 mensajes y lo actualizó  jcasanova hace 8 años, 9 meses.

  • Autor
    Publicaciones
  • #14962

    guardafaro
    Participante

    <p>"&lt; ?php the_excerpt() ?&gt;" no admite otros parámetros o atributos; no obstante, para limitar el tamañó de los textos a mostrar se puede usar un filtro, una función añadida al archivo functions.php, como se explica en el Codex de WP.</p>
    <p>Sin embargo, en el caso de los post completos a mostrar en la página principal, más allá de la limitación que se puede seleccionar con el "more" <code>&lt;?php the_content(‘Seguir leyendo &raquo;’); ?&gt;</code> no he podido encontrar otra forma para limitar el tamaño del texto que se puede presentar, sin depender de la colocción del &lt;–more–&gt; cuando se está escribiendo el post. El lugar por donde realizar ese corte o separación depende del criterio de cada autor, según cuanto texto quiera que aparezca en su home y del sentido del texto, que puede hacer conveniente partir en un sitio o en otro para hacerlo interesante de seguir.</p>
    <p>Pero me he encontrado con que, cuando se quiere poner un post destacado, con un formato distinto al resto de los otos posts, por motivos de diseño resulta muy conveniente mantener siempre un número específico de palabras o de caracteres (preferiblemente esto último, porque 100 caracteres siempre ocuparán el mismo espacio, pero treinta palabras no).</p>
    <p>¿Alguien conoce de algún atributo que se pueda añadir al "&lt; ?php the_content()&gt;" para definir esa longitud del post o, en todo caso, algún filtro para el funtión.php que se encargue de eso? Algo que no precise del uso de los campos personalizados.
    </p>

  • #34034

    23r9i0
    Participante

    Hola
    Prueba con [url=http://ayudawp.com/the-excerpt-reloaded/]http://ayudawp.com/the-excerpt-reloaded/[/url]

  • #34051

    imported_Mno4K
    Participante

    Hola guardafaro! También podrías usar la función

    Que te permite [url=http://codex.wordpress.org/Template_Tags/the_content_rss]limitar el numero de palabras que mostrar[/url]

    Saludos!

  • #34052

    guardafaro
    Participante

    [b]23r9i0[/b], gracias por el plugin. Lo dejo como tabla de salvación final, porque, mientras me sea posible, trato de prescindir del uso de ellos. Por cierto que con él resolvería el problema de la falta de imágenes en los extractos. Porque resulta que quiero mostrarlas y no encuentro la forma de hacerlo. Es una pregunta que tengo pendiente para poner en otro hilo. Los themes que he revisado, tipo revista, usan los campos personalizados para incluir los thumbnails dentro de los extractos; pero no me sirve cuando quieres cambiar el theme de un blog en donde ya tienes varios centenares de post publicados.

    [b]Mno4K[/b], esa función ya la había revisado; pero al convertirme el post en RSS me elimina la imagen, y no me interesa, pues se trata del post destacado, precisamente. Sin embargo, tengo por aquí una pieza de código que fue hecha para limitar la cantidad de letras en los título (en este ejemplo a 85 caracteres) y, asumo yo, que con un retoque podría reutilizarse para limitar el tamaño de los posts. No sé que opinarás tú; pero te pego el código.

    <?php if(strlen($post->post_title)>85)
    {
    $variabletitle = $post->post_title;
    $titulomostrado = substr($variabletitle,0,85);
    echo $titulomostrado."...";
    }else{
    the_title();
    }
    ?>

  • #34058

    imported_Mno4K
    Participante

    Así debería limitar el contenido a doscientos caracteres sin eliminar imágenes:

    Probalo y decime si te funciona. Saludos!

  • #34076

    guardafaro
    Participante

    Gracias, Mno4K, funciona muy bien, limitando caracteres en lugar de palabras y, en efecto, mostrando la imagen que tengas en el post. Porque, en realidad, no se trata de un excerpt, sino de un post al que estamos limitando.
    El único problema que detecté con su uso ha sido cuando el número de caracteres que definimos para mostrar supera al punto de corte por el <–more–>, si lo hay. Al llegar ahí, se pierde la configuración del post y se me mezcla con el siguiente. Lo otro es que no acepta que le pasen el “Seguir leyendo…” como medio de enlace, aunque es un inconveniente menor.

    Como yo lo quiero para usarlo con los post destacados, no tengo problemas, porque no se trata más que de un post normal con un formato de color distinto dentro de una caja con marco. El inconveniente se presentaría al intentar utilizar este método en sustitución de un <?php the_excerpt() ?> dentro de una caja reducida, pues si ese post tiene una imagen grande, ya te imaginarás. Para esos casos se necesitaría combinar ese código con algo que nos convierta la imagen en un thumbnail de manera automática. Voy a indagar un poco más con el uso del script TimThumb, que es para eso, supuestamente. http://timthumb.googlecode.com/svn/trunk/timthumb.php

  • #34088

    imported_Mno4K
    Participante

    En cuanto a lo primero, la verdad no sé, lo probé varías veces y no pasa. Seguro que no es un problema de algun div perdido por ahí?

    En cuanto al seguir leyendo, se puede solucionar con una pequeña modificación:

    también podrías hacerlo como una function y usarlo en el functions.php y pasarle como parámetros el limite y el texto de “more” para que quede más prolijito.

    Saludos!

  • #34120

    guardafaro
    Participante

    De nuevo, gracias, Mno4K. ¿Cómo no se me ocurrió que podía añadir el permalink como un enlace? Aunque, que se me hubiera ocurrido no necesariamente quiere decir que lo hubiera logrado hacer. ¡Ahora funciona perfecto! Por otra parte no se me ha presentado el problema que mencioné al exceder el límte del <– more –> Quizás porque, como tú dices, en aquel momento tenía algún problemilla que debo haber quitado cuando limpié código de prueba que iba dejando atrás encerrad entre comentarios, que no siempre opera cuando encierras código php. En fin, ahora ocurre algo mejor, y es que, aunque establezca una longitud de caracteres superior a los que hay antes del corte del <– more –>, SOLO se muestra el texto que hay hasta ese punto, lo que me parece perfecto. En mi opinión, esta pieza de código resulta excelente para, en los themes así preparados, presentar post destacados, siempre con un tamaño igual.

    Con respecto a lo que mencionas de convertirlo en una función para agregar al archivo functions.php me parece mucho mejor. Yo opino que mientras menos cosas ponga en el index.php (o en el home.php) mejor.

    Por otra parte, me atrevería a asegurar que, si logro resolver el inconveniente que puede presentar el tamaño de la imagen principal, reduciéndola, este método podría resultar, en muchos casos quizás, más interesante que el uso del <i>the_excerpt()</i>.

    Por cierto, el escript TimThumb no me sirve para lo que mencioné en el último párrafo de mi comentario anterior, por varios motivos. El principal es que hace uso de los campos personalizados (custom fields) para insertar la imagen miniatura en los excerpts (o donde se quiera). La verdad que para hacer eso no necesito ese script, pues poco me cuesta, cuando redimensiono una imagen para el post principal, sacar un thumbnail a la vez. De hecho sé que hay programitas gratuitos de tratamiento y redimensionado de imágenes que hacen eso. Seguiré viendo que solución le doy.

    Saludos.

  • #34130

    imported_Mno4K
    Participante

    De nada guardafaro!

    Para convertirlo en una function y que te quede más prolijo podés modificarlo así:

    y pegarlo en el functions.php de tu theme. Después, en el index.php, lo llamas con

    donde ‘Leer Mas’ y 200 los podés cambiar por el texto que quieras y el limite de caracteres que te guste. Fijate que se le agrega siempre un […], sino te gusta, podés sacarselo en

    dejando solo

    En cuanto a las thumbnails, podés usar timthumb sin custom fields, fijate en [url=http://www.spidermarket.com/index/retrieve-a-posts-first-image-and-resize-it-with-timthumb/]este enlace[/url], que tienen una función hecha justamente para eso.

    Saludos!

    EDIT= no se por qué el resaltador de sintaxis me lo mata, pero donde dice:

    no es así, es

    con dos “”

  • #34178

    guardafaro
    Participante

    Lo siento; pero no logro resolver la linea 5, donde el $morelink =. Me da un error de sintaxis con todo lo que he probado.

    Gacias por el enlace de la ventan con puro css. Lo estoy analizando.

    Con respecto a la inserción de imágenes miniaturas dentro de los excerpts, he encontrado un par de sitios donde exponen muy bien la forma de mostrarlas sin plugins ni uso de campos personalizados, y bastante bien explicado. [url=http://www.frickr.es/2009/01/04/como-mostrar-miniaturas-en-tu-tema-de-wordpress-sin-plugins-ni-hacks/]Uno de ellos[/url]se titula “Como mostrar miniaturas en tu tema de WordPress sin plugins ni hacks”. [url=http://www.darioferrer.com/wordpress/como-extraer-miniaturas-en-wordpress-ii-126.html]El otro es[/url] “Como extraer miniaturas de imágenes en Wordpres”. Aún no he probado; pero luce prometedor.

  • #34185

    imported_Mno4K
    Participante

    Que raro, a mí así

    $morelink = “< a href =”the_permalink()” > $leermas< /a >”;

    me funciona joya. Sin los espacios claro. Cualquier cosa, te lo subí [url=http://rs408.rapidshare.com/files/306697336/limitarContent.php]aca[/url] copialo y pegalo en tu functions.php sin los <? y ?>.

    Saludos!

  • #34202

    guardafaro
    Participante

    Listo. Funciona como una seda. Gracias.

  • #34204

    imported_Mno4K
    Participante

    Joya, me alegro! 😀

  • #34330

    guardafaro
    Participante

    Vaya, Mno4k, un solo fallito en la seda. Para leer el post completo por el enlace del título no hay problema; pero, por el enlace del


    produce un mensaje de error 404. Supongo entonces que debo seguir con algún problema en la parte del:

  • #34374

    23r9i0
    Participante

    Mirate este codigo!!!


    y se llama desde

  • #34392

    23r9i0
    Participante

    Hola puedes seguir los avances o errores desde este enlace:
    [url=http://ayudawp.com/foro/topic/usar-codigo-de-un-theme-para-el-mio-como]http://ayudawp.com/foro/topic/usar-codigo-de-un-theme-para-el-mio-como[/url] que es donde pregunte yo como usarlo.

  • #34424

    guardafaro
    Participante

    Bueno, aún no lo pruebo, pero si usa el the_excerpt creo que no me servirá para donde lo pienso usar, porque los excerpts no incluyen imágenes por vía normal. Lo interesante del código anterior, de Mno4k, es que tan solo limita la longitud de un post normal, el cual, por supuesto, se presenta con imagen en caso de tenerla. El código que me dio primero, par aincluir en el index funcionaba bien. El problemilla lo he tenido con la “versión” a colocar como función en el functions.php.

    De todos modos probaré que hace el tuyo, que solo con leerlo no me queda claro. Puede servirme para otros sitios donde coloco extractos. En realidad ando buscando la forma de mostrar excerpts… pero incluyendo con la primera imagen del post, sin usar campos personalizados.

  • #34450

    23r9i0
    Participante

    Hola
    Pues probando el codigo de Mno4K que en cierta manera es mejor he podido solucionar el $morelink


    A mi en local si funciona!!

  • #34453

    23r9i0
    Participante

    Hola
    Mirar este codigo:
    [url=http://dsergio.com/wp-content/files/limitcontent.phps]mi codigo de limitar[/url]
    Para llamarlo se usa:


    Admite imagenes y al permitir div tambien mantiene el formato del plugin que uso para mostrar codigos en los post de mi web.

  • #34670

    guardafaro
    Participante

    Gracias, 23r9i0: el cambio al .get_permalink() ha resuelto el problema que se presentaba al querer leer todo el post a través del enlace “more”. Ahora va bien. Y tanto para ti como para Mno4K que había tenido curiosidad de ver como me quedaba el diseño en el que trabajo esta parte, ya lo saqué de local y lo tengo colgado en una demo en esta url: http://demo.ciudadsinbarreras.es

    Probaré tu otra versión para limitar contenido en cuanto tenga oportunidad. Ahora tengo días con un problema en IE7 al que no encuentro el origen del desmadre, después que todo estaba bien. Tenía un par de semanas que no lo revisaba en IE y me encontré con la sorpresilla. NO sé que rayos habré hecho. Pondré la pregunta en otro hilo, a ver si alguien me da alguna luz.

    Gracias por tu ayuda.

  • #36809

    jcasanova
    Participante

    Hola!
    Magnifico el codigo que facilitais en este hilo.
    Lo estoy implementando para uno de mis themes, pero he encontrado un pequeño fallo o inconveniente.

    Al escribir un post, con un video de youtube (u otro sitio) los caracteres empiezan a contar desde el mismo video, por lo que muestra el codigo, y no el texto del post.

    Como podria hacer para que mostrase el video y los 200 primeros caracteres del post?

El foro ‘General WordPress.org’ está cerrado y no se permiten nuevos debates ni respuestas.

Centro de preferencias de privacidad

Cookies imprescindibles

Se usan para saber si ya aceptaste nuestras políticas, si ya estás suscrito a nuestra newsletter, para reconocer el estado de tu sesión si la tuvieses y para servir más rápidos los contenidos.

No se captura IPs ni siquiera para el servicio de Analytics así que tu visita es privada.

JSESSIONID, _cfuid, wpSGCachePypass, mailerlite, gdpr, gawp
mailerlite, _cfuid

Cookies de terceros

Usamos cookies de terceros con servicios, también garantes de tu privacidad, que analizan tus usos de navegación para que podamos mejorar los contenidos, si ya estás suscrito al boletín y los elementos compartidos en redes sociales y el formulario de comentarios.

1P_JAR, APISID, CONSENT, HPSID, NID, SAPISID, SID, SIDCC, SSID, disqus_unique, disqusauth
disqus_unique, disqusauth
1P_JAR, APISID, CONSENT, HPSID, NID, SAPISID, SID, SIDCC, SSID

Pin It on Pinterest