WordPress : Comment ajoutez-vous une longueur d’extrait personnalisée dans le thème enfant vingt-onze?

Publié par Jean-Michel le

J’ai un problème pour afficher la longueur de l’extrait personnalisé. J’ai cherché une solution sur wordpress stackexchange et j’ai trouvé ceci:

    remove_filter( 'excerpt_length', 'twentyeleven_excerpt_length' ); 
add_filter('excerpt_length', 'new_excerpt_length');
function new_excerpt_length($length) {
  return 50;
}

Lors de l’ajout de ceci à functions.php , j’obtiens toujours le même extrait de 3 lignes qu’auparavant. Si je change l’instruction return en quelque chose d’autre comme, return 8 ou return 17, j’obtiens toujours le même extrait qu’avant.

La fonction d’extrait est insérée dans content.php comme ceci :

<div class="entry-content">
            <?php the_excerpt(); ?>
            <?php wp_link_pages( array( 'before' => '<div class="page-link"><span>' . __( 'Pages:', 'twentyeleven' ) . '</span>', 'after' => '</div>' ) ); ?>
        </div><!-- .entry-content -->
        <?php endif; ?>

Qu’est-ce que je fais de mal ici ?

Lire également:  ensemble d'outils pour la recommandation de développement de thèmes wordpress

Solution n°1 trouvée

Dans votre deuxième approche, supprimez <?php the_excerpt(); ?>-le et remplacez-le par :

<?php echo wp_trim_words( get_the_excerpt() , 60); ?>

il montrera 60 mots changer pour le nombre de mots que vous voulez.

Modifier
j’ai remplacé exactement ce qui suit dans content.php :

<div class="entry-content">
<?php the_content( __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'twentyeleven' ) ); ?>
<?php wp_link_pages( array( 'before' => '<div class="page-link"><span>' . __( 'Pages:', 'twentyeleven' ) . '</span>', 'after' => '</div>' ) ); ?>
</div><!-- .entry-content -->

avec ça:

Lire également:  Ajouter une fonctionnalité de légende au thème WordPress personnalisé

avec:

<div class="entry-content">
<?php echo wp_trim_words( get_the_excerpt() , 60); ?>
<?php wp_link_pages( array( 'before' => '<div class="page-link"><span>' . __( 'Pages:', 'twentyeleven' ) . '</span>', 'after' => '</div>' ) ); ?>
</div><!-- .entry-content -->

Fonctionne comme un charme sinon que vous avez déjà changé un peu plus ailleurs dans le code ?
Je suppose que vous en avez fait un thème enfant ou modifiez-vous le code d’origine? Lorsqu’il est dans le thème de l’organisation… mettez votre copie que vous avez faite avant de modifier quoi que ce soit et remplacez exactement le code comme indiqué ici, vous verrez que cela fonctionne ! S’il se trouve dans votre thème enfant, remplacez-le également par une nouvelle copie de ce fichier et remplacez le code exact comme indiqué. Je peux le changer en n’importe quel nombre… même sans ajouter d’extrait dans le backend, cela montre exactement ce qu’il devrait.

Lire également:  Wordpress : Afficher tous les messages sur un multisite vingt-treize

Remarque : tout est fait et vérifié dans un thème Twenty Eleven « vierge ». Cela fonctionne si vous suivez et faites exactement comme indiqué et que vous n’avez apporté aucune modification au functions.php ou ailleurs qui annule cela. Bonne chance et bon week-end.

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *