Eliminar más o [...] texto de una publicación corta

8

Utilizo un tema que tiene un límite de caracteres para shortpost y se muestra [...] al final del límite de caracteres.

Quiero eliminar esto, así que busco the_excerpt();y reemplazo conthe_content();

El problema se resuelve con contenido normal, pero todavía tengo problemas con el tipo de publicación de imagen y existe <?php the_excerpt(); ?>la posibilidad de que cuando cambie esto, mi mensaje corto actúe como publicación completa y no esté relacionado con la duración de la publicación.

Intento abrir todos los archivos PHP en el tema y busco palabras clave como: límite, longitud, extracto para encontrar dónde está el código que define la longitud del shortpost, incluso buscar "[...]" en todos los archivos e idiomas, pero yo No sé de dónde viene eso.

Pero todo lo que encuentro es alguna línea de código en function.php

if ( ! function_exists( 'string_limit_words' ) ) :
function string_limit_words($str, $limit = 18 , $need_end = false) {
    $words = explode(' ', $str, ($limit + 1));
    if(count($words) > $limit) {
        array_pop($words);
        array_push($words,'...');
    }
    return implode(' ', $words);
}
endif;

Y cuando aumento 18 no cambia nada

¿Qué código debo buscar?

Arioman
fuente

Respuestas:

19

El códice es tu amigo y debería ser tu primera parada :-)

El [...]es agregado por the_excerpt(). Se proporciona un filtro llamado excerpt_morefiltro que se incluye específicamente para personalizar el texto Leer más después del extracto

Para eliminar el [...]texto después del extracto, puede hacer lo siguiente

function new_excerpt_more( $more ) {
    return '';
}
add_filter('excerpt_more', 'new_excerpt_more');
Pieter Goosen
fuente
gracias por responder, su código funciona bien para eliminar [...], pero aún así el shortpost es limitado y la palabra cortada después de algunos caracteres quiero actuar normal (todo antes de leer más muestra la etiqueta en mi breve publicación)
Arioman
otra pregunta solo por curiosidad, ¿cómo puedo cambiar [...] a otra cosa, por ejemplo [más ...]
Arioman
Deberías leer esta publicación . He cubierto sobre todo en esa publicación. Espero eso ayude :-). Recuerde aceptar mi respuesta si ayudó a resolver su problema.
Pieter Goosen
esto parece eliminar solo el enlace leer más. El [...]sigue ahí.
Jules
3

Como otros ya han señalado, usar el excerpt_moregancho de filtro es el camino correcto.

Solo quería agregar que no tiene que 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 matriz vacía.

En este caso necesitamos __return_empty_string ()

Puede agregar este código a su complemento o a las funciones de su tema.php:

<?php 
// This will add a filter on `excerpt_more` that returns an empty string.
add_filter( 'excerpt_more', '__return_empty_string' ); 
?>
baras
fuente
1

eso es trabajo para mi!

function change_excerpt( $text )
{
    $pos = strrpos( $text, '[');
    if ($pos === false)
    {
        return $text;
    }

    return rtrim (substr($text, 0, $pos) );
}
add_filter('get_the_excerpt', 'change_excerpt');
HAROONMIND
fuente
0

Deberías agregar esto a tu functions.php

    function custom_excerpt_more( $more ) {
    return '';//you can change this to whatever you want
}
add_filter( 'excerpt_more', 'custom_excerpt_more' );

Además, el uso the_excerpttiene 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 desea modificar la longitud del extracto, puede agregar este fragmento a su functions.php:

function custom_excerpt_length( $length ) {
    return 20;//change the number for the length you want
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );

Puedes leer más sobre esto aquí

Tomás Cot
fuente
¿A qué versiones te diriges? Eso es pre 2.9 :-)
Pieter Goosen
@PieterGoosen, supongo que está equivocado.
Tomás Cot
su código funciona bien con el cambio de longitud, pero cuando lo elimine [...] será feo cuando una parte del párrafo parezca faltar, ¡será genial si de alguna manera detecta un párrafo en su lugar! // otro problema con el extracto es acerca de los códigos cortos, no puedo poner el reproductor de video o la presentación de diapositivas en mi breve publicación
Arioman
@Arioman, puedes cambiar el [...] con un enlace que dice "Sigue leyendo", o lo que quieras. Ahora, si desea tener códigos cortos que funcionen, the_excerptno es lo que está buscando, debe agregarlo a la pregunta, ya que las respuestas cambiarán.
Tomás Cot
@ TomásCot gracias por esta fantástica guía. pongo todos los códigos (código completo) en mi function.php y elimino $ wpse_excerpt = strip_tags ($ wpse_excerpt, wpse_allowedtags ()); para aceptar todas las etiquetas, uso el reproductor de video continuo para insertar video y genera códigos cortos como: [stream flv = http: //****/clip/shad.m4v embed = false share = false width = 640 height = 360 dock = barra de control verdadera = sobre ancho de banda = inicio automático alto = respuesta falsa = 16: 9 /] pero aun así recibo un mensaje de texto: * Video: mi video en lugar de mostrar mi reproductor de video en un mensaje corto ¿dónde está mi problema?
Arioman
0

Intenta crear una nueva función en tu functions.php:

function custom_excerpt() {
 $text=preg_replace( "/\\[&hellip;\\]/",'place here whatever you want to replace',get_the_excerpt());
echo '<p>'.$text.'</p>';
}

Luego use la nueva función en su página.

JaZ
fuente
0

'excerpt_more' es un enlace de WordPress. Devuelve el extracto de contenido. Para eliminar el [...] texto posterior al extracto, puede volver en blanco como se muestra a continuación o sus requisitos personalizados. Use este código en function.php

function custom_excerpt_more( $excerpt ) {
    return '';
}
add_filter( 'excerpt_more', 'custom_excerpt_more' );
Tariqul_Islam
fuente