1分でできる!WordPress でショートコードを作るよっ(/’□’)/

2012年04月10日

HowToShortcode

ブロガーのみなさんおはようございます。読んでくれてる今が朝なのか昼なのかはたまた夜中にレッドブルの空き缶3本を机に並べてデスマ中なのかは分かりませんが、挨拶は何時だろうと「おはようございます」と相場が決まってますよね、テレビ業界がもともとそうなんでしたっけ?よく知りませんけど、とりあえずおはようございます、むゆう(@anticyborg)です。

さて、日々ブログに記事を投入されているみなさんは毎日楽しく書いていらっしゃることでしょうが、それでもやっぱり面倒だと感じることはありませんか?たとえば誰かのツイッターアカウントへのリンクを貼るときとか。僕は毎日書いてるわけでもないのに面倒ですよ。

Twitter と WordPress で遊びだして、 Twitter で助けてもらうケースがすごく増えて、そういう事をブログに書こうと思った時に毎回Aタグを書くのが面倒ですよね。

それを簡単にしちゃいましょう!やりましょう!もうすでに懐かしいワードなのでパロディだと思わない人も異多いんですかね。まぁいいや、そういう事が簡単にできちゃうのが WordPress の素敵なところですよね!

とりあえずショートコードを作る

まずはサンプルとして、とにかくすぐできるショートコードを作ります。手打ちで書いても1分かからないと思います。

現在使用しているテーマの functions.php に以下のコードを記述します。

functions.php

たったこれだけです。非常に簡単ですね。

解説

これは、2~5行目で「 ore_func() という関数(処理)を作りましたよ」って意味で、6行目で「その関数(処理)をショートコードとして使えるように登録しますよ」って意味です。

これを本文で使いたい場合、このコードを本文に入力しましょう

single.php

こちらも非常に簡単ですね。これを保存して公開すれば、

オレオレ!!オレだよ!!

と表示されます。もしこのコードを使う際はくれぐれも警察に通報されないように気を付けてくださいね。

もうちょっと頑張る

それだけだと定型文でしかないのでちょっとそれだけだと物足りないですね。せっかくになのでもう少し「使える」コードを書いてみましょう。

functions.php

ちょっとだけ足しました。何がちょっとだよ行数ほとんど倍じゃねーかよとおっしゃる気持ちはわからんでもないですがまぁ気にスンナ。

解説

3~5行目で

「 3行目に書かれているパラメータを ore_func() という関数(ここでは本文に書かれたショートコードと捉えても良い)で使いますよ」

って意味です。

7行目は

「本文のショートコードに書かれたパラメータの値を「$~(ここでは name )」としてここに表示しますよ」

って意味です。

蛇足ですが…

PHPを理解されている方は上記コードの3行目に違和感を持たれる方もいるかもしれません。配列の要素を記述する際、最後の要素には「 , (カンマ)」は必要ありませんからね。

でもこれ、実は結構これを付けたままにするだけで結構楽ちんなんですよ。

functions.php

これに修正を加えることになって、パラメータが増えた場合、カンマがあると

行ごとコピペで済んじゃいます。つけてなかったらいちいちつけないといけないですからね。そういう細かいところでもついでに楽しちゃいましょう。

これを本文で使いたい場合は、先ほどのショートコードにパラメータを追記します

single.php

これで、

オレオレ!!オレだよ!!ジャイアンだよ!!

と表示されます。電話に出た事を早くも後悔しています。

応用技

これを応用して、最初に書いた「 Twitter のアカウント名をリンクにするショートコード」を作ろうと思います。

single.php

これでリンク付きのアカウント名が表示されます。楽ちんじゃねーか!

最後に

何となくすでにご理解されている方も多いのかと思いますが、これって結構便利な機能で、アイデア次第でいろんなことができてしまします。嬉しいことのはずなのに「できてしまう」という言い方をするのは何故なんでしょうね。

これを読んで何か面白ショートコードを作られた方は僕にも教えていただけると嬉しいです。よろしくお願いしますー。

他にこんな事も書いてます

FBでコメント

3個のコメント

  1. 書いた:1分でできる!WordPress でショートコードを作るよっ(/’□’)/ – http://t.co/CsuGtlkw

  2. 1分でできる!WordPress でショートコードを作るよっ(/’□’)/: STACKSTOCK http://t.co/5sb68pkU

トラックバック/ピンバックはありません。