Як вивести результат шорткоду в анонсі 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]