Как мне выбрать целевой абзац после первого тега h2 в каждом сообщении?(Они структурированы особым образом)
<!-- Example 1 -->
<p>Lorem Ipsum</p>
<p>Lorem Ipsum</p>
<h2>Title</h2>
<p>Lorem Ipsum</p><!-- PHP gets this paragraph -->
<p>Lorem Ipsum</p>
<!-- Example 2 -->
<p>Lorem Ipsum</p>
<p>Lorem Ipsum</p>
<h2>Title</h2>
<p>Lorem Ipsum</p><!-- PHP gets this paragraph -->
<p>Lorem Ipsum</p>
<h2>Title</h2>
<p>Lorem Ipsum</p>
Обычно я бы использовал preg_match или preg_split, но Wordpress не хранит post_content с тегами p, на которые я могу ориентироваться, так что это не выглядит жизнеспособным.
РЕДАКТИРОВАТЬ:
Я понял, как это сделать, код ниже работает:
<?php
$texts = preg_split( '/\r\n|\r|\n/', get_the_content() );
// Loop through items
foreach($texts as $text) {
// If $stop has been set true by presence of H2 in previous item, then break after echoing paragraph
if ($stop == true) {
echo $text;
break;
}
// If first h2 present, then set $stop to true to stop loop after next item
if (strpos($text, 'h2')) {
$stop = true;
}
}