WordPress : Quel fichier gère les derniers messages du bloc, je veux examiner la gestion des extraits

Publié par Jean-Michel le

J’utilise la dernière version de wordpress et le thème vingt vingt.

Lorsque j’utilise le dernier bloc de publication dans l’éditeur de blocs, je montre des extraits.

Il semble que l’utilisation de [more] pour gérer la longueur des extraits automatiques ne fonctionne pas correctement.

J’ai essayé de jouer avec le réglage du nombre maximum de mots.

Je m’attends à pouvoir définir le nombre maximum de mots à, disons 25, et dans certains messages « B », mettre le marqueur [more] au mot 20, que j’obtiendrais un extrait de 25 mots dans le message A et 20 dans le message B

Lire également:  Modifier le modèle wordpress - ajouter un sous-menu

Cela ne fonctionne pas, alors j’essaie de définir le nombre maximum de mots sur 100, sans toujours respecter le marqueur [more].

Je suis un très bon hacker, par où commencer ? Est-ce un problème connu et plus difficile que prévu ?

Merci!

Solution n°1 trouvée

Quelque chose que vous pourriez essayer, j’ai trouvé cette solution il y a des années et cela a bien fonctionné – cela fait plus que simplement permettre de contourner la limitation du nombre de mots, cela permet également certains styles de base de sorte que si votre extrait contient des mots en gras, ceux-ci apparaîtront dans l’extrait .

// Improves the look of the excerpt, more words, allows bolding

function improved_trim_excerpt($text) {
$raw_excerpt = $text;

$excerpt_more = '&hellip;<a class="more-link" href="'. esc_url( get_permalink() ) . '" title="' . esc_html__( 'Continue reading', 'wp-answers' ) . ' &lsquo;' . get_the_title() . '&rsquo;">' . wp_kses( __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'wp-answers' ), array( 'span' => array(
        'class' => array() ) ) ) . '</a>';

if ( '' == $text ) {
    $text = get_the_content('');
    $text = strip_shortcodes( $text );
    $text = apply_filters('the_content', $text);
    $text = str_replace(']]>', ']]&gt;', $text);
    $text = strip_tags($text, '<b><strong><del><em>');
    $excerpt_length = apply_filters('excerpt_length', 55);//change 55 to whatever word limit you want
    $newexcerpt_more = apply_filters('excerpt_more', ' ' . $excerpt_more);
    $words = preg_split("/[nrt ]+/", $text, $excerpt_length + 1, PREG_SPLIT_NO_EMPTY);
    if ( count($words) > $excerpt_length ) {
        array_pop($words);
        $text = implode(' ', $words);
        $text = $text . $newexcerpt_more;
        $text = force_balance_tags( $text );
    } else {
        $text = implode(' ', $words);
        $text = force_balance_tags( $text );
    }
}
return $text;
}
remove_filter('get_the_excerpt', 'wp_trim_excerpt');
add_filter('get_the_excerpt', 'improved_trim_excerpt');

Cela irait dans le fichier functions.php de votre thème (espérons-le enfant) ou dans un fichier de plugin personnalisé …..

Lire également:  Wordpress : Comment empêcher le thème WordPress de supprimer les paramètres de suivi analytique

Solution n°2 trouvée

Les blocs Gutenberg ne sont pas stockés dans les fichiers WordPress dans un format lisible ou débogable. Au lieu de cela, ils ont leurs propres dépôts git séparés.

Voici la source du bloc Derniers messages : https://github.com/WordPress/gutenberg/tree/master/packages/block-library/src/latest-posts

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 *