サイトのデザインをWING(AFFINGER5)に最近入れ替えをしました。
その際の設定で見出し前広告の項目をカスタマイズしましたので備忘録がてらエントリー化します。
WING(AFFINGER5)で見出し前広告のタグ変更
WING(AFFINGER5)ではデフォルトの機能として、「見出し前広告」の設定化が可能です。
見出し前広告というのは、本文中のh2タグの直前にアドセンスの広告を出すという機能になっています。管理画面上で設定をすることによって、何番目の見出しの場合のみ広告を表示するなど細かなカスタマイズも可能です。
見出し前広告をh2タグからh3タグにカスタマイズする方法
私はサイトの構成上「h2タグ」をエントリー内に1つしか使わないというマイルールを決めていましたので、「h2タグ」でなく複数利用している「h3タグ」に変更することにより広告の表示回数増を狙います。ということで、通常「h2タグ」をカウントして広告を表示する設定のところを「h3タグ」をカウントするに変更する方法を書いていきます。
今回のカスタマイズではテーマのfunction.phpをカスタマイズします。phpをカスタマイズする際には必ずバックアップをとってから作業しましょう。phpの編集でミスがあるとサイト自体の表示が出来なくなる、管理画面に入れなくなるなどのリスクがありますので慎重に行います。
今回、編集するのfunction.phpの517行目付近です。
FTPなどのでサーバー上のファイルを編集するか、WordPress上で外観→テーマの編集からいじっていきます。
$befores = array( 1 => $before_1st, 2 => $before_2nd, 3 => $before_3rd, 4 => $before_4th, 5 => $before_5th, $current_count = 0; $pattern = <<<REGEXP <(?h2)(?(?:.*?\sclass\s*=\s*(?["'])(?.*?)\k)?[^>]*)>(?[\s\S]*?)</\k> REGEXP;
この辺りが、見出し前広告を制御している部分となっています。「h2」の数をカウントし、AFFINGER設定の広告部分で設定した位置に広告を出している様です。
こちらを下記のように書き換えます。
<(?h3)(?(?:.*?\sclass\s*=\s*(?["'])(?.*?)\k)?[^>]*)>(?[\s\S]*?)</\k> REGEXP;
単純に「h2」から「h3」に変更するだけです。
あとは保存するだけです。
php自体は私はあまり理解していないのですが、なんとなくうまくいきました。
さいごに
実際にもう一つ上の「AFFINGER EX」 だとテーマ自体にカウント対象を「h2」と「h3」に切替が可能な機能がデフォルトで実装されている様ですが、実は自分でphpを編集できればカスタマイズ出来ちゃいます。
久々にテーマの入れ替えをしてみてAFFINGER5が物凄く高機能で使いやすくてビックリしました。最近更新とかもサボってましたが、WordPressに関しても少し頑張ってみようかなと思っています。
てな感じで。