• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

クラスリファレンス/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_Errorwp-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' に直面したとき特に役に立ちます。)

リソース

クラスリファレンス関数リファレンスの各インデックスも参照してください。

最新英語版: WordPress Codex » Class Reference/WP Error最新版との差分