Вывод рекламы после определенного абзаца
Есть код вывода рекламы, он отсчитывает определенное количество тегов
и вставляет рекламу.
// Реклама после 6 абзаца
add_filter( 'the_content', 'wpse_ad_content' );
function wpse_ad_content( $content ) {
if( !is_single() )
return $content;
$paragraphAfter = 6; //Введите номер абзаца, после которого вставляем.
$content = explode ( "</p>", $content );
$new_content = '';
for ( $i = 0; $i < count ( $content ); $i ++ ) {
if ( $i == $paragraphAfter ) {
$new_content .= 'Рекламный код';
}
global $post;
if ($post->post_type == 'post') {
$new_content .= $content[$i] . "</p>";}
}
return $new_content;
}
Но есть проблема, если внутри контейнера статьи используется сложное оформление статей, например:
<article> <p></p> <p></p> <p></p> <div> <p></p> <p></p> </div> <blockquote> <p></p> <p></p> </blockquote> </article>
рушится верстка. Для этого есть необходимость исключить подсчет
из других контейнеров внутри