こんにちは。てっちーです。今回はショートコードについてです。
WordPressのショートコードって何だろう
皆さんはWordPressのショートコードは何かご存知でしょうか?簡単に言うとショートコードはPHPで記述されたの関数をWordPressから実行するためのものです。ショートコードはプラグインで作ったテンプレートを記事に埋め込むときによく使うと思いますが、これはプラグイン内の便利な機能をもった関数を実行しているってことなんです。
もちろん自分でもfunction.phpなどに関数を追加して、それをショートコードとして登録すれば追加することが可能です。登録方法については、こちらのWordPressでPHPを使えるショートコードの作り方!を参考にしてください。
ショートコードの書き方
[]で囲ったものがショートコードです。たとえば、このサイトで使っている問い合わせフォームのContact Form 7 のショートコードは次のようなものです。
[contact-form-7 id="351" title="コンタクトフォーム 1"]
このショートコードはcontact-form-7という関数を、パラメータとして idを”351″、titleを”コンタクトフォーム1″を使って実行するという意味になります。
プラグインのショートコード
プラグインを使うためのショートコードは、管理画面からプラグインの項目を選択すると、どこかにショートコードが記載されている場合が多いです。それを、ページの記事内にコピペすれば使うことができます。
例えばこちらのContact Form 7記事でもショートコードを使っています。Contact Form 7で作成したフォーム本体のショートコードの場合は、管理画面にあるお問い合わせをクリックすれフォームごとに記載されていますので、コピペが可能です。
ショートコードが効かないときの原因と対策
そのまま表示されて、ショートコードが効かないときの原因として考えられるのは
- ショートコードとして登録されていない
です。単純ですがその原因はいろいろです。順にその原因と対策方法を考えていきます。
なお、ショートコード自体がそのまま表示されない場合は、ショートコードから関数は実行されているので、PHPの関数側に問題の可能性が高いです。そちらを確認しましょう。
そもそもコードが間違っている
もしショートコードに少しでも誤記があると、実行できないので効かなくなります。プラグインであれば、ショートコードの記述がどこかに記載されている場合が多いので、それをそのままコピペしてみましょう。もしコピペできない場合は次の点を確認してみてください。
- ショートコードの文字が間違っていないか?
- 間違えて文字の中に全角が使われていないか?
ショートコードとしての登録がされていない
自作のショートコードの場合、add_shortcodeで関数をショートコードとして登録する必要があります。きちんと登録されているか、ショートコード名が間違っていないか確認してください。下記の例ではショートコードとして使うのは、第1引数の方です。
add_shortcode( ‘sc’ , ‘sc_func’ );
プラグインが有効になっていない
プラグインのショートコードを使っている場合は、プラグインが無効になっている可能性があります。管理画面のプラグインより、プラグインが有効になっているか確認してみてください。
まとめ
ショートコードは便利でよく使うと思います。何をしているかよく分からないより少し仕組みを知るだけでデバックしやすくなります。頭の片隅に入れておくとよいと思います。
これからもどんどんショートコードを使っていきましょう。
コメント