ショートコードを作成して、MediaWikiのImboxライクなボックスを実現することができたのですが、スマートフォンからページを確認したときにショートコードが適用されていないことがわかりました。

どうも、「WPtouch Mobile Plugin」というプラグインを入れているので、スマートフォンから閲覧した場合にはテーマのテンプレートフォルダのfunctions.phpから、WPtouchの方に切り替わってしまうみたいです。

そこで、いろいろ調べてみるとショートコードをプラグインにしてしまうといいことがわかりました。

ショートコードは簡単にプラグイン化できる

ショートコードは比較的簡単にプラグイン化できるみたいです。

というより、プラグインがこんな簡単にできるのか、という驚きのほうが大きいですが・・

プラグイン作成の下準備

予め決めておかなければいけないのは以下の通り。

  1. プラグインの名前:
    ⇒ 他のプラグインと重複しないユニークな名称にする(英数字、空白と一部の記号)
  2. プラグインのファイル名:
    ⇒ 名前と同様に重複しないユニークなファイル名とする

プラグインのファイルは、wp-contents/pluginsか、そのサブディレクトリ配下に置くことになります。

ここでは、サブディレクトリを作成してその配下にプラグインファイルを配置します。

プラグインファイルの作成

wp-contents/pluginsに、他と重複しないような名前のディレクトリを作成し、その配下に先ほど決めたファイル名のPHPファイルを作成します。

このPHPファイルのヘッダー部に次のような情報を記入します。

<?php
/*
Plugin Name: 先ほど決めたプラグイン名
Plugin URI: プラグインの説明と更新を示すページのURI
Description: プラグインの説明
Author: 作者の名前
Version: バージョン番号
Author URI: 作者のURI
*/
?>
情報については、原則的に英文で、との記載があります。

プラグインファイルにコードを投入

先程のプラグインファイルに、コードを記載します。

<?php
/*
Plugin Name: 先ほど決めたプラグイン名
Plugin URI: プラグインの説明と更新を示すページのURI
Description: プラグインの説明
Author: 作者の名前
Version: バージョン番号
Author URI: 作者のURI
*/

function func_myplugin( $attrs, $content = null ) {
    :
    :
}

add_shortcode('myplugin', 'func_myplugin');
?>

最後にプラグインを有効に

エラーがなければ、ダッシュボードのプラグインの一覧に作成したプラグインが出てくるので、有効化します。


 

 

zaturendo

中小企業社内SE。

0件のコメント

コメントを残す

アバタープレースホルダー

メールアドレスが公開されることはありません。 が付いている欄は必須項目です