wp/wp-admin/post-new.php
changeset 9 177826044cd9
parent 7 cf61fcea0001
child 16 a86126ab1dd4
equal deleted inserted replaced
8:c7c34916027a 9:177826044cd9
    16  */
    16  */
    17 global $post_type, $post_type_object, $post;
    17 global $post_type, $post_type_object, $post;
    18 
    18 
    19 if ( ! isset( $_GET['post_type'] ) ) {
    19 if ( ! isset( $_GET['post_type'] ) ) {
    20 	$post_type = 'post';
    20 	$post_type = 'post';
    21 } elseif ( in_array( $_GET['post_type'], get_post_types( array('show_ui' => true ) ) ) ) {
    21 } elseif ( in_array( $_GET['post_type'], get_post_types( array( 'show_ui' => true ) ) ) ) {
    22 	$post_type = $_GET['post_type'];
    22 	$post_type = $_GET['post_type'];
    23 } else {
    23 } else {
    24 	wp_die( __( 'Invalid post type.' ) );
    24 	wp_die( __( 'Invalid post type.' ) );
    25 }
    25 }
    26 $post_type_object = get_post_type_object( $post_type );
    26 $post_type_object = get_post_type_object( $post_type );
    27 
    27 
    28 if ( 'post' == $post_type ) {
    28 if ( 'post' == $post_type ) {
    29 	$parent_file = 'edit.php';
    29 	$parent_file  = 'edit.php';
    30 	$submenu_file = 'post-new.php';
    30 	$submenu_file = 'post-new.php';
    31 } elseif ( 'attachment' == $post_type ) {
    31 } elseif ( 'attachment' == $post_type ) {
    32 	if ( wp_redirect( admin_url( 'media-new.php' ) ) )
    32 	if ( wp_redirect( admin_url( 'media-new.php' ) ) ) {
    33 		exit;
    33 		exit;
       
    34 	}
    34 } else {
    35 } else {
    35 	$submenu_file = "post-new.php?post_type=$post_type";
    36 	$submenu_file = "post-new.php?post_type=$post_type";
    36 	if ( isset( $post_type_object ) && $post_type_object->show_in_menu && $post_type_object->show_in_menu !== true ) {
    37 	if ( isset( $post_type_object ) && $post_type_object->show_in_menu && $post_type_object->show_in_menu !== true ) {
    37 		$parent_file = $post_type_object->show_in_menu;
    38 		$parent_file = $post_type_object->show_in_menu;
    38 		// What if there isn't a post-new.php item for this post type?
    39 		// What if there isn't a post-new.php item for this post type?
    39 		if ( ! isset( $_registered_pages[ get_plugin_page_hookname( "post-new.php?post_type=$post_type", $post_type_object->show_in_menu ) ] ) ) {
    40 		if ( ! isset( $_registered_pages[ get_plugin_page_hookname( "post-new.php?post_type=$post_type", $post_type_object->show_in_menu ) ] ) ) {
    40 			if (	isset( $_registered_pages[ get_plugin_page_hookname( "edit.php?post_type=$post_type", $post_type_object->show_in_menu ) ] ) ) {
    41 			if ( isset( $_registered_pages[ get_plugin_page_hookname( "edit.php?post_type=$post_type", $post_type_object->show_in_menu ) ] ) ) {
    41 				// Fall back to edit.php for that post type, if it exists
    42 				// Fall back to edit.php for that post type, if it exists
    42 				$submenu_file = "edit.php?post_type=$post_type";
    43 				$submenu_file = "edit.php?post_type=$post_type";
    43 			} else {
    44 			} else {
    44 				// Otherwise, give up and highlight the parent
    45 				// Otherwise, give up and highlight the parent
    45 				$submenu_file = $parent_file;
    46 				$submenu_file = $parent_file;
    60 		'<p>' . __( 'Sorry, you are not allowed to create posts as this user.' ) . '</p>',
    61 		'<p>' . __( 'Sorry, you are not allowed to create posts as this user.' ) . '</p>',
    61 		403
    62 		403
    62 	);
    63 	);
    63 }
    64 }
    64 
    65 
    65 // Schedule auto-draft cleanup
    66 $post    = get_default_post_to_edit( $post_type, true );
    66 if ( ! wp_next_scheduled( 'wp_scheduled_auto_draft_delete' ) ) {
       
    67 	wp_schedule_event( time(), 'daily', 'wp_scheduled_auto_draft_delete' );
       
    68 }
       
    69 
       
    70 $post = get_default_post_to_edit( $post_type, true );
       
    71 $post_ID = $post->ID;
    67 $post_ID = $post->ID;
    72 
    68 
    73 /** This filter is documented in wp-admin/post.php */
    69 /** This filter is documented in wp-admin/post.php */
    74 if ( apply_filters( 'replace_editor', false, $post ) !== true ) {
    70 if ( apply_filters( 'replace_editor', false, $post ) !== true ) {
    75 	wp_enqueue_script( 'autosave' );
    71 	if ( use_block_editor_for_post( $post ) ) {
    76 	include( ABSPATH . 'wp-admin/edit-form-advanced.php' );
    72 		include( ABSPATH . 'wp-admin/edit-form-blocks.php' );
       
    73 	} else {
       
    74 		wp_enqueue_script( 'autosave' );
       
    75 		include( ABSPATH . 'wp-admin/edit-form-advanced.php' );
       
    76 	}
       
    77 } else {
       
    78 	// Flag that we're not loading the block editor.
       
    79 	$current_screen = get_current_screen();
       
    80 	$current_screen->is_block_editor( false );
    77 }
    81 }
    78 
    82 
    79 include( ABSPATH . 'wp-admin/admin-footer.php' );
    83 include( ABSPATH . 'wp-admin/admin-footer.php' );