get_extended()
Розділяє контент на 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 | Введено. |