当サイト、Codex 日本語版は今後積極的な更新は行わない予定です。後継となる新ユーザーマニュアルは、https://ja.wordpress.org/support/ にあります。
万が一、当サイトで重大な問題を発見した際などは、フォーラムや WordSlack #docs チャンネルでお知らせください。</p>
万が一、当サイトで重大な問題を発見した際などは、フォーラムや WordSlack #docs チャンネルでお知らせください。</p>
クラスリファレンス/WP Error
提供: WordPress Codex 日本語版
WP_Error は、プラグインと WordPress 自身のエラー処理を簡単に行えるようにするクラス(PHP のクラス)です。
WP_Error のインスタンスは一つか複数のエラーを表すエラーコードとメッセージを保持します。 また、ある変数が WP_Error のインスタンスであるかを is_wp_error() 関数を使って判定できます。
メソッドとプロパティ
プロパティ
- $errors
- エラーのリストが入った配列。
- $error_data
- エラーコードを表すデータのリストが入った配列。
参考: バージョン 4.0 でこれらのプロパティはプライベートにされましたが、4.2 以降ふたたびパブリックになりました。
メソッド
- __construct( $code = '', $message = '', $data = '' )
- エラーメッセージをセットアップします。どのパラメータも省略可能です。 $code が空文字列の場合、他のパラメータは無視されます。$code パラメータに空でない値をセットすると、$message は空文字列でも使われますが、$data は空文字列でないときのみ使われます。このクラスの他のメソッドを使うと、同じコードに複数のメッセージを追加できます。
- get_error_codes()
- エラーコードをすべて取得します。パブリックにアクセス可能で、エラーコードのリストの配列を返します(エラーコードがセット済みのとき)。
- get_error_code()
- 先頭のエラーコードを取得します。パブリックにアクセス可能で、文字列または整数を返します。エラーコードがない場合は空文字列を返します。
- get_error_messages($code)
- すべてのエラーメッセージ、または指定したコードにマッチするエラーメッセージを取得します。パブリックにアクセス可能で、エラー文字列の配列を返します。指定したコードにマッチするメッセージが無ければ空の配列を返します。
- get_error_message($code)
- エラーメッセージを一つ取得します。指定したコードの最初のメッセージを返します。コードを指定しなければ、先頭のコードが使われます。エラー文字列を返します。
- get_error_data($code)
- 指定したエラーコードのエラーデータを取得します。戻り値は mixed です。エラーデータがなければ null を返します。
- add($code, $message, $data)
- エラーメッセージのリストにエラーメッセージをもっと追加します。戻り値はありません。
- add_data($data, $code)
- エラーコードにデータを追加します。エラーコードはエラーデータを一つしか持てません。戻り値はありません。
- remove($code)
- エラーコードに関連付けられたすべてのメッセージやデータを削除します。戻り値はありません。
用例
function doer_of_stuff() { return new WP_Error( 'broke', __( "I've fallen and can't get up", "my_textdomain" ) ); } $return = doer_of_stuff(); if( is_wp_error( $return ) ) { echo $return->get_error_message(); }
ソースファイル
WP_Error は wp-includes/class-wp-error.php
にあります。
改訂履歴
- 4.2.0 : エラーとデータの配列が再びパブリックになり、マジックメソッドが削除されました。Trac ticket #30891 を見てください。
- 4.1.0 : remove() メソッドを追加。
- 4.0.0 : エラーとデータの配列がプライベートになり、後方互換性のためマジックメソッドが追加されました。[28511] を見てください。
- 2.1.0 : 新規導入。
関連項目
- エラー処理について詳しくは is_wp_error() を参照してください。(恐ろしい 'Catchable fatal error: Object of class WP_Error could not be converted to string' に直面したとき特に役に立ちます。)