WP_Customize_Nav_Menus::sanitize_nav_menus_created_posts
Sanitizes post IDs for posts created for nav menu items to be published.
Method of the class: WP_Customize_Nav_Menus{}
No Hooks.
Returns
Array. Post IDs.
Usage
$WP_Customize_Nav_Menus = new WP_Customize_Nav_Menus(); $WP_Customize_Nav_Menus->sanitize_nav_menus_created_posts( $value );
- $value(array) (required)
- Post IDs.
Changelog
| Since 4.7.0 | Introduced. |
WP_Customize_Nav_Menus::sanitize_nav_menus_created_posts() WP Customize Nav Menus::sanitize nav menus created posts code WP 6.9.1
public function sanitize_nav_menus_created_posts( $value ) {
$post_ids = array();
foreach ( wp_parse_id_list( $value ) as $post_id ) {
if ( empty( $post_id ) ) {
continue;
}
$post = get_post( $post_id );
if ( 'auto-draft' !== $post->post_status && 'draft' !== $post->post_status ) {
continue;
}
$post_type_obj = get_post_type_object( $post->post_type );
if ( ! $post_type_obj ) {
continue;
}
if ( ! current_user_can( $post_type_obj->cap->publish_posts ) || ! current_user_can( 'edit_post', $post_id ) ) {
continue;
}
$post_ids[] = $post->ID;
}
return $post_ids;
}