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 | Введено. |