Вывод рекламы после определенного абзаца
Есть код вывода рекламы, он отсчитывает определенное количество тегов
и вставляет рекламу.
// Реклама после 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>
рушится верстка. Для этого есть необходимость исключить подсчет
из других контейнеров внутри