sanitize_nav_menus_created_posts() public method

Sanitize post IDs for auto-draft posts created for nav menu items to be published.
Since: 4.7.0
public sanitize_nav_menus_created_posts ( array $value )
$value array Post IDs.
Example #1
0
 /**
  * Test sanitize_nav_menus_created_posts.
  *
  * @covers WP_Customize_Nav_Menus::sanitize_nav_menus_created_posts()
  */
 function test_sanitize_nav_menus_created_posts()
 {
     $menus = new WP_Customize_Nav_Menus($this->wp_customize);
     $contributor_user_id = $this->factory()->user->create(array('role' => 'contributor'));
     $author_user_id = $this->factory()->user->create(array('role' => 'author'));
     $administrator_user_id = $this->factory()->user->create(array('role' => 'administrator'));
     $contributor_post_id = $this->factory()->post->create(array('post_status' => 'auto-draft', 'post_title' => 'Contributor Post', 'post_type' => 'post', 'post_author' => $contributor_user_id));
     $author_post_id = $this->factory()->post->create(array('post_status' => 'auto-draft', 'post_title' => 'Author Post', 'post_type' => 'post', 'post_author' => $author_user_id));
     $administrator_post_id = $this->factory()->post->create(array('post_status' => 'auto-draft', 'post_title' => 'Admin Post', 'post_type' => 'post', 'post_author' => $administrator_user_id));
     $value = array('bad', $contributor_post_id, $author_post_id, $administrator_post_id);
     wp_set_current_user($contributor_user_id);
     $sanitized = $menus->sanitize_nav_menus_created_posts($value);
     $this->assertEquals(array(), $sanitized);
     wp_set_current_user($author_user_id);
     $sanitized = $menus->sanitize_nav_menus_created_posts($value);
     $this->assertEquals(array($author_post_id), $sanitized);
     wp_set_current_user($administrator_user_id);
     $sanitized = $menus->sanitize_nav_menus_created_posts($value);
     $this->assertEquals(array($contributor_post_id, $author_post_id, $administrator_post_id), $sanitized);
 }