#0013 WordPress テキストウィジェットの中でプラグインを使わずに PHP を実行する方法
WordPress のウィジェットは便利ではあるのですが、使用できるのは標準の HTML のみですので、例えば、adsense でスマホのときはテキスト広告、スマホ以外のときはディスプレイ広告というように動的に変更したいというようなときにはそのまま使うことが出来ません。
ここでは exec php 等のプラグインを使わずに、ウィジェットの中で PHP を実行する方法として、ショートコードを利用する方法を紹介します。
詳細は以下のページで確認してください。
WordPress Codex ショートコード
以下の記事では、「記事タイトル下ウィジェット」にスマホ/PC 自動切換えの広告を表示する手順です。
コードを見ればわかりますが、記事のプレビュー時には広告を表示しないようにしています。
1. | function.php にコードを追加する |
function.php に以下のコードを追加します。
is_mobile() 関数が既にシステムに組み込まれている場合は、貼り付けるコードから除外しても OK です(既存チェックを行っているので、このままでも OK です。)
//スマートフォンを判別 if( function_exists( 'is_mobile' ) === false ): function is_mobile(){ $useragents = array( 'iPhone', // iPhone 'iPod', // iPod touch 'Android.*Mobile', // 1.5+ Android *** Only mobile 'Windows.*Phone', // *** Windows Phone 'dream', // Pre 1.5 Android 'CUPCAKE', // 1.5+ Android 'blackberry9500', // Storm 'blackberry9530', // Storm 'blackberry9520', // Storm v2 'blackberry9550', // Storm v2 'blackberry9800', // Torch 'webOS', // Palm Pre Experimental 'incognito', // Other iPhone browser 'webmate' // Other iPhone browser ); $pattern = '/'.implode('|', $useragents).'/i'; return preg_match($pattern, $_SERVER['HTTP_USER_AGENT']); } endif; // https://wpdocs.osdn.jp/%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%B3%E3%83%BC%E3%83%89 add_filter('widget_text', 'do_shortcode'); function fnSwitchAd1() { if(is_preview())return ""; // プレビュー時は無視 if( is_mobile()){ // スマホのときの出力 return <<< EOB ここにスマホのときに表示する広告コードを書く EOB; } else { // スマホではないときの出力 return <<< EOB ここにスマホではないときに表示する広告コードを書く EOB; } } add_shortcode('switchad1', 'fnSwitchAd1');
2. | function.php にコードを追加する |
Wordpress ダッシュボードの『外観』 → 『ウィジェット』で「記事タイトル下ウィジェット」にテキストウィジェットをセットして、以下のように [switchad1] と入力して保存します。
最初は、ウィジェットテキストに直接 PHP コードを書いて自動切換えが出来ると良いと思っていたのですが、ショートコードを使う都合上、表示するHTMLコードにカギ括弧がある場合(つまり adsense の場合)はエスケープをしなければいけない等を考慮する必要があるため、単純に function.php に書き込むことにしました。
現在、このブログで自動切換えを行っていますので、気になる方はスマホとPCで見比べてください。(しばらくはチェック用の文字を表示しています)
wrote by tasa.
[広告]
最近の投稿
- #0018 ブログパーツ・相互RSS 貼付サンプルコード
- #0017 Windows 10 お勧め設定 – 2 : 高速化設定
- #0016 Windows 10 お勧めアプリ – 1 : Akabei Monitor & Windows ツールバーの設定方法
- グーグル翻訳で使用できる言語コード一覧 (2016/11/22 現在)
- 時事ネタ : グーグル翻訳の翻訳精度が向上した!
- #0014 JavaScript での 数値 と 文字列 (とブール型/オブジェクト型/配列型)の型変換
- #0013 WordPress テキストウィジェットの中でプラグインを使わずに PHP を実行する方法
- #0012 VMware Player 5 の安全なアンインストール方法 2016年11月版
- #0011 VMware 32bit 版のダウンロード方法 & アンインストール時の注意点
- #0010 VMware player 12 のインストールしゲストで windows 10 をインストールする
- #0009 WordPress記事 に Blogger の画像を利用する (画像拡大ライブラリ lity も使用します)
- 10/29 ~ 11/1 までタイのスパンブリーという田舎に行きます。
- #0008-3 WordPress投稿画面のボタンの削除と追加
- #0008-2 ショートタグで番号付き見出しを見やすくする。
- #0008-1 ショートタグで記事をインデントして見やすくする。
最近のコメント