Allow usage of angle brackets in a site title or tagline.
The whole string is escaped with `esc_html()` anyway, so we don't need to `wp_kses_post()`. This is a better experience for users who want to use angle brackets in their site title or description. Does not allow any HTML, adds unit tests. props BandonRandon, pauldewouters. fixes #27942. git-svn-id: https://develop.svn.wordpress.org/trunk@35788 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
800971f2fd
commit
1aa7dda524
@ -3706,7 +3706,6 @@ function sanitize_option( $option, $value ) {
|
||||
if ( is_wp_error( $value ) ) {
|
||||
$error = $value->get_error_message();
|
||||
} else {
|
||||
$value = wp_kses_post( $value );
|
||||
$value = esc_html( $value );
|
||||
}
|
||||
break;
|
||||
|
@ -31,4 +31,43 @@ class Tests_Formatting_BlogInfo extends WP_UnitTestCase {
|
||||
array( 'pt_PT_ao1990', 'pt-PT-ao1990' ),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @ticket 27942
|
||||
*/
|
||||
function test_bloginfo_sanitize_option() {
|
||||
$old_values = array(
|
||||
'blogname' => get_option( 'blogname' ),
|
||||
'blogdescription' => get_option( 'blogdescription' ),
|
||||
);
|
||||
|
||||
$values = array(
|
||||
'foo' => 'foo',
|
||||
'<em>foo</em>' => '<em>foo</em>',
|
||||
'<script>foo</script>' => '<script>foo</script>',
|
||||
'<foo>' => '<foo>',
|
||||
'<foo' => '<foo',
|
||||
);
|
||||
|
||||
foreach ( $values as $value => $expected ) {
|
||||
$sanitized_value = sanitize_option( 'blogname', $value );
|
||||
update_option( 'blogname', $sanitized_value );
|
||||
|
||||
$this->assertEquals( $expected, $sanitized_value );
|
||||
$this->assertEquals( $expected, get_bloginfo( 'name' ) );
|
||||
$this->assertEquals( $expected, get_bloginfo( 'name', 'display' ) );
|
||||
|
||||
$sanitized_value = sanitize_option( 'blogdescription', $value );
|
||||
update_option( 'blogdescription', $sanitized_value );
|
||||
|
||||
$this->assertEquals( $expected, $sanitized_value );
|
||||
$this->assertEquals( $expected, get_bloginfo( 'description' ) );
|
||||
$this->assertEquals( $expected, get_bloginfo( 'description', 'display' ) );
|
||||
}
|
||||
|
||||
// Restore old values.
|
||||
foreach ( $old_values as $option_name => $value ) {
|
||||
update_option( $option_name, $value );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user