Leer más no aparece cuando escribo mi propio Extracto

2

En mi blog, en todos mis bucles principales, lo tengo configurado para mostrar el excerpt en lugar del content

Si hago una publicación más larga y dejo el cuadro de texto excerpt vacío, wordpress hará su propio extracto de mi publicación y mostrará el [...] o un enlace personalizado al final. Eso es genial, sin embargo, si HAGO ingresar mi propio extracto en el cuadro de texto del extracto, se mostrará ese texto pero no se mostrará la parte más leída.

¿Alguien sabe cómo puedo hacer que siempre muestre una lectura más?

    
pregunta JasonDavis 04.01.2012 - 01:21

4 respuestas

3

Tal vez una declaración condicional como la siguiente funcione. La lógica es: "Si la publicación tiene un extracto explícito, agregue un enlace para leer más. De lo contrario, use el comportamiento del extracto predeterminado".

if($post->post_excerpt) {
    the_excerpt();
    echo '<a href="'.get_permalink().'">Read More</a>';
} else {
    the_excerpt();
}

Puedes usar esto en combinación con la sugerencia de Gavin para unificar la apariencia del enlace "Leer más".

    
respondido por el 5t3ph 05.01.2012 - 17:26
3

Sé que esa pregunta fue hace más de 2 años, pero creo que aquí hay una respuesta más correcta.

function new_excerpt_more($more) {
    global $post;
    return $more . '<a href="'. get_permalink( $post->ID ). '" class="readmore">more &raquo;</a>';
}
add_filter('the_excerpt', 'new_excerpt_more');

Incluso si su extracto está lleno, el enlace "leer más" se imprimirá después del párrafo del extracto.

    
respondido por el Kamil 26.08.2014 - 11:03
1

Agregue esto en las funciones de su tema.php:

function new_excerpt_more($more) {
       global $post;
    return '<a href="'. get_permalink($post->ID) . '">Read the Rest...</a>';
}
add_filter('excerpt_more', 'new_excerpt_more');

Más información: Haga que el enlace "lea más" en la publicación

¡Buena suerte!

    
respondido por el GavinR 04.01.2012 - 03:39
1

Sé que es tres años tarde, pero encontré una solución mejor que incluso puede ayudarme en el futuro:

Primero, limpia el extracto predeterminado más para eliminar los puntos suspensivos predeterminados [...] :

function clean_excerpt_more() {
    return '';
}

add_filter( 'excerpt_more', 'clean_excerpt_more' );

Luego, obtenemos el extracto y agregamos el enlace en línea , en el mismo párrafo del extracto. (La mayoría de las soluciones anteriores muestran el enlace fuera del párrafo, en una nueva línea).

function custom_the_excerpt( $excerpt ) {
    global $post;

    if( $post->post_excerpt ) {
        // If the post has manual excerpt,
        // it already has a point to end
        // the paragraph, so we don't want
        // the point + the ellipsis: ....
        // Clean it!
        $ellipsis = '';
    } else {
        $ellipsis = '...';
    }

    // Save the link in a variable
    $link = $ellipsis . ' <a class="moretag" href="' . get_permalink( get_the_ID() ) . '">' . __( 'Read more &raquo;', 'starion' ) . '</a>';

    // Concatenate the link to the excerpt
    return $excerpt . $link;

    }

add_filter( 'get_the_excerpt', 'custom_the_excerpt' );

Editar: Una nota final. No necesitas modificar nada más. Utilice the_excerpt(); normalmente para mostrar el extracto con el enlace.

Espero que ayude a alguien :)

    
respondido por el Gerard 08.04.2015 - 13:42

Lea otras preguntas en las etiquetas