如何将多个wp_error组合在一起?

时间:2015-06-02 作者:alhoseany

我在wordpress上创建了一个自定义注册表。每个字段都有验证错误,WordPress只会将所有错误转储到表单上方。

我试图将这些错误分为多个输出,通过调用

get_error_message(\'error_code\');
但是,每个字段都有多个错误。是否有任何方法可以将与任何字段(如电子邮件字段)相关的所有错误分组(空电子邮件错误和电子邮件已退出…)然后在电子邮件输入字段下方对其进行哑操作?

1 个回复
SO网友:s_ha_dum

您可以检索相同的code 使用get_error_messages() 方法(hacked from some code in the Codex):

function doer_of_stuff() {
   $err = new WP_Error( \'broke\', "I\'ve fallen and can\'t get up 1");
   $err->add(\'broke\', "I\'ve fallen and can\'t get up 2");
   $err->add(\'borken\', "not this one");
   $err->add(\'borken\', "not this one");
   $err->add(\'broke\', "I\'ve fallen and can\'t get up 3");
   return $err;
}

$return = doer_of_stuff();
if( is_wp_error( $return ) ) {
  //   var_dump($return);
  var_dump($return->get_error_messages(\'broke\'));
}
我想这就是你想要做的。

要获取其他消息,只需重复以下代码:$return->get_error_messages(\'broke\').

get_error_messages() 无参数将转储所有消息:

if( is_wp_error( $return ) ) {
  //   var_dump($return);
  var_dump($return->get_error_codes());
  var_dump($return->get_error_messages());
}
或者使用errors 类变量本身:

$return = doer_of_stuff();
if( is_wp_error( $return ) ) {
  var_dump($return->errors);
}
数据已“分组”

结束

相关推荐