ロゴ
HOME > WordPress > 安易にプラグインに頼ると言うこと

安易にプラグインに頼ると言うこと

2014年06月08日

とある案件で、既にHTMLで投稿されている固定ページの表の中へACFでアップロードしたPDFリンクを表示したい、というご相談をデザイナーさんから頂きました。

ACFで設定したカスタムフィールドの値は一例として以下のようにsingle.phpなどに書いて表示します。

<?php the_field('pdf_file'); ?>

しかし、既にHTMLで投稿されている固定ページの表の中でなので、そこにPHPを書く訳にはいきません。

そこでExec-PHPというプラグインが有り、これが投稿記事の中でもPHPが使えるって優れもので、デザイナーさんも「Exec-PHPで出来ますよ」と即答だったのですが、これが罠でして、Exec-PHPってテキストモード限定なんですよね。Exec-PHPをインストールすると、記事投稿欄の上の方にもちゃんと書いてます。

Exec-PHP WYSIWYG Conversion Warning. Saving this article will render all contained PHP code permanently unuseful. Even if you are saving this article through the Code editor. You can turn off this warning in your user profile. Ignore this warning in case this article does not contain PHP code. Read the Exec-PHP documentation if you are unsure what to do next.

ビジュアルモードで保存すると、書いたPHPコードは無効になりますよって事が警告されています。

PDF自体はエンドユーザーが更新しますので、PDFアップロード時に間違ってビジュアルモードで保存すると、こちらが書いたPHPコードが無効になっちゃうんですね。

エンドユーザーに「必ずテキストモードにしてから保存して下さいね」とは言えません。仮に通ったとしてもヒューマンエラーは起こります。

自分のサイトを自分で構築・更新していくのならこれでも良いと思います。しかし「投稿にPHP書けるExec-PHP最高!」なんて考え安易に使ってしまうと後から困った事になることも。まして、PHPを知らない方がどこかのサイトでコードを拾ってペタ!なんてのはもっての他です。

WordPressに限らず、様々なアプリケーションやサービスにより、知識が無くとも素晴らしいものが作れる時代になりました。しかし、だからと言って理解を深める必要が無いって事では有りません。

工事現場で危険予測ってものが有り、ある1つの作業を行う際に、作業場所や環境、使用する道具などから、起こる可能性のある事故等を予測し、未然に防ぐ為にはどうすれば良いか、といった事を教育されます。車の運転などもそうですよね。

それと同様に、上述したようなエンドユーザーの行動を予測せず、安易にExec-PHPでいける!ってやっちゃううと落とし穴が有りますよってお話しでした。

じゃどうすんだ?って話しですが、固定ページを表示するsingle.phpなんかにACFで取得した値を指定箇所に挿入するjQueryコード書いておく、でしょうか。ページ内容をPHP側に書かないのであれば、そんな方法が良いと思います。