get_extended() WP 1.0.0
Разделяет контент на 2 части до тега <!--more--> и после него. Возвращает массив с полученными частями.
После второго тире и перед словом "more" не должно быть пробела:
- Верно:
<!--more-->
- НЕ верно:
<!-- more-->
После слова "more" может быть текст или пробелы (использование ссылок запрещается).
<!‐‐more подробнее‐‐>
Текст станет анкором ссылки. Заменит "(далее…)".
Хуков нет.
Возвращает
Массив с данными:
Array ( [main] => текст до more [extended] => текст после more [more_text] => (далее…) // если more указан так: <!‐‐more подробнее‐‐>, то тут будет "подробнее" а не "(далее…)" )
Использование
$parts = get_extended( $post_content );
- $post_content(строка) (обязательный)
- Контент поста, в котором есть <!--more--> и который нужно разделить.
Примеры
#1 Выведем цитату из последних постов
Если нужно вывести последние записи на блоге, но вывести нужно только часть текста до тега <!--more-->, используйте такой код:
<ul> <?php global $post; $myposts = get_posts( array( 'numberposts'=>5 ) ); foreach( $myposts as $post ){ setup_postdata( $post ); $parts = get_extended( $post->post_content ); ?> <li> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> </br> <?php echo apply_filters('the_content', $parts['main'] ); // часть до тега more ?> </li> <?php } wp_reset_postdata(); ?> </ul>
#2 Выведем рекламу сразу после тега <!--more-->
Допустим нам нужно вывести рекламный блок после тега <!--more-->, на отдельной странице (файл single.php). Для этого заменим the_content() на такой код:
<?php global $post; $content_parts = get_extended( $post->post_content ); echo apply_filters('the_content', $content_parts['main']); echo "Рекламный код здесь"; echo apply_filters('the_content', $content_parts['extended']); ?>
Список изменений
С версии 1.0.0 | Введена. |
Код get_extended() get extended WP 5.6
Cвязанные функции
Из метки: excerpt (цитата отрывок фрагмент)
Еще из раздела: Остальное
- comments_open()
- get_lastpostdate()
- get_lastpostmodified()
- get_post_embed_html()
- get_post_embed_url()
- get_post_stati()
- get_post_status_object()