|
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( dirname( __FILE__ ) . '/admin.php' ); |
|
11 |
|
12 if ( !isset($_GET['post_type']) ) |
|
13 $post_type = 'post'; |
|
14 elseif ( in_array( $_GET['post_type'], get_post_types( array('show_ui' => true ) ) ) ) |
|
15 $post_type = $_GET['post_type']; |
|
16 else |
|
17 wp_die( __('Invalid post type') ); |
|
18 |
|
19 $post_type_object = get_post_type_object( $post_type ); |
|
20 |
|
21 if ( 'post' == $post_type ) { |
|
22 $parent_file = 'edit.php'; |
|
23 $submenu_file = 'post-new.php'; |
|
24 } elseif ( 'attachment' == $post_type ) { |
|
25 if ( wp_redirect( admin_url( 'media-new.php' ) ) ) |
|
26 exit; |
|
27 } else { |
|
28 $submenu_file = "post-new.php?post_type=$post_type"; |
|
29 if ( isset( $post_type_object ) && $post_type_object->show_in_menu && $post_type_object->show_in_menu !== true ) { |
|
30 $parent_file = $post_type_object->show_in_menu; |
|
31 if ( ! isset( $_registered_pages[ get_plugin_page_hookname( "post-new.php?post_type=$post_type", $post_type_object->show_in_menu ) ] ) ) |
|
32 $submenu_file = $parent_file; |
|
33 } else { |
|
34 $parent_file = "edit.php?post_type=$post_type"; |
|
35 } |
|
36 } |
|
37 |
|
38 $title = $post_type_object->labels->add_new_item; |
|
39 |
|
40 $editing = true; |
|
41 |
|
42 if ( ! current_user_can( $post_type_object->cap->edit_posts ) || ! current_user_can( $post_type_object->cap->create_posts ) ) |
|
43 wp_die( __( 'Cheatin’ uh?' ) ); |
|
44 |
|
45 // Schedule auto-draft cleanup |
|
46 if ( ! wp_next_scheduled( 'wp_scheduled_auto_draft_delete' ) ) |
|
47 wp_schedule_event( time(), 'daily', 'wp_scheduled_auto_draft_delete' ); |
|
48 |
|
49 wp_enqueue_script( 'autosave' ); |
|
50 |
|
51 if ( is_multisite() ) { |
|
52 add_action( 'admin_footer', '_admin_notice_post_locked' ); |
|
53 } else { |
|
54 $check_users = get_users( array( 'fields' => 'ID', 'number' => 2 ) ); |
|
55 |
|
56 if ( count( $check_users ) > 1 ) |
|
57 add_action( 'admin_footer', '_admin_notice_post_locked' ); |
|
58 |
|
59 unset( $check_users ); |
|
60 } |
|
61 |
|
62 // Show post form. |
|
63 $post = get_default_post_to_edit( $post_type, true ); |
|
64 $post_ID = $post->ID; |
|
65 include( ABSPATH . 'wp-admin/edit-form-advanced.php' ); |
|
66 include( ABSPATH . 'wp-admin/admin-footer.php' ); |