2014-10-02 2 views
0

У меня есть страница в 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. Я получаю остальную часть текста (всего текста - первый абзац)

Любой может предложить некоторые объяснения, пожалуйста, я совершенно новичок в этом.

ответ

0

Если я понимаю вашу проблему, то есть гораздо более простое решение, вы можете просто использовать функцию read more в текстовом редакторе в сообщении и отображать the_content внутри вашего цикла. вот ссылка. The Content function

Так что забудьте о функции split_content, и в рамках вашего запроса буквально просто используйте функцию the_content, а затем в сообщении установите ваш дополнительный разделитель после этого второго абзаца.

+0

Большое спасибо за вашу большую помощь. Как я мог получить текст перед вторым тегом <--more--> и игнорировать первый? – Pierreaz

+0

Вам нужно удалить все теги, кроме одного, под вторым абзацем. Затем разделите их на секции. Просто используйте HTML-разметку в текстовом редакторе на странице. Ваш вопрос немного расплывчатый, поэтому я не уверен, что он полностью отвечает на него, но он должен работать, если вы просто пытаетесь распечатать 2 из 5 – Bradley

+0

Мне нужно напечатать 1-й и 2-й тексты перед тегом <--more-->, но каждый из них другое место и раздел. – Pierreaz

Смежные вопросы