Converts WP_Error instance into array suitable for passing into the
wp.customize.Notification JS model.
public prepare_setting_validity_for_js ( true | WP_Error $validity ) : true | array | ||
$validity | true | WP_Error | Setting validity. |
Résultat | true | array | If `$validity` was a WP_Error, the error codes will be array-mapped to their respective `message` and `data` to pass into the `wp.customize.Notification` JS model. |
/** * Test WP_Customize_Manager::prepare_setting_validity_for_js(). * * @see WP_Customize_Manager::prepare_setting_validity_for_js() */ function test_prepare_setting_validity_for_js() { $this->assertTrue($this->manager->prepare_setting_validity_for_js(true)); $error = new WP_Error(); $error->add('bad_letter', 'Bad letter', 'A'); $error->add('bad_letter', 'Bad letra', 123); $error->add('bad_number', 'Bad number', array('number' => 123)); $validity = $this->manager->prepare_setting_validity_for_js($error); $this->assertInternalType('array', $validity); foreach ($error->errors as $code => $messages) { $this->assertArrayHasKey($code, $validity); $this->assertInternalType('array', $validity[$code]); $this->assertEquals(join(' ', $messages), $validity[$code]['message']); $this->assertArrayHasKey('data', $validity[$code]); $this->assertEquals($validity[$code]['data'], $error->get_error_data($code)); } $this->assertArrayHasKey('number', $validity['bad_number']['data']); $this->assertEquals(123, $validity['bad_number']['data']['number']); }