web-dev-qa-db-fra.com

Première lettre coupée en extrait

J'utilise un plugin pour autoriser les lettrines pour la première lettre de mon thème Wordpress. Cependant, l'extrait coupe la première lettre. Par exemple, une phrase telle que "Ceci est une installation Wordpress" s'afficherait sur la page d'accueil sous la forme "Il s'agit d'une installation Wordpress".

J'ai essayé de supprimer la section strip_shortcodes du formating.php, mais il y a maintenant un espace avant et après la lettre, qui s'affiche ainsi: "Il s'agit d'une installation Wordpress".

Est-ce que quelqu'un sait comment soit a) faire afficher la lettrine ou b) afficher la lettre normalement?

function wp_trim_excerpt($text = '') {
$raw_excerpt = $text;
if ( '' == $text ) {
    $text = get_the_content('');
    //$text = strip_shortcodes( $text );
    $text = apply_filters('the_content', $text);
    $text = str_replace(']]>', ']]>', $text);
    $excerpt_length = apply_filters('excerpt_length', 55);
    $excerpt_more = apply_filters('excerpt_more', ' ' . '[...]');
    $text = wp_trim_words( $text, $excerpt_length, $excerpt_more );
}
return apply_filters('wp_trim_excerpt', $text, $raw_excerpt);

}

2
hiiambo

Je vais vous donner une solution codée en dur à ce problème, plutôt que d'utiliser un plugin. Si votre coeur est réglé sur un plugin c'est très bien - mais ce code court est plutôt simple et, espérons-le, utile pour vos besoins.

Ce code consiste simplement à ajouter une classe CSS à un shortcode.

Tout d'abord, désactivez ce plugin.

Collez ceci dans functions.php

// Shortcode: Drop cap
add_shortcode('dropcap', 'dropcap');
function dropcap($atts, $content = null) {
   extract(shortcode_atts(array('link' => '#'), $atts));
   return '<span class="dropcap">' . do_shortcode($content) . '</span>';
}

Utilisez-le comme ceci:

[dropcap]K[/dropcap]

Puis style comme bon vous semble dans votre feuille de style:

.dropcap { 
    font-size:50px;
}
1
AndrettiMilas