
地味に悩んだ記憶があるので、備忘録として。
一応『Master Post Advert』について説明しておくと、記事のmoreタグ直下に広告などのコンテンツを配置できるWordPressプラグインです。記事内の広告はフッターやサイドバーと比べて効果が高いので、利用している方も多いかと思います。
今回はこの『Master Post Advert』で挿入するコンテンツを、テーマ毎に切り替える方法を紹介します。
なぜ切り替える必要があるか
当ブログでは
こちらのプラグインを用いて、閲覧者のデバイスが「PC」か「スマホ」かによってテーマを振り分けています。その際、PCから見たときは記事内に広告を2つ、スマホから見たときは広告を1つだけ表示したかったのですが、
Master Post Advertの中ではPHPのコードを動かせないので端末の振り分けは出来ないし、single.phpを編集しても記事内には干渉出来ません。
↓これがやりたかった

そこで色々試した結果、Master Post Advertの中でも
ショートコードなら動くということに気付いたわけです。ちなみにショートコードは初めて使いました…
ショートコードとは
ショートコードとは、function.phpに記述した関数を
[関数名]と入力することで自由に呼び出せる機能です。これを使えば「投稿内でもPHPのコードを動かすことが出来る=Master Post AdvertでPHPのコードが動く」ということになります。
例えば「テスト」と表示するだけのショートコードを作るとしたら、function.phpにこんな感じで記述します。
|
function testFnc() { return 'テスト' } add_shortcode('test', 'testFnc'); |
保存して記事の投稿画面で[test]と記述すると、「テスト」と表示されるはずです。
広告の数を変える方法
まず、PC用テーマのfunction.phpに以下の記述をします。
|
function adsenseCode() { return ' 広告コード1 広告コード2 ' } add_shortcode('ad', 'adsenseCode'); |
次に、スマホ用テーマのfunction.phpに以下の記述をします。
|
function adsenseCode() { return ' 広告コード ' } add_shortcode('ad', 'adsenseCode'); |
そしてMaster Post Advertの設定画面で[ad]と記述します。

これでPC用テーマでは広告が2つ、スマホ用テーマでは広告が1つだけ表示されるようになりました。
あまり使い道は無いかと思いますが、先程紹介した
デバイス毎にテーマを振り分けるプラグインと合わせて使うと便利なので、興味のある方は是非。
関連するかもしれない記事