ブロックエディタ時代に何を?と思われるかも知れませんね。でもあえてショートコードを使った方が実は便利なのかもという内容です。

本文の中へある程度共通するテキストリンクや広告リンクを挿入するとき、どのようにしていますか?

ブロックエディタであれば、広告リンクをそのまま本文内のカスタムHTMLブロックへ貼るというのが恐らくスタンダードな使い方でしょう。

もう少し凝った使い方をするなら再利用ブロックでカスタムHTMLでリンクタグを作っておき、それを本文へ挿入するといった使い方でしょうか?

でも再利用ブロックは、あくまでも独立したコンテンツなので、文章の中に入れるという使い方はできません。

そこで重宝するのが、ショートコードです。

段落ブロック内の文章の中にも使えますし、テーブルブロックの中にも使えますし、もちろん再利用ブロックでも、ショートコードブロックでも使えるいわば万能な機能なので、古いなんて言わずに使ってみてはいかがでしょうか?

定型コンテンツを挿入するためのショートコードを作る方法

実は今回のように決まったものを出力するだけでパラメーターで処理を変える必要のないショートコードは簡単に作れます。

基本となるのは以下のコードです。

function ユーザー定義関数名(){
$content = 'ここに出力するコードを書く';
rerurn $content;
}
add_shortcode('ショートコードのスラグ','ユーザー定義関数名');

上記コードの中で以下の部分を変え、有効化しているテーマのfunctions.phpへ追加すればいくつでも作れます。

  • 「ユーザー定義関数名」の2か所は同じもので、自身で分かりやすい半角英数字+アンダーバーの名前を入れる
  • 「ここに出力するコードを書く」の部分はHTMLのリンクや広告タグをそのまま入れる
  • 「ショートコードのスラグ」は実際にショートコード([〇〇])の中に書く文字列を指定する

例えば、このサイトのトップページへ遷移させるためのショートコードであれば

function ha_link_to_top_page(){
$content = '<a href="https://habone.biz/habone/">トップページへ戻る</a>'
rerurn $content;
}
add_shortcode('link-to-top-test','ha_link_to_top_page');

とすれば、

[link-to-top-test]

というショートコードを本文内のどこかへ挿入すれば、トップページへ戻るというリンクが表示されます。

コードを作成する場合の注意点は以下の3点でしょう。

  • ユーザー定義関数名はサイトの中で一意(1つ)になるように個別の名前を付ける
  • ショートコードのスラグもサイトの中で一意(1つ)になるよう個別の名前を付ける
  • 「ここに出力するコードを書く」の前後にある「’」は、「ここに出力するコード」で「’」を使っているようであれば「”」で代用する

ショートコードとして本文へ挿入しておけば、何かの修正をしたいとき、全記事の内容を1つ1つ修正しなくても、ショートコードを作成するコード(上記)の「ここに出力するコードを書く」の内容を変更すれば、同じショートコードを使った部分は一括で変更できます。

逆にその部分には何も必要ないというのであれば、「ここに出力するコードを書く」の部分を空にすれば、ショートコードを削除しなくても、何も出力されなくなります。

利用シーンとしては、アフィリエイト用のリンクをショートコードで出力させるようにしておけば、アフィリエイトサービスの変更や、広告の変更も「ここに出力するコードを書く」の部分を変えればすぐに切り替えできるようになるので、結構重宝しますよ。


冒頭に書いたように、今WordPressはブロックエディタ時代ですから、ショートコードだと編集画面上に内容表示されないし..と思われるかも知れませんが、まだまだメリットは十分にあると思いますので、ぜひ使ってみてください。

複数のショートコードを便利に管理したいときは

ここまではテーマのfunctions.phpへ都度ショートコードを作成する方法を紹介しましたが、もっと便利に複数のショートコードを管理したいようでしたら、専用プラグインを使用するのが妥当です。

おすすめは「Shortcoder」というプラグインです。

管理画面上でいくつでもショートコードを作成・管理することができるので、functions.phpへコードを誤記したことによるトラブルなども回避できます。