私はWordPressのユーザーデータを扱っていますが、このエラーは一般的なPHPの問題であると私は思っています。警告:array_keys()は、配列が適切に形成されているものの、パラメータ1が配列、nullが指定されていると想定していますか?
display_name
のような特定のユーザーフィールドに対応するキーと値の配列をとる関数wp_update_user()
を使用します。次のように
コード責任ルックス(私はデバッグ目的のためdisplay_name
の値をハードコーディングしていますことに注意してください):
$returnValue = wp_update_user(array('ID' => $user->ID, 'display_name' => 'Test 123'));
if (is_wp_error($returnValue)) {
print_r($returnValue);
} else {
echo "User update was a success, ID returned is " . $returnValue;
}
if文を出力し、エラーがあればエラーオブジェクトならば。ただし、期待どおりデータベースの値が更新されており、WPからエラーが返されません。しかし、サーバーは私に一連の警告を出しています。これはWarning: array_keys() expects parameter 1 to be array, null given in /srv/www/mysite.com/current/web/wp/wp-includes/user.php on line 1993
で始まります。私は関数array_keys()
を調べましたが、私が知る限り、必要に応じて正しく形成された配列を渡しています。この警告は、wp_update_user()
機能に由来します。
上記のとおり、実際のコードは機能していると思われますが、この警告は実際には機能を妨げるものではありません。私はこの警告出力を隠すことができますが、ベストプラクティスのために、私はその警告出力の下に行きたいと考えています。これをどうすれば解決できますか?
のIDとして通常の整数であることを呼び出すことが警告しているかなり確信しては?wp_update_user機能からしてくださいトリガ残りのエラーメッセージを表示します。 '...'コードはうまくいきません。 –
@LawrenceCheroneはい、その関数からトリガーされます。ただ私のポストを更新しました。 – AKor
投稿したコードに 'array_keys()'を呼び出すことはありません。エラーを引き起こすコードを投稿に追加します。 – axiac