the_excerpt și shortcode-uri
Folosesc the_excerpt pe pagina principală. De asemenea, utilizez un shortcode pentru dropcap la începutul fiecărui articol. Pe pagina principală, postările nu afișează litera cu shortcode-ul dropcap în jurul ei. Dacă articolul începe cu cuvântul "Câine", pagina principală afișează doar "âine". Cum pot face ca shortcode-urile să funcționeze când folosesc the_excerpt?
Shortcode
function drcap ($atts, $content = null) {
return '<div class="dropcap">' . do_shortcode($content) . '</div>';
}
add_shortcode('dropcap', 'drcap');
În scurtcodurile de rezumat auto-generate vor fi eliminate de WordPress:
Un rezumat auto-generat va avea, de asemenea, toate scurtcodurile și etichetele eliminate. Este redus la o limită de cuvânt și lungimea implicită este de 55 de cuvinte.
Oricum, dacă utilizați câmpul de rezumat manual pentru articolul dvs., funcționează.

Iată o soluție pentru includerea rezultatului shortcode-urilor în rezumatul generat automat de WordPress:
add_filter('the_excerpt', 'do_shortcode');
remove_filter('get_the_excerpt', 'wp_trim_excerpt', 10);
add_filter('get_the_excerpt', 'my_custom_wp_trim_excerpt', 99, 1);
function my_custom_wp_trim_excerpt($text) {
if(''==$text) {
$text= preg_replace('/\s/', ' ', wp_strip_all_tags(get_the_content('')));
$text= explode(' ', $text, 56);
array_pop($text);
$text= implode(' ', $text);
}
return $text;
}
Această implementare presupune o lungime a textului de 55 de cuvinte.
Sper să fie de folos cuiva.
