私は第7段落の追加を表示するために自分のウェブサイトの設定を持っています。すべての投稿が他の投稿と同じ長さであるわけではないので、これは奇妙な広告配置を引き起こす可能性があります。段落の数に基づいて中心にアドコードを追加する
代わりに、私は次のロジックを使用したいと思います。その後、
If number_of_paragraphs => 14
paragraph_insert_id= number_of_paragraphs/2
。 Else nothing
。
//adding mid post add based on paragraph
add_filter('the_content', 'prefix_insert_post_ads_mid');
function prefix_insert_post_ads_mid($content) {
$ad_code = '<div id="adsensemid">code goes here</div>';
if (is_single() && ! is_admin()) {
return prefix_insert_after_paragraph($ad_code, $content);
}
return $content;
}
function prefix_insert_after_paragraph($insertion, $content) {
$closing_p = '</p>';
$paragraphs = explode($closing_p, $content);
// floor or ceil; to make it round
$mid = ceil(length($paragraphs)/2);
foreach ($paragraphs as $index => $paragraph) {
if (trim($paragraph)) {
$paragraphs[$index] .= $closing_p;
}
if ($mid == $index + 1) {
$paragraphs[$index] .= $insertion;
}
}
return implode('', $paragraphs);
}
残念ながら、私の最初の変更はすでにスクリプトを壊しました。ウェブサイトに適用すると、すべてのコンテンツは空白になります。欠陥を見つけることができる人はいますか?どんな助けでも大いに感謝されるでしょう!
psの現在の作業スクリプトは:
//adding mid post add based on paragraph
add_filter('the_content', 'prefix_insert_post_ads_mid');
function prefix_insert_post_ads_mid($content) {
$ad_code = '<div id="adsensemid></div>';
if (is_single() && ! is_admin()) {
return prefix_insert_after_paragraph($ad_code, 7, $content);
}
return $content;
}
function prefix_insert_after_paragraph($insertion, $paragraph_id, $content) {
$closing_p = '</p>';
$paragraphs = explode($closing_p, $content);
foreach ($paragraphs as $index => $paragraph) {
if (trim($paragraph)) {
$paragraphs[$index] .= $closing_p;
}
if ($paragraph_id == $index + 1) {
$paragraphs[$index] .= $insertion;
}
}
return implode('', $paragraphs);
}