WordPress のショートコードで囲った文字列を使う方法

背景

WordPress では、あらかじめ登録してある PHP の関数を呼び出せる「[」と「]」を用いたショートコードという機能があります。

こちらの記事でショートコードの作り方は説明したのですが、ショートコードで文字列を囲んで渡す方法について今回は記事にしてみました。

コード

とりあえず、次のコードを functions.php に追加します。
[code lang=’php’] function showcontent_func($atts, $content = null) {
return “→{$content}←”;
}
add_shortcode(‘showcontent’, ‘showcontent_func’);
[/code]

続いて投稿や固定ページに次のコードを書き、表示してみましょう。
[code lang=’text’] [showcontent]中身だよ![/showcontent] [/code]

こんな感じで見えると思います。
[code lang=’text’] →中身だよ!←
[/code]

解説

ここでのポイントは、第2引数です。

第1引数にはショートコードへ渡された引数が連想配列で含まれますが、第2引数はショートコードで囲われた文字列が渡されます。

注意点としては、ショートコードへの引数は通常 shortcode_atts() によってチェックしますが、第2引数はそのチェック機能がありません。
そのため、引数のデフォルト値として null を渡すようにしてあります。

参考:
ショートコードAPI – WordPress Codex

応用

ショートコード内に書かれたショートコードは、そのままでは機能しません。
例えば次の様なコードは、内側のショートコード(innnercode)は無視され、外側のショートコード(showcontent)しか動かないと言うことです。

[code lang=’text’] [showcontent][innnercode]中身だよ![/innnercode][/showcontent] [/code]

この様にネストされたコードを実行するようにするためには、次の様にショートコードの定義で do_shortcode() 関数を呼び出すようにします。

[code lang=’php’] function showcontent_func($atts, $content = null) {
return ‘→’ . do_shortcode($content) . ‘←’;
}
add_shortcode(‘showcontent’, ‘showcontent_func’);
[/code]

参考:
do_shortcode()

まとめ

囲み型ショートコードを使う事で、応用の範囲が大きく広がることがわかりますね。

10年集客し続けられるサイトを、ワードプレスで自作する9つのポイント プレゼント

【最後まで読んでくれたあなたに】

あなたは、24時間365日、自分の代わりに集客し続けてくれるWebサイトを作りたい!と思ったことはありませんか?

私はこれまで500以上のWebサイトの構築と運営のご相談に乗ってきましたが、Webサイトを作ってもうまく集客できない人には、ある一つの特徴があります。

それは、「先を見越してサイトを構築していないこと」です。
Webサイトで集客するためには、構築ではなく「どう運用するか」が重要です。

しかし、重要なポイントを知らずにサイトを自分で構築したり、業者に頼んで作ってもらってしまうと、あとから全く集客に向いていないサイトになっていたということがよく起こります。

そこで今回、期間限定で
『10年集客し続けられるサイトをワードプレスで自作する9つのポイント』
について、過去に相談に乗ってきた具体的な失敗事例と成功事例を元にしてお伝えします。

・ワードプレスを使いこなせるコツを知りたい!
・自分にピッタリのサーバーを撰びたい!
・無料ブログとの違いを知りたい!
・あとで悔しくならない初期設定をしておきたい!
・プラグイン選びの方法を知っておきたい!
・SEO対策をワードプレスで行うポイントを知りたい!
・自分でデザインできる方法を知りたい!

という方は今すぐ無料でダウンロードしてください。

期間限定で、無料公開しています。

※登録後に表示される利用条件に沿ってご利用ください

コメントを残す