素敵なサムシングを独断と偏見で一方的に紹介するブログ(´・ω・`)

投稿日: 2018年5月9日
最終更新日:

【使いこなすと最強】WordPressでショートコードを作って効率化をしてみた

YouTubeも見てね♪

[ノースフェイス] THE NORTH FACE メンズ アウター マウンテンライトジャケット

created by Rinker
THE NORTH FACE(ザノースフェイス)
¥33,000 (2025/01/05 13:22:08時点 Amazon調べ-詳細)

防水暴風で耐久性抜群なので旅行で大活躍です!

レッドブル エナジードリンク 250ml×24本

created by Rinker
Red Bull(レッドブル)
¥4,000 (2025/01/05 12:33:39時点 Amazon調べ-詳細)

翼を授けよう!

モンスターエナジー 355ml×24本 [エナジードリンク]

created by Rinker
モンスター
¥4,718 (2025/01/05 12:33:40時点 Amazon調べ-詳細)

脳を活性化させるにはこれ!

Bauhutte ( バウヒュッテ ) 昇降式 L字デスク ブラック BHD-670H-BK

created by Rinker
Bauhutte(バウヒュッテ)
¥15,855 (2025/01/05 12:09:12時点 Amazon調べ-詳細)

メインデスクの横に置くのにぴったりなおしゃれな可動式ラック!

BANDAI SPIRITS ULTIMAGEAR 遊戯王 千年パズル 1/1スケール

created by Rinker
BANDAI SPIRITS(バンダイ スピリッツ)
¥10,429 (2025/01/05 12:09:13時点 Amazon調べ-詳細)

もう一人の僕を呼び覚ませ!!

MOFT X 【新型 ミニマム版】 iPhone対応 スマホスタンド

Amazon一番人気のスマホスタンド!カード類も収納出来てかさ張らないのでオススメです!

サンディスク microSD 128GB

スマホからSwitchまで使える大容量MicroSDカード!

WordPressのショートコード機能

What’s?

WordPressには、標準機能として搭載されているショートコード機能というものがあります。

これは、あらかじめfunctions.phpに登録しておいたPHP関数を、記事投稿画面から呼び出して利用することが出来る機能です。

この機能を使うことで、計算文字列整形を自分でやらずにPHP関数を利用した動的処理簡単に実行することが出来ます。

クイックタグとはどう違う?

WordPressには、よく使う文章をボタン一つで簡単に挿入するための機能としてクイックタグというものがあることは以前ご紹介致しました。

しかし、クイックタグはあらかじめ登録している文字列をそのまま貼り付ける機能となるので、動的処理をした結果を挿入したい!という用途では利用することが出来ません。
あくまで静的な挿入に限られます。

この機能はとても便利

前述の通り、この機能を使うこなすことで複雑なHTML構造を簡単かつ動的に挿入したり数字の計算を行うことが出来るので、記事の作成スピードが格段に上がります!
また、ショートコードの作り方もとても簡単です。

今回はショートコードの作り方をまとめてみましたのでご紹介致します。

手順

スポンサーリンク

336×280




前提

ショートコードは使用しているテーマのfunctions.phpを編集することになります。
このファイルが壊れてしまうとWordPressの管理画面が表示されなくなってしまうので必ずバックアップを取った上で作業を行うようにしてください。
また、作業は自己責任でお願い致します。

独立型ショートコード

まずは、単純にテキストを挿入するだけのショートコードを作ってみましょう。
functions.php以下のコードを追記して保存をしてください。

保存が完了したら、投稿の編集画面テキストビューにて以下のコードを追加してプレビューしてみてください。

すると、以下のようにテキストが表示されたと思います。

これは、Wordpressのadd_shortcode( $tag , $func )という関数を利用しています。

$tagにはテキストエディターで呼び出す際の文字列を指定し、$funcにはfunctions.phpで定義したPHP関数名を指定します。
そして、テキストエディターから[$tag]という形で呼び出すことが可能になっています。

引数型ショートコード

次に、テキストエディターから呼び出す際に値を受け取ってそれを利用して処理を行うショートコードを作ってみましょう。
functions.phpに以下のコードを追記して保存してください。

保存が完了したら、投稿の編集画面テキストビューにて以下のコードを追加してプレビューしてみてください。

すると、以下のように表示されると思います。

次に以下のように修正してプレビューしてみてください。

すると、以下のようにoldで指定した値を元に判定処理が行われ表示テキストが変わりました。

さらに以下のように修正してプレビューしてみてください。

同じようにoldで指定した値を元に判定が行われ表示テキストが変わりました。

shortcode_atts($defaultArray, $inputArray, $targetShortCode)という関数は、引数を必要としているショートコードで、引数が指定されなかった場合の初期状態の値で上書きするための記述になります。

終わりに

以上のように、PHP関数をエディター画面から呼べるようになるので、複雑な処理を簡単に挿入することが可能になります。

ただ、前述したようにfunctions.phpの編集はリスクが高いことなので、やりすぎないように注意しながらショートコードを使いこなすように心がけて使ってみてください。

CATEGORIES & TAGS

IT