У меня есть страница в Wordpress, содержащая текст с 5 параграфами. Каждый абзац разделяется на <!--more-->
.Извлечение 2 отдельных частей текста в Wordpress
Теперь мне нужно получить первые 2 первых абзацев, чтобы отобразить на моем front_page.php, каждый абзац в другом <section>
То, что я использую в настоящее время заключается в следующем:
в functions.php
function split_content() {
global $more;
$more = true;
$content = preg_split('/<span id\=\"(more\-\d+)"><\/span>/', get_the_content('Read more...'), 0);
for($c = 0, $csize = count($content); $c < $csize; $c++) {
$content[$c] = apply_filters('the_content', $content[$c]);
}
return $content;
}
в front_page.php
<div>
<?php
$my_query = new WP_Query('page_id=26');
if ($my_query->have_posts()):$my_query->the_post();
$content = split_content();
?>
<?php echo array_shift($content);?>
</div>
<div>
<?php echo array_shift($content);?>
<?php endif; ?>
</p>
</div>
Я получаю правильный вывод для первого div и для второго div. Я получаю остальную часть текста (всего текста - первый абзац)
Любой может предложить некоторые объяснения, пожалуйста, я совершенно новичок в этом.
Большое спасибо за вашу большую помощь. Как я мог получить текст перед вторым тегом <--more--> и игнорировать первый? – Pierreaz
Вам нужно удалить все теги, кроме одного, под вторым абзацем. Затем разделите их на секции. Просто используйте HTML-разметку в текстовом редакторе на странице. Ваш вопрос немного расплывчатый, поэтому я не уверен, что он полностью отвечает на него, но он должен работать, если вы просто пытаетесь распечатать 2 из 5 – Bradley
Мне нужно напечатать 1-й и 2-й тексты перед тегом <--more-->, но каждый из них другое место и раздел. – Pierreaz