Як вивести результат шорткоду в анонсі WordPress

Привіт:) Стандартна функція WordPress для виведення анонсу не виводить результат роботи шорткодів. Іноді буває потрібно показати якийсь контент, наприклад у списку анонсів постів (записів) на головній або в рубриці. У цьому пості покажу, як це зробити.

У файл functions.php вставте PHP-код

function mp_wp_trim_excerpt( $text ) {
    if ( $text == '' ) {
        $text = preg_replace( '/\s/', ' ', wp_strip_all_tags( get_the_content( '' ) ) );
        $text = explode( ' ', $text, 45 );
        array_pop( $text );
        $text = implode( ' ', $text );
    }
    return $text;
}
add_filter( 'the_excerpt', 'do_shortcode' );
remove_filter( 'get_the_excerpt', 'wp_trim_excerpt', 10 );
add_filter( 'get_the_excerpt', 'mp_wp_trim_excerpt', 99, 1 );

У коді значення 45 – це кількість слів в анонсі. Його можете змінити своє.

Для перевірки створіть простий шорткод

function simple_text_shortcode( $atts ) {
	return 'Вітаю! Це звичайний текст, доданий через шорткод.<br><br>';
}
add_shortcode( 'simple_text_shortcode', 'simple_text_shortcode' );

і вставте його в контент як

[simple_text_shortcode]

Михайло Петров
Михайло Петров

Мене звати Михайло. Я є WordPress-розробником. Створюю сайти з "нуля", розробляю плагіни, оновлюю наявний функціонал та підтримую готові проєкти.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *