質問
サーバーのエラーログに次のエラーが表示されます。
[Thu Dec 11 10:06:30 2014] [error] [client 11.111.111.111] PHP Warning: Missing argument 1 for __(), called in /var/www/vhosts/mysite.org/public_html/wp-content/themes/mysite_v2.2/functions-cpt-projects.php on line 15 and defined in /var/www/vhosts/mysite.org/public_html/wp-includes/l10n.php on line 146, referer: http://www.mysite.org/wp-admin/edit.php
私はこれまでこれに遭遇したことがなく、何が原因であるのか疑問に思っています。l10n.php
ファイルで参照されているコード行は次のとおりです。
function __( $text, $domain = 'default' ) {
return translate( $text, $domain );
}
誰かが私がこれをデバッグする方法を知っているかどうか疑問に思っていますか?プラグインに関連している可能性があることをどこかで読み、問題が解決したかどうかを確認するためにプラグインを1つずつ無効にしましたが、これはまだ機能していません。
解決
空の文字列を渡した場合、または__()
関数に引数を渡さなかった場合、このエラーが発生します。
__()
関数を使用した場所を確認し、引数として渡されている値を確認する必要があります。
他のヒント
私も同様の問題を抱えていました。\ n問題はカスタム投稿タイプにあり、解決策は、_x()翻訳関数が複数の意味を持つ単一の単語のコンテキスト(「欠落している引数」)を必要とすることでした。
例:カスタム投稿タイプ「メンバー」がこのエラーをスローしました:
\ n警告:_x()の引数2がありません。これは、29行目の\ n /wp-content/plugins/my-cpt/posttypes.phpで呼び出され、\ n / Users / SITE-NAME / Sites / THEME-NAME / wpで定義されています。-294行目のincludes / l10n.php
\ n
文脈がなければ、私のカスタム投稿タイプは次のようになりました:\ n
「メンバー」の名前はすべてのエラーをスローしていました。コンテキストがないと( _x()関数がとる2番目の引数)、翻訳者は私が参照しているメンバーを知らない可能性があるためです。
例えば:
- \ n
- メンバー-グループまたは組織に属する誰かまたは何か? \ n
- メンバー-構造の一部ですか? \ n
- メンバー-腕や脚などの体の部分?\ n\ n\ n\ nコンテキストを追加しました: \ n
そして、エラーメッセージは消えました。