「WordPress関連」カテゴリーアーカイブ

WordPress関連のカテゴリ

WordPressのバージョンアップ後に「Warning: Missing argument 2 for wpdb::prepare()」が発生

最近WordPressのバージョンアップを3.8へアップデートしてサイトを表示してみたら、プラグインを使用している箇所で「Warning: Missing argument 2 for wpdb::prepare()」というワーニングメッセージが表示されていました。どうもこの事象は3.5へアップデートした時から発生している事象のようで、当方は3.4→3.8へのバージョンアップだったので今頃遭遇しました・・・。
放置しても動作はしますが、見栄えが悪いので対処方法を調べてみました。

原因

WordPressの3.5以上では「wp-db.php」で定義されているFunction「prepare」の引数の数が2つ必要になっています。
[php]function prepare( $query, $args ) {[/php]
今回Warningが発生した原因はこの「prepare」をプラグインのphpから呼び出す際に引数が1つしか指定されていない為にWarningが表示されたみたいです。

対処方法

原因は明確なので、function「prepare」を使用しているphpを修正します。function「prepare」を使用している箇所へダミー引数となる「null」を2つ目の引数として指定すれば対応完了です。(もちろんプラグインが正式対応したらバージョンアップしましょう)

変更前

[php]$wpdb->get_row($wpdb->prepare($sql));[/php]

変更後

[php]$wpdb->get_row($wpdb->prepare($sql, null));[/php]

WordPressでショートコードをそのまま表示する方法

プラグインの紹介ページを作成していたらふと困ったことが発生。
[ショートコード]を文字列としてそのまま表示させようとしたら正常に機能してしまって、文字列として表示されない!?
それで、色々と試した結果・・・

[[ショートコード]]

と[]を連続して入力すればそのまま表示されることが判明しました。(ちょっと焦りました–)
今後もちょくちょく使用すると思われるので、プラグインを使用するといった面倒さがないのは助かりますね。