WordPressのショートコードの利用をお勧めしない理由

WordPressをカスタマイズするときによく利用されているのがショートコード。特定のテーマやプラグインを有効にすると、ショートコードを入れるだけで広告やブログカードの利用なんかが出来てしまいます。

ただ、私はWordPressのカスタマイズをする時にショートコードは極力使用しないほうがいいと考えています。

テーマやプラグインに対する依存度が高まる

私がショートコードを利用しないほういいと考えている理由は簡単で、ショートコードを一旦利用し始めるとテーマやプラグインの変更が難しくなるからです。

WordPressテーマの中にショートコードを読み込むロジックがある場合、そのテーマを変更してしまうと、テーマに合わせて作っていたショートコードは全てただの文字列に変わってしまいます。

このため、過去のコンテンツの中からショートコードの部分は全て手動で削除する必要があります。これは記事数が多い場合、かなり手間な作業です。

これが原因でテーマを変えることをためらうこともあるでしょう。ひょっととするとテーマを販売している業者の囲い込みに利用されている可能性もあるのです。

いいプログラムは独立性が高い

WordPressに限らずプログラミングの世界では、良いプラグラム設計はプログラムモジュール同士の結合度が低いと言われています。Aというプログラムを動かすために必ずBというプログラムが必要な場合、それはいいプログラムとは呼べないのです。

これはWordPressにおける本体とテーマ、プラグインの関係にも言えることです。WordPressでブログ記事を表示するために、特定のテーマやプラグインを入れなければ正しく表示されないのは、私の感覚から言って健全な状態とは言えないのです。

WordPressに限らず、CMSを利用するメリットはコンテンツとレイアウトを分離して管理できるところです。わざわざショートコードを入れて相互依存度をあげる必要はないと感じています。

Sandwich Adsenseもその設計思想から生まれた

私が公開しているWordPress公式プラグイン「Sandwich Adsense」も実はこの発想からアイデアが生まれました。

記事中の広告表示をするプラグインは他にもたくさんあるのですが、好きな位置に出力しようとするとショートコードを使うものが多かったのです。ですが、それだと、そのプラグインがなんらかに理由で使えなくなったときに大変なことになっていまいます。

もちろん、プラグインのソースコードを解析して自分で実装できる方は別ですが、多くの人はそうではありません。だから広告表示の位置を小見出しのタグで制御するようにしたのです。この方法ならば私のプラグインを止めても、広告は消えるだけでそれ以外の影響は特にないのです。

ショートコードの使用は最低限に

もちろん、WordPressをカスタマイズする上でショートコードを使わざる得ない場合もあります。

例えば私の場合、ブログ記事に吹き出しを入れる「Speech bubble 」とプログラムのソースコードを表示する「Crayon Syntax Highlighter」は割り切って導入しています。

CSSを記事ごとにカスタマイズする手間が大変なのと、吹き出しやプログラムコードは利用する場面が限定的なのでもしプラグインを停止しても影響は軽微であると考えているからです。

逆に毎回の記事に繰り返し登場するようなものであれば、ショートコードは使わないほうがいいです。あとから後悔する日が確実に来るので。

今日のアクション

自分の周りを見渡しても結構あたり前のようにショートコードを使っている人がいて個人的に違和感を感じていました。便利ではあるのですが、のちのちの保守性を考えると簡単にはおすすめできないので、今回の記事を参考にして頂けると嬉しいです。

和田稔 Avatar