moreタグやプラグインを使わず記事途中にアドセンスを挿入する方法に関する覚書です。
現在はこちらの方法の方がいいですね、

【応用編】Wordpressで記事中H2の手前にアドセンス/広告を入れるカスタマイズ全まとめ
Wordpressで記事中H2の手前のウィジェット(広告・アドセンス)をカスタマイズする方法についてまとめます。記事に広告やコンテンツバナーを入れるのですが、特定記事を除外したりカテゴリやモバイルとの切り分けなど個人的に活用しているtips...
moreタグにアドセンスを挟む方法は使えない。
moreタグはいちいち挟むのが面倒なので、使っていませんでした…。
字数できるようにしていたため、アドセンスを入れるとおかしなことになります。
だからといって、すべてのページにmoreタグを挟むなんて面倒なことは、やっていられません。
スポンサーリンク
Quick Adsenseもつかいずらい
Quick Adsenseの使い方は簡単ですが、Pタグしかできません。Hタグの下にだしたいです。
表示されない等の不具合もあるようです。
追記:最近更新もされていません。。
ただ、Quick Adsenseはコード作成のヒントにはなりました。
スポンサーリンク
コードで実装
出来上がったコードはこちらです。functions.phpに挟みます。
/** * wordpressの記事中にウィジェットを追加 **/ add_filter( 'the_content', 'my_content_filter' ); function my_content_filter( $return_value ) { $num_p = 3; //段落数 $result = ''; $return_value = explode( '</p>', $return_value ); foreach( $return_value as $key => $val ) { if( $key + 1 == $num_p && !empty( $val ) ) { $result .= $val.'</p><!--ReplaceLabel-->';//コードを追加 }else{ $result .= $val.'</p>'; } } // 設定したコードを検索して置換を実行する // preg_replace_callbackの引数:検索、置換後、置換前、置換する回数、置換した回数 $result = preg_replace_callback( '|<!--ReplaceLabel-->|', 'get_the_widget_in_post', $result, 1, $count ); if ( $count == 1 ) { return $result; } return $return_value; } function get_the_widget_in_post( $matches ) { ob_start(); if( in_category('カテゴリ指定')) { //表示したいカテゴリを指定する dynamic_sidebar(post_top); //idを指定 } $out = ob_get_clean(); return $out; }
最終的に参考にさせてもらったサイトはWPのフォーラムです。大変、勉強させてもらいました。
コメント