-
WordPress
- functions.php
- ショートコード
【複雑な機能をシンプルに】WordPressでショートコードを使う方法
WordPressのショートコードは複雑な機能や長いコードを簡単に書くための機能です。一度、機能を書けば簡単なコードで機能を呼び出すことができます。プラグインでもショートコードでWebページ上に機能を入れるものもあります。
例えば、問い合わせフォームを作るプラグイン「Contact Form7」でも、入力項目などを選択して、ショートコードをコピー&ペーストでフォームが作れます。プラグインで便利な機能と知っていても、詳細を知らずに使っている方も多いと思います。
本記事ではショートコードの使い方と自分でショートコードを作る方法を解説します。
WordPressのショートコードとは
ショートコードとは「ショートカット」+「コード」です。functions.php内で関数として処理を書いておき、角括弧[]にショートコード名を書いて呼びだします。ブロックエディターを使っている方は「ショートコード」というブロックを使うことでも利用できます。
プラグインでもショートコードは多く使われます。「Contact Form7」や「Table of Contents Plus」がショートコードを使ってWebページ上に機能を表示させるプラグインです。
プラグインで使っているとショートコードが便利という感じません。プラグインとはこういう機能だと感じてしまうからです。そのため、便利さを知ってもらうためにショートコードを書いて使う方法について解説します。
WordPressでショートコードを作る方法
まず、ショートコードを作る方法です。ショートコードはfunctions.phpの中に書きます。今回は簡単な例として、画面上に「Hello World」と表示させるショートコードを作成します。
最初にショートコードで実行した処理を関数として書きます。今回は「Hello World」と書きたいので、コードを以下のように書きます。
<?php
function hello()
{
return "Hello World";
}
helloという関数名で「Hello World」と呼びだすための関数が作成できました。次に、関数をショートコードにします。
WordPressにはショートコードを作るための関数が用意されています。ショートコードを追加するための関数は「add_shortcode($tag, $func);」です。引数は以下の二項目を入れます。
- $tags:ショートコード名([]にかかれる文字)
- $func:関数名(ショートコードが見つかったときに実行するコールバック関数)
今回、関数名はhelloです。そのため、$funcにはhelloが入ります。ショートコード名は好きな文字列を入れるといいと思います。今回は分かりやすくhelloにします。よって、ショートコードを作る関数は以下の通りです。
コードをまとめると以下の通りです。
<?php
function hello()
{
return "Hello World";
}
add_shortcode('hello', 'hello');
以上が、ショートコードの作り方です。
WordPressでショートコードを使う方法
次は作ったショートコードを呼び出す方法です。ショートコードはダッシュボードから「投稿」または「固定ページ」からページの作成画面に追加します。ブロックエディタを使っている人は「ショートコード」を選んで、[]の中にショートコード名(hello)を入れてください。
クラッシックエディタでもエディタ内[hello]を入力してください。そして、投稿すると本文中に「Hello World」と表示されます。
ショートコードのメリット、デメリット
メリット
ショートコードを使うメリットは以下の二点です。
- よく使う処理をパーツ化して簡単に呼び出せる
- 複雑な処理も短いコードで使える。
どちらも簡単に使えるという点でWeb制作時間を短縮することができます。自分で作る機能ならばfunctions.phpに書き込む時間が必要です。しかし、一度書いてしまえば、使いまわしもできるので、他の案件にも流用できます。
デメリット
ショートコードのデメリットは以下の二点です。
- functions.phpにコードミスがあるとサイトが表示されない
- WordPressとPHPの知識が必要
コードミスの波及範囲の大きさや知識的に初心者がいきなり作るのは難しいです。なので、まずプラグインでショートコードを使うことに慣れることをおすすめします。同時にWordPressやPHPの学習を進めてください。
ある程度理解出来たら、機能をつけてください。書くことで様々な機能を実装することができるようになります。
まとめ
ショートコードは複雑な機能でもfunctions.phpでショートコードを作るだけで、簡単に投稿ページや固定ページ内で使うことができます。テーマファイルに書くほどではないけれど、よく使う処理はショートコードを設定しておくと作業時間が短くなります。
ショートコードを自分で作ろうと思えば、PHPの知識が必須です。PHPはJavaScriptより少し複雑なため、習得に時間がかかります。しかし、習得すればショートコードだけでなくWordPressの機能の幅を広げることができます。ぜひ習得してみてください。