お問い合わせ

WordPressの記事内のショートコードを展開しない方法

Close-Up Shot of Scrabble Tiles on a Blue Surface
  • URLをコピーしました!

SWELLで解説記事で使用するショートコードを書く時があります。

[hogehoge]

このように表示したいと思って、記事内でショートコードをそのまま書くと展開されてしまうことがあります。

自サイトのfunctions.phpやテーマでそのショートコードが有効になっていると記事内で展開されてしまいます。

やむなく、全角のに置き換えて対処している人もいるかもしれません。

記事内でショートコードを展開しない方法

ショートコードがテーマに存在する場合

WordPressでは、記事内でショートコードを紹介する時に、カッコを二重にすると、ショートコードが展開されなくなります。

[[hogehoge]]

これはとても便利なので覚えておいて損は無いでしょう。

囲みショートコードの場合も同じように二重カッコにすれば対応できます。

最初と最後を二重にするので、注意しましょう。

[[hogehoge] なんか [/hogehoge]]

ショートコードがテーマに存在しない場合

従来通り、1つのカッコで書きましょう。

[hogehoge]

テーマに存在しないショートコードを二重カッコにしてしまうと、二重カッコがそのまま表示されてしまいます。

番外編:ショートコード内でechoしてはいけない

ショートコードは便利なのですが、いざ自分で書いたコードを実行すると思った結果にならないことがあります。

ショートコードを置いた場所と違う場所にショートコードの出力が表示されてしまうことがあります。

そのような場合は、ショートコード内部でechoしていることが殆どです。

ショートコードでHTML出力したい場合は、returnで返さないと出力タイミングは保証されません。

<?php
add_shortcode('somefunc',function(){
ob_start();
//
echo "AAA";
//
return ob_get_clean();
});

まとめ

この記事の内容は、SWELLの公式サイトには書かれていません。なぜなら、ショートコードを展開しない機能は、SWELLの機能ではなく、Wordpressの機能だからです。

ショートコードを記事内で展開しない方法について、この記事でご紹介しました。

他の人にもシェアしてね
  • URLをコピーしました!
  • URLをコピーしました!
コメントを閉じる

コメント

コメントする

コメントは日本語で入力してください。(スパム対策)

クリックできる目次