angelovcom.net

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

post-new.php (2703B)


      1 <?php
      2 /**
      3  * New Post Administration Screen.
      4  *
      5  * @package WordPress
      6  * @subpackage Administration
      7  */
      8 
      9 /** Load WordPress Administration Bootstrap */
     10 require_once __DIR__ . '/admin.php';
     11 
     12 /**
     13  * @global string  $post_type
     14  * @global object  $post_type_object
     15  * @global WP_Post $post             Global post object.
     16  */
     17 global $post_type, $post_type_object, $post;
     18 
     19 if ( ! isset( $_GET['post_type'] ) ) {
     20 	$post_type = 'post';
     21 } elseif ( in_array( $_GET['post_type'], get_post_types( array( 'show_ui' => true ) ), true ) ) {
     22 	$post_type = $_GET['post_type'];
     23 } else {
     24 	wp_die( __( 'Invalid post type.' ) );
     25 }
     26 $post_type_object = get_post_type_object( $post_type );
     27 
     28 if ( 'post' === $post_type ) {
     29 	$parent_file  = 'edit.php';
     30 	$submenu_file = 'post-new.php';
     31 } elseif ( 'attachment' === $post_type ) {
     32 	if ( wp_redirect( admin_url( 'media-new.php' ) ) ) {
     33 		exit;
     34 	}
     35 } else {
     36 	$submenu_file = "post-new.php?post_type=$post_type";
     37 	if ( isset( $post_type_object ) && $post_type_object->show_in_menu && true !== $post_type_object->show_in_menu ) {
     38 		$parent_file = $post_type_object->show_in_menu;
     39 		// What if there isn't a post-new.php item for this post type?
     40 		if ( ! isset( $_registered_pages[ get_plugin_page_hookname( "post-new.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 ) ] ) ) {
     42 				// Fall back to edit.php for that post type, if it exists.
     43 				$submenu_file = "edit.php?post_type=$post_type";
     44 			} else {
     45 				// Otherwise, give up and highlight the parent.
     46 				$submenu_file = $parent_file;
     47 			}
     48 		}
     49 	} else {
     50 		$parent_file = "edit.php?post_type=$post_type";
     51 	}
     52 }
     53 
     54 $title = $post_type_object->labels->add_new_item;
     55 
     56 $editing = true;
     57 
     58 if ( ! current_user_can( $post_type_object->cap->edit_posts ) || ! current_user_can( $post_type_object->cap->create_posts ) ) {
     59 	wp_die(
     60 		'<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' .
     61 		'<p>' . __( 'Sorry, you are not allowed to create posts as this user.' ) . '</p>',
     62 		403
     63 	);
     64 }
     65 
     66 $post    = get_default_post_to_edit( $post_type, true );
     67 $post_ID = $post->ID;
     68 
     69 /** This filter is documented in wp-admin/post.php */
     70 if ( apply_filters( 'replace_editor', false, $post ) !== true ) {
     71 	if ( use_block_editor_for_post( $post ) ) {
     72 		require ABSPATH . 'wp-admin/edit-form-blocks.php';
     73 	} else {
     74 		wp_enqueue_script( 'autosave' );
     75 		require 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 );
     81 }
     82 
     83 require_once ABSPATH . 'wp-admin/admin-footer.php';