Я відчуваю, що тут, мабуть, пропускаю щось досить очевидне, але я, здається, не можу змусити WordPress співпрацювати.
Я генерую теги OG Facebook з функцією. Все працює добре, крім уривку.
З часу припинення роботи get_the_excerpt($post->ID)
, чи є інший спосіб створити уривок без створення цілої нової петлі? Мені це здається надмірним.
Першим моїм інстинктом було використання apply_filters()
:
$description = apply_filters('the_excerpt', get_post($post->ID)->post_content);
Це дає мені повне повідомлення, доповнене вмістом у форматі HTML. Гаразд, треба помилятися. Тому я спробував наступну логічну ідею:
$description = apply_filters('get_the_excerpt', get_post($post->ID)->post_content);
Без кісток. Зараз немає HTML, але це все-таки повна публікація (що справді заплутано).
Гаразд, без проблем. Давайте пропустимо всі химерні речі та просто підемо на оброблений запис:
$description = wp_trim_excerpt(get_post($post->ID)->post_content);
Без змін.
Отже, моє запитання таке: що за чорт йде? Щось тут мені не вистачає?
Я потрапив у ядро WP, щоб знайти, як the_excerpt()
працює, і, схоже, він ідентичний моєму виклику:
/**
* Display the post excerpt.
*
* @since 0.71
* @uses apply_filters() Calls 'the_excerpt' hook on post excerpt.
*/
function the_excerpt() {
echo apply_filters('the_excerpt', get_the_excerpt());
}
У мене є кілька запитань на основі моїх висновків:
- Чому фільтр не застосовується так, як очікувалося?
- Чи є спосіб отримати уривок поза циклом без створення нового циклу?
- Чи я божевільний?
Заздалегідь дякую, що подивились. Я тут досить спотикався.
get_the_excerpt()
не застаріла, просто зайвий парам, який раніше передавались їй, більше не використовується.