No corta texto para poner "Seguir leyendo" (Premium News)

Inicio Foros WordPress Themes y Diseño No corta texto para poner "Seguir leyendo" (Premium News)

Este debate contiene 21 respuestas, tiene 4 mensajes y lo actualizó  trochilus hace 7 años.

  • Autor
    Publicaciones
  • #23104

    trochilus
    Participante

    <p>Hola a todos.<br />
    Tengo instalado Premium News en local, y en la caja que sale en la página principal justo debajo del menú, contiene una imagen y a su derecha un texto. Éste desparece en cuanto toca con la línea de la caja, sin poner "Seguir leyendo…". Como lo tengo en local no os lo puedo mostrar en mi página, pero he estado buscando por ahí y esta página presenta el mismo problema: http://bocaratoncityonline.com/<br />
    En mi búsqueda de solución he visto que hay páginas en las que no ocurre ésto, pero no he encontrado la manera de arreglarlo.<br />
    Si alguien podría aconsejarme algo…<br />
    Gracias<br />
    Un saludo
    </p>

  • #57009

    almendron
    Participante

    Archivo style.css (línea 290), class .featured: cambia el valor height a auto;

    Nota. No me cansaré nunca de decirlo: instalar Firebug

    https://addons.mozilla.org/es-es/firefox/addon/firebug/

  • #57013

    trochilus
    Participante

    Gracias almendron, he cambiado como dices dando como resultado que aparece el texto hasta que pone Seguir leyendo, pero para ello me hace la caja más alta. Yo quería limitar el texto al alto de la caja que es 200px, ajustado a la imagen.
    Ya me he descargado el complemento Firebug, no lo conocía, y me parece muy útil. Lo he utilizado con la página donde no aparece el mismo error que el mío (http://techtouche.com/), pero no encuentro diferencias, también es verdad que todavía no domino este complemento.

  • #57014

    LGrusin
    Miembro

    Entonces tendrás que cambiar [url=http://codex.wordpress.org/Function_Reference/the_excerpt#Control_Excerpt_Length_using_Filters]the_excerpt[/url] del featured para que limite a 20 o 15 palabras como mucho. En esa altura caben pocas palabras.

    Un saludo

  • #57017

    trochilus
    Participante

    Gracias LGrusin. He conseguido que limite el número de palabras, pero para todos los extractos. Me gustaría que en el featured el límite sean 15, y en el resto de los posts de la página principal sean 55, para que éstos no queden tan pobres de contenido.
    ¿Cómo puedo hacer para cambiar the_excerpt del featured únicamente? ¿Me podrías explicar de forma más detallada? He estado haciendo pruebas y no lo consigo.
    Un saludo

  • #57018

    almendron
    Participante

    A ver si te funciona lo siguiente:

    Lo primero de todo: copia de seguridad del archivo featured.php.

    Archivo featured.php. Verás que el archivo comienza por <?php. Pues bien, justo DEBAJO insertas las siguientes líneas:

    function string_limit_words($string, $word_limit)
    {
    $words = explode(' ', $string, ($word_limit + 1));
    if(count($words) > $word_limit)
    array_pop($words);
    return implode(' ', $words);
    }
    $excerpt = get_the_excerpt();

    Después, en ese mismo archivo buscas get_the_excerpt() y lo sustituyes por

    string_limit_words($excerpt,25) donde 25 es el número de palabras (ojo con no quitar la coma que va después).

    Si no te funcionara, te vas al archivo functions.php (primero copia de seguridad) y pones

    <?php
    function string_limit_words($string, $word_limit)
    {
    $words = explode(' ', $string, ($word_limit + 1));
    if(count($words) > $word_limit)
    array_pop($words);
    return implode(' ', $words);
    }
    ?>

    Después en featured.php, justo DEBAJO de <?php pones

    $excerpt = get_the_excerpt();

    Y luego lo mismo: get_the_excerpt() lo sustituyes por string_limit_words($excerpt,25)

  • #57019

    trochilus
    Participante

    Muchas gracias almendron, sobretodo por explicarlo tan detalladamente. La primera opción es la que más se ajusta a lo que estaba buscando, porque no cambia la extendión de los extractos de los posts, pero sí el del destacado. Pero, sólo incluye el título del post destacado, y me gustaría que incluyese algunas líneas de contenido, porque caben perfectamente. Por si acaso he cambiado el 25 por un número mayor, pero no se ven cambios. La segunda opción me da error, tal vez sea que no lo haga bien.
    Un saludo

  • #57021

    almendron
    Participante

    El problema es que no he tenido oportunidad de revisar bien el tema debido a su complejidad.

    Vamos a centrarnos en la primera opción, es decir en el archivo featured.php. La primera parte la has debido hacer bien pero no así la segunda.

    Busca la línea

    <p><?php echo strip_tags(get_the_excerpt(), '<a><strong>'); ?></p>

    y la sustituyes por

    <p><?php echo strip_tags(string_limit_words($excerpt,25), '<a><strong>'); ?></p>

    Creo que has cambiado toda la línea por string_limit_words($excerpt,25)y así no hace nada; y por eso solo te sale el título.

  • #57022

    trochilus
    Participante

    No, no. Lo había hecho tal cual habías dicho. Y por si acaso lo he vuelto a pegar como dices ahora, y sigue sin aparecer el texto.

  • #57023

    almendron
    Participante

    Dame algo de tiempo, lo miro en local y te digo algo. A ver si para mañana tengo la solución.

  • #57024

    almendron
    Participante

    Ya está 🙂

    El error estaba en que $excerpt = get_the_excerpt(); estaba mal colocado. No funcionaba porque en ese punto el ID de cada post no estaba disponible.

    Lo he probado y funciona. Archivo featured.php. Verás que el archivo comienza por <?php. Pues bien, justo DEBAJO insertas las siguientes líneas (Nota: fíjate que antes aquí iba una línea más que ahora no ponemos)

    function string_limit_words($string, $word_limit)
    {
    $words = explode(' ', $string, ($word_limit + 1));
    if(count($words) > $word_limit)
    array_pop($words);
    return implode(' ', $words);
    }

    Ahora buscas la línea <div class="featured-content"> y justo ENCIMA insertas la siguiente línea:

    <?php $excerpt = get_the_excerpt(); ?>

    Después buscas la línea

    <p><?php echo strip_tags(get_the_excerpt(), '<a><strong>'); ?></p>

    y la sustituyes por

    <p><?php echo strip_tags(string_limit_words($excerpt,30) . "...", '<a><strong>'); ?></p>

    He añadido los puntos suspensivos para que el corte no sea tan abrupto.

  • #57029

    trochilus
    Participante

    ¡Perfecto! 😀 Muchísimas gracias por dedicarle tiempo, resolverlo y explicarlo tan bien para alguien sin experiencia como yo.

    Un saludo, y gracias de nuevo.

  • #57030

    elpesao790
    Participante

    trochilus ayudame en algo men

  • #57034

    almendron
    Participante

    De nada. Por favor, marca el hilo como resuelto.

  • #57035

    trochilus
    Participante

    Sí, me había despistado viendo tu página.

  • #57062

    LGrusin
    Miembro

    Bueno ahora que han terminado, les digo una forma más fácil de hacerlo.

    En el archivo functions.php del theme añadir:

    En el archivo featured.php añadir antes de get_the_excerpt para que quede así:

    Después del primer endwhile

    …y eso es todo amigos!!!!!!

    Un saludo

  • #57066

    almendron
    Participante

    Anda que ya te vale, Grusin jajajajaja

    Podías haberte pasado antes por el hilo 🙂

  • #57070

    LGrusin
    Miembro

    Jo, es que los veo tan entretenidos que no me gusta interrumpir… 😉

    Educado que es uno, a la par de ahorrativo, ya saben, la crisis…

    Saludos

  • #57088

    almendron
    Participante

    Pues no te cortes e interrumpe que a mi por lo menos no me molesta. Todo lo contrario.

  • #57105

    trochilus
    Participante

    ¡Vaya! Da gusto encontrar gente como vosotros. Muchas gracias por vuestras aportaciones.
    Dado que LGrusin se ha tomado las molestias después de resuelto el hilo de aportar otra solución al problema, lo he probado como creo que dice, y no me sale como lo propuesto por almendron, que es como yo lo quiero. En el featured de la portada el texto formado por 15 palabras se repite una segunda vez (que yo vea, no sé si se dan más veces, puesto que se desvanece). Tal vez sea que yo lo haya pegado en el lugar equivocado, no lo sé.
    Sólo quería comentarlo.
    Saludos para los dos!!!

  • #57119

    LGrusin
    Miembro

    Lógicamente no puedes tener los dos códigos funcionando, o usas la solución aportada por almendron o la que yo di, las dos a la vez repetirán el resultado supongo.

    Si te fijas en el archivo featured.php sólo hay que añadir dos líneas nuevas en los lugares que digo. El resto es exactamente como venía el archivo con el theme. Me refiero a la siguiente línea, que habías modificado para el otro código. Tal como viene en el theme es así como debes dejarla para que funcione lo otro:

    <p><?php echo strip_tags(get_the_excerpt(), '<a><strong>'); ?></p>

    Dicho de otra manera, debes usar el archivo tal como venía original y añadir sólo dos líneas.

    Fijate bien dónde has colocado los códigos y que sean en los lugares que indiqué antes.

    Un saludo

  • #57139

    trochilus
    Participante

    Para hacer la prueba había utilizado los archivos que guardo originales y que vienen al descargar el theme. Los guardo por si tengo problemas. El error tenía en que había copiado tal cual lo comentas, y no me había dado cuenta que ya tenía escrito esto que ya venía con el theme:
    <?php add_filter(‘excerpt_length’, ‘new_excerpt_length’); ?>
    El error estaba en que lo tenía dos veces.
    Así que solventado ésto, funciona perfectamente.
    Gracias, y disculpa mi despiste.
    Un saludo

El foro ‘Themes y Diseño’ está cerrado y no se permiten nuevos debates ni respuestas.

Pin It on Pinterest

Ir al contenido