Ocultar enlace "leer mas"

Inicio Foros WordPress Themes y Diseño Ocultar enlace "leer mas"

Etiquetado: ,

Este debate contiene 7 respuestas, tiene 4 mensajes y lo actualizó  almendron hace 6 años, 10 meses.

  • Autor
    Publicaciones
  • #23440

    Boeing
    Participante

    <p>¡Buenas!</p>
    <p>¿Hay alguna forma de ocultar el enlace de "leer mas" o "read more" cuando no hay nada mas en la entrada?</p>
    <p>Por si sirve de algo, en código del enlace lo tengo así:</p>
    <p>

    </p>
    <p>Saludos y gracias!
    </p>

  • #58092

    lumbreras
    Participante

    Que plantilla es donde quieres modificar esa parte?, y en ese caso pues yo eliminaria esa linea, asi de sencillo, pero de preferencia, necesito ver el codigo completo para poder ayudarte mejor, saludos!

    Y también, si quieres eliminarlo o solo ocultarlo en algunos casos?

  • #58126

    Boeing
    Participante

    Buenas.

    Es en el index.php del theme alltuts ([url=http://gk.site5.com/t/322](link)[/url].

    Lo que me gustaría es ocultarlo cuando sea una entrada corta (de menos de 40 lineas, que es como lo tengo configurado con el excerpt).

    Vamos, para que no salga lo de “leer mas” cuando en realidad no hay nada mas que leer.

    ¡Saludos y gracias!

  • #58154

    almendron
    Participante

    En principio, bastaría con sustituir en el index.php

    <a href="<?php the_permalink() ?>" class="more-link">Continue Reading &raquo;</a>

    Por

    <?php if(str_word_count($post->post_content) > 75) { ?>
    <a href="<?php the_permalink() ?>" class="more-link">Continue Reading &raquo;</a>
    <?php } ?>

    (Nota: he puesto 75 porque es como está definido el excerpt en functions.php)

    No obstante, esto plantea un problema adicional:

    En las entradas de menos de 75 palabras no aparecerá el “Continuar leyendo” pero el texto será plano, es decir, sin negritas, cursivas o enlaces.

    A lo largo del día espero poder ofrecerte una solución completa.

  • #58161

    almendron
    Participante

    Ha dado la casualidad de que estaba intentando hacer lo mismo que tú.

    Si solo aplicaras la solución que te he puesto en mi anterior respuesta, las entradas quedarían como las tienes, es decir, con texto plano o lo que es lo mismo sin que se vean las negritas o los enlaces.

    Ahora imagina una entrada corta con dos enlaces. No se mostrarían y tampoco saldría lo de “Continuar leyendo”. El visitante creería que no hay más que leer al faltar el aviso. Podríamos hacer que se mostrara el contenido en las entradas cortas en lugar del resumen, pero entonces unas quedarían con texto plano (las largas) y otras con texto con formato (las entradas cortas).

    Para evitarlo, vamos a hacer que se muestren las negritas, cursivas, enlaces, etc en todas las entradas (se muestre solo el resumen o el contenido total).

    La solución completa es la siguiente:

    1) Archivo functions.php. Elimina las siguientes líneas:

    function home_excerpt_length($length) {
    return 75;
    }
    add_filter('excerpt_length', 'home_excerpt_length');

    No hacen falta porque la longitud del resumen la indicaremos con un pluign (ver paso siguiente).

    2) Instala el plugin [url=http://wordpress.org/extend/plugins/advanced-excerpt/]Advanced Excerpt[/url]. En su configuración:

    .- Excerpt Length: 75
    .- Marca la casilla “Use words?”
    .- Finish: marca “Word”
    .- ‘Read-more’ Text: lo dejas en blanco y desmarcas la casilla “Add link to excerpt”
    .- Strip Shortcodes: marca la casilla.
    .- Keep Markup:seleccionas todas.

    El plugin establece la longitud del resumen y nos permite que se vean las negritas, cursivas, enlaces, etc cuando se usa excerpt.

    3) En el index.php, sustituyes <?php the_excerpt(); ?> por

    <?php
    global $post;
    $numcontent = str_word_count($post->post_content);
    if ($numcontent > 75) {
    echo the_excerpt();
    } else {
    echo the_content();
    }
    ?>

    Cuando la entrada tenga más de 75 palabras, entonces mostrará un resumen. En caso contrario, el contenido completo.

    4) Por último, lo que te había dicho en mi anterior respuesta. Archivo index.php. Sustituyes

    <a href="<?php the_permalink() ?>" class="more-link">Continue Reading »</a>

    Por

    <?php if(str_word_count($post->post_content) > 75) { ?>
    <a href="<?php the_permalink() ?>" class="more-link">Continue Reading »</a>
    <?php } ?>

    Solo mostrará lo de “Continuar leyendo” cuando la entrada tenga más de 75 palabras.

    Puedes ver su funcionamiento en

    http://www.almendron.com/tribuna/page/2406/

  • #58166

    LGrusin
    Miembro

    …y si te parece muy complicado lo anterior, también puedes eliminar sin más la línea:

    Yo creo que esa línea está de más, puesto que aunque uses the_content no te afecta para nada.

    Un saludo

  • #58197

    Boeing
    Participante

    ¡Muchas gracias Almendron!

    No creo que haga falta decir que funcionó perfectamente.

    ¡Saludos!

  • #58199

    almendron
    Participante

    De nada. Un saludo.

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

Pin It on Pinterest