[雑記]WordPressのショートコードって閉じなくていいのかな?

そういえば、ショートコードには「閉じ」があると思いますが、書かなくても大丈夫?

ショートコードの「閉じ」、要る?要らない?

リンクをはてなブログカード形式に表示する「popo-HatenaBlogcards」を作ってみたわけですが、そういえばこのショートコード、「閉じ」を意識していません。

「閉じないとダメかな、ドキドキΣ(゚ロ゚)o゙」

試しに、閉じるショートコードを書いてみたりしてテストしてみます。

以下、けっこう雑に書いているので、興味のある方だけどうぞ(^-^;

パターン1:ショートコードを「閉じない」

ショートコード blogcard だけ記述して、/blogcard は記述しません。さらに直後に文字列「てってけてー(^-^)o」を記述してみした。

てってけてー(^-^)o

→ 想定どおり大丈夫です。ショートコード直後の文字列も普通に表示されています。(もしかしたら、「閉じ」が無い、行儀の悪い状態なのかな?Σ(゚ロ゚)o゙)

パターン2:ショートコードを「閉じる」

ショートコード blogcard に対して、/blogcard も記述します。間に文字列「てってけてー(^-^)o」を記述してみました。

→ ショートコードに挟まれた文字列は表示されませんでした。「閉じ」を書くと、自動で処理をしてくれるようです。

パターン3:「閉じる」「閉じない」混在

ショートコードを4回記述しますが、3回目だけ閉じてみました。

てけ4(^-^)o

→ 「閉じ」があるので、最初に出現した [blogcard]から、最初に出現した[/blogcard]までが「ショートコードに囲まれた文字列」として扱われたようです。

[blogcard url=”https://popozure.info/20150711/7607″]てけ1(^-^)o
[blogcard url=”https://popozure.info/20150618/7529″]てけ2(^-^)o
[blogcard url=”https://popozure.info/20150605/7412″]てけ3(^-^)o[/blogcard]てけ4(^-^)o
[blogcard url=”https://popozure.info/20150606/7417″]てけ5(^-^)o

↑赤文字の部分は、ショートコードに囲まれた文字列として判断されたようです。

パターン4:セルフ閉じ

XHTMLっぽく、自ら閉じるスタイル。

てけ1(^-^)o

てけ4(^-^)o

→ 1個目の [blogcard ~ /] は、ちゃんと閉まっていると判断されています。2個目の [blogcard] から最初に出現する [/blogcard] までが組み合わせになっているようです。

結果:閉じなくてOKっぽい(^-^)o

「WordPress Codex日本語版」の「ショートコード」を見ても、特に「閉じ」が必要とかは書いていません。

公式で提供されているショートコードも「閉じていない」ものが多くあります。

ショートコードに囲まれた内容については、第二引数に格納されているようです。

そういえば、初めてお試しで作ってみたショートコードのソースには、第二引数で $content を取得してたりしました(^-^;

「popo-HatenaBlogcards」は第二引数を取得すらしていないのは行儀が悪いのだろうか?(^-^;

多分、パラメータも必要なければ第一引数も書かなくて大丈夫なはず…。

結果としては「閉じなくてOK」という感じですが、むしろ、ちゃんと閉じて囲むタイプのものを作ったつもりのとき、「閉じ」が無くても普通に呼び出してくれちゃうので、注意が必要かも知れません。

広告