Respuesta a: Ocultar enlace "leer mas"

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

#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/

Pin It on Pinterest

Ir al contenido