web-dev-qa-db-fra.com

Supprimer plus ou [...] texte de l'article court

J'utilise un thème qui a une limite de caractères pour shortpost et affiche à la [...] fin de la limite de caractères.

Je veux supprimer ceci, alors je recherche the_excerpt(); et le remplace par the_content();

Le problème a été résolu avec le contenu normal, mais le problème avec le type de message d’image est toujours présent. <?php the_excerpt(); ?> indique que lorsque je modifie cette action, mon post-abrégé se comporte comme un message complet et n’est pas lié à la longueur du message.

J'essaie d'ouvrir tous les fichiers PHP dans le thème et à la recherche de mots clés tels que: limite, longueur, extrait pour trouver où est le code qui définit la longueur de shortpost, même rechercher "[...]" dans tous les fichiers et la langue, mais je ne sais pas d’où cela vient.

Mais tout ce que je trouve est une ligne de code dans 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;

Et quand j'augmente 18 rien ne change!

Quel code je dois chercher?

8
Arioman

Le codex est votre ami et devrait être votre premier arrêt :-)

Le [...] est ajouté par the_excerpt() . Il existe un filtre fourni appelé excerpt_more qui est spécifiquement inclus pour personnaliser le texte lu après l'extrait.

Pour supprimer le [...] après le texte de l'extrait, procédez comme suit:

function new_excerpt_more( $more ) {
    return '';
}
add_filter('excerpt_more', 'new_excerpt_more');
18
Pieter Goosen

c'est un travail pour moi!

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');
1
HAROONMIND

Essayez de créer une nouvelle fonction dans votre functions.php:

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

Ensuite, utilisez la nouvelle fonction sur votre page.

0
JaZ

Vous devriez ajouter ceci à votre functions.php

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

De plus, l'utilisation de the_excerpt présente l'avantage de nettoyer automatiquement le contenu et de supprimer toutes les images et autres balises HTML.

Vous pouvez lisez plus ici

Si vous souhaitez également modifier la longueur de l'extrait, vous pouvez ajouter cet extrait à votre 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 );

Vous pouvez en lire plus à ce sujet here

0
Tomás Cot