Eliminar el enlace "Continuar leyendo" solo del extracto de avance
Quiero eliminar el enlace "Continuar leyendo" solo del extracto de avance (teaser) y no del extracto automático, para el cual ya existe un filtro disponible.
Este es el código original; proviene de la plantilla de página Showcase Template:
<?php while ( have_posts() ) : the_post(); ?>
<?php
if ( '' != get_the_content() )
get_template_part( 'content', 'intro' );
?>
<?php endwhile; ?>
Aquí está el contenido de Intro:
<div class="entry-content">
<?php the_content(); ?>
<?php wp_link_pages( array( 'before' => '<div class="page-link"><span>' . __( 'Páginas:', 'mytheme' ) . '</span>', 'after' => '</div>' ) ); ?>
<?php edit_post_link( __( 'Editar', 'mytheme' ), '<span class="edit-link">', '</span>' ); ?>
</div><!-- .entry-content -->
-->

Cambiar el texto estándar para todos los extractos:
function custom_excerpt_more($more) {
global $post;
$more_text = '...';
return '… <a href="'. get_permalink($post->ID) . '">' . $more_text . '</a>';
}
add_filter('excerpt_more', 'custom_excerpt_more');
Crear tu propia función de extracto:
// Función de Extracto por Rafael Marques ;)
function rm_excerpt($limit = null, $separator = null) {
// Establecer límite de palabras estándar
if (is_null($limit)){
$excerpt = explode(' ', get_the_excerpt(), '15');
} else {
$excerpt = explode(' ', get_the_excerpt(), $limit);
}
// Establecer separador estándar
if (is_null($separator)){
$separator = '...';
}
// Generador de Extracto
if (count($excerpt)>=$limit) {
array_pop($excerpt);
$excerpt = implode(" ",$excerpt).$separator;
} else {
$excerpt = implode(" ",$excerpt);
}
$excerpt = preg_replace('`\[[^\]]*\]`','',$excerpt);
echo $excerpt;
}
Usar <?php rm_excerpt(); ?>
cuando quieras mostrar un extracto personalizado. El primer valor establece el límite de palabras y el segundo el separador. Ejemplo: <?php rm_excerpt(10,' (...)'); ?>
. Para crear un enlace separado "leer más", inserta <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">¿Leer más?</a>

add_filter( 'the_content_more_link', 'wpsites_read_more_link' );
function wpsites_read_more_link() {
return '<a class="more-link" href="' . get_permalink() . '"></a>';
}
Añade esto a tu archivo functions.php y eliminará el enlace "Leer más".

Parece que deseas eliminar el texto "Continuar leyendo" del the_content(). Si es así, este ejemplo del Codex sería lo que necesitas:
Técnicas de Leer Más
Los parámetros dentro de la etiqueta de plantilla the_content() son los siguientes:
<?php the_content( $more_link_text , $strip_teaser ); ?>
$more_link_text establece el texto del enlace como "Leer más". El segundo, $strip_teaser, define si el enlace "más" debe estar oculto (TRUE) o mostrado (FALSE). Por defecto es FALSE, lo que muestra el texto del enlace.
Para eliminar el avance:
Cambia the_content(); en tu index.php por (es decir, el segundo parámetro controla esto):
`the_content('',TRUE,'')`
Incluye
<!--noteaser-->
en el texto de la entrada, justo después de<!--more-->
.
ACTUALIZACIÓN
Según tu código, parece que has añadido el código en el lugar incorrecto. Sin ver tus archivos, probablemente necesites ir a content.php y buscar the_content() para realizar el cambio allí. Lo verifiqué en uno de mis temas que usa plantillas y funciona bien. También deberías leer más sobre plantillas para entender cómo funcionan. En resumen:
1 - Elimina este texto de tu código: if ( '' != get_the_content('',TRUE,'') )
2 - Ve a content.php en tu tema y encuentra the_content() y cámbialo a the_content('',TRUE,'')
3 - Añade <!--noteaser-->
como se indicó anteriormente
Esto es si estás usando <!--more-->
para configurar manualmente los extractos.

Hola chowwy -- Vi eso y asumí que elimina el avance por completo en lugar de solo eliminar el enlace "Continuar leyendo". ¿No es correcto?

Parece que $strip_teaser indica si el enlace "más" debe ocultarse/mostrarse. No indica que el extracto en sí sea eliminado.

chowwy -- no funciona. Fíjate que dice poner la etiqueta <!--noteaser--> después de la etiqueta more, lo cual no aplica a extractos teaser porque no tienen etiquetas more. ¿Tiene sentido? Intenté insertar <!--noteaser--> en el editor de todos modos y no obtuve nada.

Marcus, ¿tienes algún código que podamos ver? ¿Está esto en el loop como the_content() o estás usando the_excerpt() en otro lugar?

Para que quede claro, ¿cómo puedes insertar <!--noteaser--> en el campo de extracto manual después de la etiqueta <!--more--> cuando el campo de extracto manual no usa la etiqueta <!--more--> por defecto? No creo que estemos hablando de lo mismo.

Cuando digo extracto manual, significa que estás decidiendo dónde cortar el texto dentro del editor de publicaciones, no usando el campo de extracto separado. Si estás usando el campo de extracto, esta pregunta/respuesta podría ser útil - http://wordpress.stackexchange.com/questions/26837/how-to-remove-read-on-content-in-the-excerpt

Por eso usé la palabra "teaser" (avance), porque a veces WP confunde el "extracto manual" con el "extracto teaser", como puedes ver link donde distingue entre el teaser y el extracto manual: "El extracto manual de WordPress a menudo se confunde con el extracto automático o con el teaser (la parte de una publicación que aparece en la página principal cuando usas la etiqueta More). Aunque ambos están relacionados con el extracto manual, son diferentes de él."

Marcus, el artículo que enlazaste indica que el teaser es la parte de una publicación que aparece en la página principal cuando usas la etiqueta More. Por eso te proporcioné una respuesta que trata sobre el teaser. Mucha suerte.

Lo siento mucho. He estado despierto desde las 3:30 en este trabajo y leí mal completamente el codex cuando abrí el ticket. Muchas gracias por tu tiempo.

Tuve que entrar en la carpeta wp-includes, dentro del archivo formatting.php y editar la línea 3284 para cambiar el número predeterminado de palabras a incluir en el extracto a un número enorme de esta manera:
$excerpt_length = apply_filters( 'excerpt_length', 550000000000000 );
El valor predeterminado es solo 55
