Eliminar el texto más o [...] de una entrada corta
Uso un tema que tiene un límite de caracteres para entradas cortas y muestra [...] al final del límite de caracteres.
Quiero eliminar esto, así que busco the_excerpt();
y lo reemplazo con the_content();
El problema se resuelve con el contenido normal pero aún tengo problemas con el tipo de entrada de imagen y hay un <?php the_excerpt(); ?>
que cuando lo cambio, mi entrada corta actúa como una entrada completa y no está relacionado con la longitud de la entrada.
Intenté abrir todos los archivos PHP en el tema y buscar palabras clave como: limit, length, excerpt para encontrar dónde está el código que define la longitud de la entrada corta, incluso busqué "[...]" en todos los archivos e idiomas pero no sé de dónde viene.
Todo lo que encontré es algunas líneas de código en function.php
if ( ! function_exists( 'string_limit_words' ) ) :
function string_limit_words($str, $limit = 18 , $need_end = false) {
// Divide la cadena en palabras con el límite especificado
$words = explode(' ', $str, ($limit + 1));
if(count($words) > $limit) {
array_pop($words);
array_push($words,'...');
}
return implode(' ', $words);
}
endif;
¡Y cuando aumento el 18 nada cambia!
¿Qué código debo buscar?
El codex es tu amigo y debería ser tu primera parada :-)
El [...]
es añadido por the_excerpt()
. Existe un filtro llamado excerpt_more
que está específicamente incluido para personalizar el texto "leer más" después del extracto.
Para eliminar el [...]
después del texto del extracto, puedes hacer lo siguiente:
function new_excerpt_more( $more ) {
return '';
}
add_filter('excerpt_more', 'new_excerpt_more');

gracias por responder
tu código funciona bien para eliminar [...], pero los posts cortos aún están limitados y las palabras se cortan después de ciertos caracteres
Quiero que funcione normal (que muestre todo lo que está antes de la etiqueta "leer más" en mis posts cortos)

Otra pregunta solo por curiosidad, ¿cómo puedo cambiar los [...] por algo diferente, por ejemplo [ más... ]

Deberías leer este post. He cubierto casi todo en ese post. Espero que te ayude :-). Recuerda aceptar mi respuesta si te ayudó a resolver tu problema.

Como otros ya han señalado, usar el gancho de filtro excerpt_more
es la forma correcta de proceder.
Solo quería agregar que no necesitas escribir una función que devuelva una cadena vacía. WordPress tiene algunas funciones integradas para devolver verdadero, falso, cero, nulo, cadena vacía o arreglo vacío.
En este caso necesitamos __return_empty_string()
Puedes agregar este código a tu plugin o al archivo functions.php de tu tema:
<?php
// Esto agregará un filtro en `excerpt_more` que devuelve una cadena vacía.
add_filter( 'excerpt_more', '__return_empty_string' );
?>

Debes agregar esto a tu archivo functions.php
function custom_excerpt_more( $more ) {
return '';//puedes cambiar esto por lo que desees
}
add_filter( 'excerpt_more', 'custom_excerpt_more' );
Además, usar the_excerpt
tiene la ventaja de que limpia automáticamente el contenido y elimina todas las imágenes y otras etiquetas HTML.
Puedes leer más aquí
Si también deseas modificar la longitud del extracto, puedes agregar este fragmento de código a tu functions.php
:
function custom_excerpt_length( $length ) {
return 20;//cambia el número por la longitud que desees
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
Puedes leer más sobre esto aquí

tu código funciona bien cambiando la longitud pero cuando quito [...] se ve feo cuando parece que falta parte de un párrafo
¡Sería genial si de alguna manera detectara un párrafo completo en lugar de por longitud!
// otro problema con el extracto es acerca de los shortcodes, no puedo poner un reproductor de video o slideshow en mis publicaciones cortas

@Arioman, puedes cambiar el [...] con un enlace que diga "Continuar leyendo", o lo que prefieras. Ahora, si quieres que los shortcodes funcionen, the_excerpt
no es lo que buscas, deberías añadir eso a la pregunta, ya que las respuestas cambiarán.

@TomásCot gracias por esta fantástica guía. Puse todos los códigos (código completo) en mi function.php y eliminé $wpse_excerpt = strip_tags($wpse_excerpt, wpse_allowedtags()); para aceptar todas las etiquetas. Uso un reproductor de video en streaming para insertar videos y genera shortcodes como: [stream flv=http://***/clip/shad.m4v embed=false share=false width=640 height=360 dock=true controlbar=over bandwidth=high autostart=false responsive=16:9 /] pero aún obtengo un texto: Video: mi video en lugar de mostrar mi reproductor de video en el shortpost ¿Dónde está mi problema?

'excerpt_more' es un hook de WordPress. Devuelve el extracto del contenido.
Para eliminar los [...] después del texto del extracto, puedes devolver una cadena vacía como se muestra a continuación o según tus requisitos personalizados. Usa este código en el archivo functions.php
function custom_excerpt_more( $excerpt ) {
return '';
}
add_filter( 'excerpt_more', 'custom_excerpt_more' );
