前提・実現したいこと
Wordpressでよくある見出しの前にアドセンスを表示させるプログラムですが、そこに<?php get_template_part( 'テンプレート名' ); ?>など指定のテンプレートも一緒に呼び出したいです。
方法はありますでしょうか?
発生している問題・エラーメッセージ
「//ここにアドセンスを挿入//」の部分にテンプレートのコードを入れても実行も認識もしてくれない。(アドセンスは問題なく表示されます)
<?php get_template_part( 'テンプレート名' ); ?>該当のソースコード
function add_ad_before_h2_for_3times($the_content) {
//広告(AdSense)タグを記入
$ad = <<< EOF
//////////////////////////
//ここにアドセンスを挿入//
//////////////////////////
EOF;
if ( is_single() ) {//投稿ページ
$h2 = '/^<h2.*?>.+?</h2>$/im';//H2見出しのパターン
if ( preg_match_all( $h2, $the_content, $h2s )) {//H2見出しが本文中にあるかどうか
if ( $h2s[0] ) {//チェックは不要と思うけど一応
if ( $h2s[0][0] ) {//1番目のH2見出し手前に広告を挿入
$the_content = str_replace($h2s[0][0], $ad.$h2s[0][0], $the_content);
}
if ( $h2s[0][1] ) {//2番目のH2見出し手前に広告を挿入
$the_content = str_replace($h2s[0][1], $ad.$h2s[0][1], $the_content);
}
if ( $h2s[0][2] ) {//3番目のH2見出し手前に広告を挿入
$the_content = str_replace($h2s[0][2], $ad.$h2s[0][2], $the_content);
}
}
}
}
return $the_content;
}
add_filter('the_content','add_ad_before_h2_for_3times');
試したこと
$insertion = "<?php get_template_part( 'テンプレート名' ); ?>"; として、
if ( $h2s[0] ) {//チェックは不要と思うけど一応
$the_content = str_replace($h2s[0][$i], $insertion.$h2s[0][$i], $the_content);
if ( $h2s[0][0] ) {//1番目のH2見出し手前に広告を挿入
ともやってみましたが、やはり<?php get_template_part( 'テンプレート名' ); ?>を実行してくれません。
お知恵をお貸しいただけると嬉しいです。
よろしくお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/05/25 11:05
2021/05/25 13:33 編集