.wpcf7-submit:disabled{cursor:not-allowed}よく試し、よく作るブログ実験室naelabWordPressでショートコードの中にショートコードを入れる(入れ子にする)プラグインプラグイン2018.02.06WordPressでショートコードの中にショートコードを入れたいとき、ありませんか?テーマで提供されている囲み用のショートコードの中に、自作のショートコードを使って文章を書きたい、みたいなシチュエーションです。WordPressでは通常、ショートコード内のショートコードは展開されずそのまま表示されるため、せっかく準備したショートコードを思い通りに使えません。今回は、そんな問題を解決できる超有能なWordPressプラグインを見つけたので紹介します。Shortcodes」です。プラグインWordPressの「プラグイン」メニューからインストールして有効化するだけで使えます。設定画面はありません。ネストしたショートコードBefore/After具体的にどうなるか、見てみましょう。例として、ぼくが愛用している有料WordPressテーマ「AFFINGER4」で提供されている「見出しつきフリーボックス」用ショートコードの中に、ショートコード化したリンクを入れてみます。外側の「見出しつきフリーボックス」のショートコードだけが処理され、内側のものは無視されています。Afterインストール後プラグインをインストールすると、無事内側のショートコードも展開されました。※AFFINGER4の後継テーマ「WING(AFFINGER5)」では、もともとショートコードのネストができるようになっているみたいです。CTR改善効果の高いカスタマイズがボタン一発WordPressの有料テーマ「WING(AFFINGER5版)」を購入したのでレビュー。AFFINGER4からの乗り換えた人からどう感じたか、紹介します。Snippet」と組わせると最高に捗ります。Snippetsでアフィリエイト系のリンクをすべてショートコード化して管理しています。案件が終わったときや、別ASPがよりよい条件を出したときのリンク張替えが一瞬で済むからです。ショートコードのネストができない制約のせいで、ショートコード製の囲いの中にこれらリンクを置けず、本来のCTRを逃していました。Shortcodesを使えば、そんな悩みともおさらば。ショートコードを使った幅広いデザインと、リンクのショートコード化による利便性、そしてCTR、すべてを両立できます。注意事項ショートコードのネストはとても便利ですが、注意点もあります。WordPressの仕様の関係で、同じショートコードを多重ネストさせることはできないという点です。使われる文脈自由正規表現パーサーの制限によるものです。このパーサーはとても高速ですが入れ子のレベルを数えることができません。そのためこの場合にはそれぞれの開始タグを正しい終了タグとマッチさせることができません。日本語版あまり想定できない使い方ではありますが、もし同じショートコードの多重ネストを考えている場合はご注意ください。Shortcodes」のご紹介でした。ショートコードの中にショートコードが置けなくて悩んでいる人、結構いると思います。かかわらず、ネットで調べると「WordPress本体のPHPこういじればできるよ」的な情報しか出てこなかったんです。プラグインで実現してくれた作者の方には頭が上がりません。Shortcodesで、もっとショートコードを使い倒していきましょう。Widget」スポンサーリンク1年間カスタマイズし倒した「はてなブログ」からWordPressに移行した理由ブログ2年目のふりかえり。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。管理人NAEただのブログ好き。お問合わせはこちらもしくはTwitterのDMまでどうぞ。ブログ実験室naelab.タイトルとURLをコピーしました。