2019.06.10 技術ブログ

【WordPress】ショートコード(do_shortcode)でプラグインが動かない、表示されない時に試したいこと

また今年もWordpressのテーマ作成を始めまして。

下準備に追加したいプラグインをあらかじめ試用して見てるんですがうまく表示されず…、実務以来の久々にこの作業をしたのでメモします。

ショートコードをphpテンプレート上で表示させる「do_shortcode」

指定されたコンテンツからショートコードを探し、そのフックを使用してショートコードをフィルターします。

使い方

<?php echo do_shortcode( $content ) ?>

関数リファレンス/do_shortcode – WordPress Codex 日本語版

(そのまま引用してるけど末尾に;いらないのかな…)

ショートコードは記事内に書き込むと、それに対応したコンテンツが表示されるもので、全てphpで書かれたテンプレートにはショートコードを使って対応します。

プラグインをページ上に表示したいときによく使います。

そんでもって、たまになんか知らないけど動かない、と。

今回使っているプラグインはギャラリーを作成できる「Unite Gallery Lite」を使ってみようとしたところ、表示できなかった、という状況からやっていきます。

確認した順番で書いているので特にどこから試してみても大丈夫です。

念のためファイルなどのバックアップは取っておいてくださいね。

確認1:echoしているか

phpでは文字列を取得するのと、画面上に表示させるのは違うものだったりします。(ざっくり言ってるけど自信ない)

ということでまずはechoが抜けてないかを確認します。

(今回は関係なかった)

確認2:他プラグインのショートコードを入れてみる

「contact form 7」のコードを入れてみたら動きました。

となると、このテンプレート内のphp内に問題があるわけではないようだ、ということがわかります。

ただphpのコードを間違うと真っ白(最近エラーメッセージが出るようになった)になりますけどね。

対応3:記事内で表示してみる

Gutenbergではショートコードを入力するブロックが用意されているので[]ごと入力。

出ませんねー…となると、プラグイン内やテンプレート自体に問題があるかもしれません。

確認4:ソースを確認してみる

あった。出てた。まじか。。

CSSをヘッダーに貼り直して見たりしましたが直らなかったので、他プラグインなどとのJSのバッティングが原因っぽそうですね。

これ以上は特に思い入れはないので、変に触ってなんともならなくなる前に他を試してみる方向でいい気がします…

その他の確認方法

もし、必ずこのプラグインを使いたい!という時は以下を試してもいいかもしれません。

・プラグイン自体のバージョンアップがされていない(SNS関係だとよくある)

・他プラグインを無効にする

・キャッシュを削除する

…などなど。「他プラグインを無効」は結構リスクがあるので正直やりたくないですけどね。。

ということで以上です。なにがしかの役に立てばと思います。

コメント

「技術ブログ」カテゴリの最新記事

最新記事