Correctly slash post fields when trashing and untrashing posts.

Fixes #27550
Props dmenard, Denis-de-Bernardy


git-svn-id: https://develop.svn.wordpress.org/trunk@34668 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
John Blackbourn 2015-09-28 19:25:05 +00:00
parent 9271360932
commit ac85963ad4
2 changed files with 31 additions and 2 deletions

View File

@ -2518,7 +2518,7 @@ function wp_trash_post( $post_id = 0 ) {
add_post_meta($post_id,'_wp_trash_meta_time', time());
$post['post_status'] = 'trash';
wp_insert_post($post);
wp_insert_post( wp_slash( $post ) );
wp_trash_post_comments($post_id);
@ -2565,7 +2565,7 @@ function wp_untrash_post( $post_id = 0 ) {
delete_post_meta($post_id, '_wp_trash_meta_status');
delete_post_meta($post_id, '_wp_trash_meta_time');
wp_insert_post($post);
wp_insert_post( wp_slash( $post ) );
wp_untrash_post_comments($post_id);

View File

@ -129,4 +129,33 @@ class Tests_Post_Slashes extends WP_UnitTestCase {
$this->assertEquals( wp_unslash( $this->slash_6 ), $post->post_excerpt );
}
/**
* @ticket 27550
*/
function test_wp_trash_untrash() {
$post = array(
'post_title' => $this->slash_1,
'post_content' => $this->slash_3,
'post_excerpt' => $this->slash_5,
);
$id = wp_insert_post( wp_slash( $post ) );
$trashed = wp_trash_post( $id );
$this->assertNotEmpty( $trashed );
$post = get_post( $id );
$this->assertEquals( $this->slash_1, $post->post_title );
$this->assertEquals( $this->slash_3, $post->post_content );
$this->assertEquals( $this->slash_5, $post->post_excerpt );
$untrashed = wp_untrash_post( $id );
$this->assertNotEmpty( $untrashed );
$post = get_post( $id );
$this->assertEquals( $this->slash_1, $post->post_title );
$this->assertEquals( $this->slash_3, $post->post_content );
$this->assertEquals( $this->slash_5, $post->post_excerpt );
}
}