先日のWTTP Errorの件で、久し振りに長い時間webminを弄っていた際、Apacheのエラーログをチェックしていて気になるメッセージに遭遇しました。というか、ズラーッと同じエラーメッセージがリストされていて「何じゃこりゃ!ジャック・ニコルソンか?」とビックリしたのです。
ちなみに前回のプレイリスト不具合の件ですが、頭を切り替えて「開き直りメソッド」でリベンジを検討しています。
話を戻して、そのエラーメッセージというのは次のようなものでした。
PHP Warning: Missing argument 3 for ps_number_cat(), called in /wp-content/themes/FLFL/index.php on line 46 and defined in /wp-content/themes/FLFL/functions.php on line 8
どうもそのメッセージをテキトーに意訳すると「あんたが index.php の46行目で使ってる ps_number_cat()ってヤツ 、えーつまりそのー、 functions.php の8行目で宣言してる関数なんだけど、3番目の引数がミッシング」。
もちろん何のことか分からないというか、だからどうしろと?という状態だったので、ググってみました。
warning: missing argumentというメッセージについて(by shigemk2)
なるほど「引数に初期値を設定すべし」というワケですね。とは言いつつ、実はまだよく分かってないんだけれど、つまりこういう事でしょうか。「これからいろいろな数値が入れ替わり立ち替わりする変数だし、まずは行動する前に $cat_id を空っぽにしておこうね」という解釈で。
functions.php:該当部のみ抜粋
//カテゴリー内の記事番号の抽出(エラー状態) function ps_number_cat( $post_type = 'post', $op = '<=' , $cat_id ) { global $wpdb, $post; $categories = get_the_category($post->ID); $in_cat=0; 以下、略。 //カテゴリー内の記事番号の抽出(訂正後) function ps_number_cat( $post_type = 'post', $op = '<=' , $cat_id = null ) { global $wpdb, $post; $categories = get_the_category($post->ID); $in_cat=0; 以下、略。
訂正後のfunctions.phpをアップロードして、翌日にまたエラーログを表示させてみたら、前回から新しいログの追記は無くて、どうやらエラーが収まったようです。めでたしめでたし。つづく。
2014-07-29 > VPS&WordPress引っ越しメモ