web-dev-qa-db-fra.com

Excerpt_length ni the_excerpt ne fonctionnent pas correctement

Ce que j'utilise
WAMP, nouvelle installation de WordPress 4.3.1 (Pas de plugins) et thème de démarrage - Underscore.

Ce que j'essaie de réaliser
Je veux avoir un article de blog, qui ne montre que l'extrait, j'ai donc modifié content.php et changer

<?php
        the_content( sprintf(
            /* translators: %s: Name of current post. */
            wp_kses( __( 'Continue reading %s <span class="meta-nav">&rarr;</span>', 'cthulhu' ), array( 'span' => array( 'class' => array() ) ) ),
            the_title( '<span class="screen-reader-text">"', '"</span>', false )
        ) );
    ?>

à

<?php the_excerpt(); ?>

Maintenant, je peux voir mon extrait personnalisé, mais wordpress ne limite pas la longueur de l'extrait -> J'ai mis 100 mots dans Extraits et il semble n'y avoir aucune limite dans le contenu (ce qui devrait être 55 mots par défaut) .

J'ai aussi essayé d'ajouter une fonction à functions.php

function custom_excerpt_length( $length ) {
    return 20;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );

ça ne marche pas.

J'ai aussi essayé différents thèmes - toutes les versions de Twenty - et c'est toujours pareil.

Peut-être que je suis juste trop fatigué, mais j'ai tellement de difficultés avec ça….

1
Kailo

the_excerpt() ...

Affiche l'extrait de la publication en cours après l'application de plusieurs filtres, notamment le formatage auto-p qui transforme les doubles sauts de ligne en paragraphes HTML. Il utilise get_the_excerpt() pour générer d’abord une version réduite du contenu complet de la publications’il n’ya pas d’extrait explicite pour la publication.

get_the_excerpt()applique le get_the_excerpt filtre auquel wp_trim_excerpt() est attaché .

Si vous regardez cette fonction vous remarquerez que excerpt_length n'est appliqué que lorsque l'extrait est généré automatiquement à partir du corps de la publication. Sinon, l'extrait écrit à la main passe juste au travers.

Honnêtement, puisque vous écrivez les extraits, je ne comprends pas pourquoi vous voulez les tronquer automatiquement, mais si vous devez le faire, vous pouvez ajouter un filtre à wp_trim_excerpt en utilisant wp_trim_excerpt() comme modèle.

0
s_ha_dum