【WordPress】ウェジェットで自作したショートコードが生のまま表示されるようになってしまった。

【WordPress】ウェジェットで自作したショートコードが生のまま表示されるようになってしまった。

先日、Wordpressとプラグインをアップデートしたら、
今まではちゃんと表示されていたウェジェットのショートコードが、そのまま表示されるようになってしまいました。

アップデート前のバージョンと、どのプラグインを知る手段がなく、取っ掛かりが難しい案件でした。

ちなみに、ウェジェットはカスタムhtmlを使っています。

一番最初に確認する事

これができていなとそもそも、そのまま表示されてしまいます。

1.function.phpでショートコードを定義していない。

add_shortcode('<ショートコードの名前>', '<ショートコードの内容function名>');

2.ショートコードを全角で記入してる

何かの拍子に[やスペースが全角になったのだろうかと調べましたが、今回は問題ありませんでした。

原因はadd_filter(‘widget_text’, ‘do_shortcode’);を書いていなかったこと。

function.phpにウェジェットでショートコードを使えるようにするコードが抜けていた事が原因でした。

<pre class="wp-block-preformatted">add_filter('widget_text', 'do_shortcode');</pre>

え?これがないとそもそもダメなんじゃ….と思うのですが、制作当初(たしか2018年春ごろ)はちゃんとショートコードとして機能していましたし、Wordpresのアップデートでこの1行だけが削除されるとも考えられません。

可能性がありそうなのは、add_filter(‘widget_text’,’do_shortcode’);を別のプラグインに依存していた….のかなぁ。ぐらいの見解です。

時間の都合上深くは追求できないのですが、今後のためのメモとして残しておきます。

この記事はあなたの役に立ちましたか?