Как вывести часть текста из страницы WordPress?

Рейтинг: 0Ответов: 1Опубликовано: 12.09.2014

Привет.

Есть код, он выводит текст до тега more с указанной мною страницы на главную страницу.

<?php
    global $paged;
    if(is_home() && $paged == "") :

        $my_query = new WP_Query('pagename=страница'); // тут надо указать название требуемой страницы
        while ($my_query->have_posts()) : $my_query->the_post();

                the_content( __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'twentytwelve' ) );

        endwhile; endif;

Вопрос:

как переписать код, чтобы он выводил часть текста после тега more с якоря id. То есть отрезок, у которого якорь id c name. Таких привязок на странице всего 2 после тега more, их нужно вывести в отдельные блоки div.

Выглядит так:

<h1>Заголовок</h1>
<p>текст</p>
<--more-->
<div id="1"><a name="1"></a></div>
<h2>Заголовок 1</h2>
<p>текст</p>
<div id="2"><a name="2"></a></div>
<h2>Заголовок 2</h2>
<p>текст</p>

На главную страницу надо вывести в один блок текст с id="1", а в другой блок div текст из id="2".

Ответы

▲ 1

Добавь перед запросом:

global $more;
$more = 0;

Ну а дальше регуляркой вынуть текст:

preg_match_all("##", $my_query->the_post(), $result);

$array_blocks = array();

for($i=0; $i < sizeof($result[0]); $i++) {
                 // номер блока     // содержимое блока
    $array_blocks[$result[1][$i]] = $result[2][$i];
}