ふむふむ、1分で実装できるのか、プログラミング初心者の私でもこれならできそうだ。…なにっ?PHPだと? と、タイトルを左から右に読んで怯えてしまった方、安心してください。PHPのコードを使うっちゃ使いますが、丸コピペで実装できるレベルのものです。
というわけで今回は「WordPressで1分で実装できる自作ショートコード」を紹介していきます。
ショートコードとは
この記事にたどり着いた皆さんに説明する必要はないのかもしれませんが、「ショートコード」というのはWordPressの最大の特徴ともいえる機能の一つです。
[my_shortcode]
のように、ショートコードの名前を【】で括った文字列を投稿文章内に入れるだけで、そのショートコードを読み込むことができます。
そしてショートコードの展開はPHPによって行われるので、PHPのあらゆる機能(HTML挿入とかデータベース操作とか全部)をお手軽に実装することができるということですね。非常に便利です。
WordPressで自作ショートコードを作る手順
それではコピペで簡単に実装できるWordPressの自作ショートコード実装方法を紹介していきます。
WordPress関数が使えるPHPファイルを用意する
ショートコードという機能自体がWordPress特有のものなので、WordPressが読み込まれているPHPファイル(function.phpやプラグインのPHPファイルや、wp-load.phpを読み込んだPHPファイル等)
にショートコードの定義を記述する必要があります。 特にこだわりがない方は、テーマフォルダにあるfunction.php内に記述しちゃいましょう。管理画面の左メニューの「外観」→「テーマファイルエディター」ですぐに編集することができるやつですね。
ショートコードを定義する
ファイルが用意できたら、あとはショートコードを定義するコードを書いていくだけです!
//オリジナルショートコード
if (!function_exists('load_my_shortcode')){
function load_my_shortcode() {
$html_code = '<h2>オリジナルショートコードです</h2>';
return $html_code;
}
add_shortcode('my_shortcode', 'load_my_shortcode');
}
これはもう1分もかからないですね。このコードをfunction.phpに書くだけで、もう
[my_shortcode]
のようにしていつでも編集画面内からショートコードを呼び出すことができます。そして出力されるHTMLコードは、上のコードの「$html_code」の部分です。つまり今の場合、h2見出しの「オリジナルショートコードです」という文が記事内に挿入されるということですね。
例えば、ショートコードの名前を「postads」にして$html_codeのところに自分のGoogle広告のコードを入れたら、、、 記事内で【postads】と入れるだけでそこに広告を挿入することができるようになるのです! こうして記事の作成効率をより高めることができますね~
もう少し細かく説明すると、WordPress関数の「add_shortcode」の第一引数にショートコードの名前、第二引数にそのショートコードを展開するための関数の名前を入れます。
そしてその関数内の戻り値、即ち「return」の部分がそのままHTML出力されるという形になっています。 この関数の中であらゆる処理を行うことができるので、ショートコードだけでなんでもできちゃうってわけですね。
なお、これはショートコードの一番簡単な形態です。もう少し複雑なコードを記述することで、ショートコードに引数を与えて、状況によって出力するHTMLを変えることができるようになります。その方法についてはまたの機会に解説したいと思います。