mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-06-28 22:30:04 +00:00
Comments: Make wp_required_field_indicator() and wp_required_field_message() output filterable.
This changeset introduces two new hooks: - `wp_required_field_indicator` allows developers to filter the HTML output of the `wp_required_field_indicator()` function. - `wp_required_field_message` does the same for the `wp_required_field_message()` function. The changeset also adds new phpunit tests for these filters. Follow-up to [53888], [54136]. Props kebbet, audrasjb, sabernhardt, costdev, mukesh27. Fixes #56389. See #54394. git-svn-id: https://develop.svn.wordpress.org/trunk@54137 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -5026,7 +5026,14 @@ function wp_required_field_indicator() {
|
||||
$glyph = __( '*' );
|
||||
$indicator = '<span class="required">' . esc_html( $glyph ) . '</span>';
|
||||
|
||||
return $indicator;
|
||||
/**
|
||||
* Filters the markup for a visual indicator of required form fields.
|
||||
*
|
||||
* @since 6.1.0
|
||||
*
|
||||
* @param string $indicator Markup for the indicator element.
|
||||
*/
|
||||
return apply_filters( 'wp_required_field_indicator', $indicator );
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -5043,7 +5050,14 @@ function wp_required_field_message() {
|
||||
sprintf( __( 'Required fields are marked %s' ), wp_required_field_indicator() )
|
||||
);
|
||||
|
||||
return $message;
|
||||
/**
|
||||
* Filters the message to explain required form fields.
|
||||
*
|
||||
* @since 6.1.0
|
||||
*
|
||||
* @param string $message Message text and glyph wrapped in a `span` tag.
|
||||
*/
|
||||
return apply_filters( 'wp_required_field_message', $message );
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
45
tests/phpunit/tests/general/wpRequiredFieldIndicator.php
Normal file
45
tests/phpunit/tests/general/wpRequiredFieldIndicator.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
/**
|
||||
* Test wp_required_field_indicator().
|
||||
*
|
||||
* @group general
|
||||
* @group template
|
||||
*
|
||||
* @covers ::wp_required_field_indicator
|
||||
*/
|
||||
class Tests_General_wpRequiredFieldIndicator extends WP_UnitTestCase {
|
||||
|
||||
/**
|
||||
* Tests that `wp_required_field_indicator()` returns the expected default value.
|
||||
*
|
||||
* @ticket 56389
|
||||
*/
|
||||
public function test_wp_required_field_indicator_should_return_default_value() {
|
||||
$this->assertSame( '<span class="required">*</span>', wp_required_field_indicator() );
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that `wp_required_field_indicator()` applies 'wp_required_field_indicator' filters.
|
||||
*
|
||||
* @ticket 56389
|
||||
*/
|
||||
public function test_wp_required_field_indicator_should_apply_wp_required_field_indicator_filters() {
|
||||
$filter = new MockAction();
|
||||
add_filter( 'wp_required_field_indicator', array( &$filter, 'filter' ) );
|
||||
|
||||
wp_required_field_indicator();
|
||||
|
||||
$this->assertSame( 1, $filter->get_call_count() );
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that the final return value of `wp_required_field_indicator()` is the result of
|
||||
* 'wp_required_field_indicator' filters.
|
||||
*
|
||||
* @ticket 56389
|
||||
*/
|
||||
public function test_wp_required_field_indicator_should_return_wp_required_field_indicator_filters() {
|
||||
add_filter( 'wp_required_field_indicator', '__return_empty_string' );
|
||||
$this->assertSame( '', wp_required_field_indicator() );
|
||||
}
|
||||
}
|
||||
48
tests/phpunit/tests/general/wpRequiredFieldMessage.php
Normal file
48
tests/phpunit/tests/general/wpRequiredFieldMessage.php
Normal file
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
/**
|
||||
* Test wp_required_field_message().
|
||||
*
|
||||
* @group general
|
||||
* @group template
|
||||
*
|
||||
* @covers ::wp_required_field_message
|
||||
*/
|
||||
class Tests_General_wpRequiredFieldMessage extends WP_UnitTestCase {
|
||||
|
||||
/**
|
||||
* Tests that `wp_required_field_message()` returns the expected default value.
|
||||
*
|
||||
* @ticket 56389
|
||||
*/
|
||||
public function test_wp_required_field_message_should_return_default_value() {
|
||||
$expected = '<span class="required-field-message">';
|
||||
$expected .= 'Required fields are marked <span class="required">*</span>';
|
||||
$expected .= '</span>';
|
||||
$this->assertSame( $expected, wp_required_field_message() );
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that `wp_required_field_message()` applies 'wp_required_field_message' filters.
|
||||
*
|
||||
* @ticket 56389
|
||||
*/
|
||||
public function test_wp_required_field_message_should_apply_wp_required_field_message_filters() {
|
||||
$filter = new MockAction();
|
||||
add_filter( 'wp_required_field_message', array( &$filter, 'filter' ) );
|
||||
|
||||
wp_required_field_message();
|
||||
|
||||
$this->assertSame( 1, $filter->get_call_count() );
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that the final return value of `wp_required_field_message()` is the result of
|
||||
* 'wp_required_field_message' filters.
|
||||
*
|
||||
* @ticket 56389
|
||||
*/
|
||||
public function test_wp_required_field_message_should_return_wp_required_field_message_filters() {
|
||||
add_filter( 'wp_required_field_message', '__return_empty_string' );
|
||||
$this->assertSame( '', wp_required_field_message() );
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user