WP_Customize_Nav_Menus::sanitize_nav_menus_created_posts()publicWP 4.7.0

Sanitizes post IDs for posts created for nav menu items to be published.

Метод класса: WP_Customize_Nav_Menus{}

Хуков нет.

Возвращает

Массив. Post IDs.

Использование

$WP_Customize_Nav_Menus = new WP_Customize_Nav_Menus();
$WP_Customize_Nav_Menus->sanitize_nav_menus_created_posts( $value );
$value(массив) (обязательный)
Post IDs.

Список изменений

С версии 4.7.0 Введена.

Код WP_Customize_Nav_Menus::sanitize_nav_menus_created_posts() WP 6.4.3

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;
}