WordPressの個別記事ページ(シングルページ)でmoreタグを入れた位置に広告を表示する方法をご紹介します。
以下のコードをsingle.phpに記載してください。
add_filter('the_content', 'ad');
function ad($content) {
//一週間経過しなければ記事を公開しない
if( date("Ymd",strtotime("-1 week")) < get_the_time('Ymd') ) return $content;
$tag = <<< EOF
ここに広告のhtmlタグを挿入
EOF;
$content = preg_replace('/<span id="more-[0-9]+"><\/span>/', $tag, $content);
return $content;
}
注意点として、functions.phpではなくsingle.phpに書いてください。(※functions.phpではis_single()での分岐が効かないため)
上記の「-1 week」の部分をmonthやdayにして数値を設定することで公開してから一定期間経った記事のみ広告を表示することができるようになっています。
この場合は公開から一週間経過した記事にのみ広告が表示されます。
不要な場合はifごとコメントアウトするか削除すれば全記事のmoreタグの位置に広告が表示されるようになります。