Добавление анонса поста в AMP-версию страницы

Обычно, внутри темы отображается либо анонс поста, либо его контент в зависимотси от страницы, но в некоторых ситуациях удобно показывать их вместе, как это сделано у меня в блоге, чтобы не дублировать описание поста в админке дважды.

Если вы, также как и я, хотите добавить анонс над контентом в AMP-версии страницы в плагине AMP от компании Automattic, то реализуется это в два счёта.

/**
 * Перед рендером поста, вставляем фильтр `the_content`
 */
function mihdan_load_my_amp_content_filters() {
    add_filter( 'the_content', 'mihdan_prefix_excerpt_to_content' );
}
add_action( 'pre_amp_render_post', 'mihdan_load_my_amp_content_filters' );

/**
 * Получаем цитату (анонс) поста,
 * добавляем перед контентом и возвращаем всё вместе
 *
 * @param string $content контент поста
 * @return string
 */
function mihdan_prefix_excerpt_to_content( $content ) {
    $excerpt = get_post()->post_excerpt;
    if ( $excerpt ) {
        $content = $excerpt . $content;
    }
    return $content;
}

Ссылки

Источник: https://www.kobzarev.com/wordpress/amp-excerpt/

Михаил Кобзарёв

Суровый русский тимлид. Жил в Магадане, в офисе московских веб студий и в Тульской деревне. Виртуозно знает WordPress, PHP, ООП, Vue.js и вот это вот все. Делает крутые высоконагруженные сайты, поэтому уже почти захватил весь рынок WordPress разработки в России. Не дает никому делать сайты без спроса. Ведет блог о разработке, дайджест в телеграмме и в ВК. Любит сиськи, баню и радиоэлектронику. 100% патриот (но это не точно). Тролль 542 уровня. Ездит в отпуск раз в 5 лет.

Добавить комментарий

%d такие блоггеры, как: