Функция get_extended() в WordPress используется для разделения контента поста на две части: перед тегом <!--more--> и после него. Эта функция полезна, если вам нужно показать только часть контента на странице архивов или главной странице, предоставляя ссылку «Читать далее» для просмотра полного поста.
Описание функции
get_extended() возвращает массив, содержащий три элемента:
- main: Контент перед тегом- <!--more-->.
- extended: Контент после тега- <!--more-->.
- more_text: Текст, указанный после тега- <!--more-->, если он есть.
get_extended( $post )Параметры
- $post(string): Контент поста, который необходимо разделить.
Примеры использования
Пример 1. Разделение контента поста на части
Этот пример показывает, как использовать функцию get_extended() для разделения контента поста на две части.
$post_content = 'Это первая часть поста. <!--more--> Это вторая часть поста.';
$extended = get_extended( $post_content );
echo '<div class="post-main">' . $extended['main'] . '</div>';
echo '<div class="post-extended">' . $extended['extended'] . '</div>';В этом примере контент поста разделен на две части: перед тегом <!--more--> и после него.
Пример 2. Отображение контента с ссылкой «Читать далее»
Этот пример показывает, как вывести первую часть контента на главной странице или странице архива с ссылкой «Читать далее», которая ведет на полную версию поста.
if ( have_posts() ) {
    while ( have_posts() ) {
        the_post();
        $post_content = get_the_content();
        $extended = get_extended( $post_content );
        echo '<div class="post-main">' . $extended['main'] . '</div>';
        
        if ( !empty( $extended['extended'] ) ) {
            echo '<a href="' . get_permalink() . '">Читать далее</a>';
        }
    }
}Пример 3. Изменение текста ссылки «Читать далее»
Вы можете изменить текст ссылки «Читать далее» с помощью фильтров или дополнительных параметров в теге <!--more-->.
$post_content = 'Это первая часть поста. <!--more Читать полностью--> Это вторая часть поста.';
$extended = get_extended( $post_content );
echo '<div class="post-main">' . $extended['main'] . '</div>';
if ( !empty( $extended['extended'] ) ) {
    echo '<a href="' . get_permalink() . '">' . $extended['more_text'] . '</a>';
}В этом примере текст ссылки будет «Читать полностью» вместо стандартного «Читать далее».
Важно
- Поддержка темы: Убедитесь, что ваша тема поддерживает вывод контента с использованием тега <!--more-->.
- SEO: Использование разделения контента может улучшить SEO, предоставляя больше текста на страницах архивов и улучшая внутреннюю перелинковку.
Заключение
Функция get_extended() является полезным инструментом для разделения контента поста на две части, что позволяет улучшить внешний вид вашего сайта и пользовательский опыт. Она особенно полезна для страниц архивов и главной страницы, где вы хотите показать только часть контента и предоставить ссылку на полную версию поста.
