WordPressでプラグインが有効なのにショートコードがそのまま表示されるケースの修正対応

先日、WordPressをバージョンアップしたところ、ショートコードがそのまま表示されて機能していないという問い合わせがありました。

まず調査したのは、プラグインが有効かどうかです。
無効だとショートコードがそのまま表示されますが、今回のケースではプラグインは有効のままでした。

次に、WordPressをデバッグモードで試したところ、「有効なコールバックなしでショートコードを解析しようとしています」というエラーが表示されました(WP4.3.0からのメッセージのようです)。

どうやら、ショートコードがうまく呼び出せていないようです。

HTMLのタグ内で使用できない(バージョンが4.2.3になると、inputのvalueにショートコードが使えない)件は知っていましたが、今回はそのケースには当て嵌まりません。

add_shortcodeの関数リファレンスを確認しましたが、エラーの原因となっているものには問題がなさそうにみえます。

そこで、コールバックではなくショートコードタグに問題があるのかと思い、タグが英語大文字だったものを小文字に変えてみました。

たとえば

add_shortcode('HOGEPLUGIN', 'hoge_func');

これを

add_shortcode('hogeplugin', 'hoge_func');

と変更しました。

投稿内でのショートコード呼び出しの[HOGEPLUGIN]も[hogeplugin]に変更します。

これでショートコードが機能し、プラグインは問題なく動作しました。

WordPressの独自プラグイン開発、既存WordPressの不具合の対処します

OLIVESYSTEMでは、WordPressの独自プラグイン開発やテーマ改造、既存WordPressの不具合(エラー、バグ)の対処をしております。

WordPressで困ったこと、「こういう機能をつけたい」という想いに対応しています。

お気軽にお問い合わせください。

困り事、相談はこちら    プラグイン開発はこちら

シェアする

  • このエントリーをはてなブックマークに追加

フォローする