switch($action) {case 'postajaxpost':case 'post':case 'post-quickpress-publish':case 'post-quickpress-save':

check_admin_referer('add-'. $post_type);if ( 'post-quickpress-publish' ==$action )

$_POST['publish'] = 'publish'; //tell write_post() to publish

if ( 'post-quickpress-publish' == $action || 'post-quickpress-save' ==$action ) {

$_POST['comment_status'] = get_option('default_comment_status');

$_POST['ping_status'] = get_option('default_ping_status');

$post_id=edit_post();

}else{

$post_id= 'postajaxpost' == $action ?edit_post() : write_post();

}if ( 0 === strpos( $action, 'post-quickpress') ) {

$_POST['post_ID'] =$post_id;//output the quickpress dashboard widget

require_once(ABSPATH . 'wp-admin/includes/dashboard.php');

wp_dashboard_quick_press();

exit;

}

redirect_post($post_id);

exit();break;case 'edit':

$editing= true;if( empty( $post_id ) ) {

wp_redirect( admin_url('post.php') );

exit();

}if ( !$post )

wp_die( __('You attempted to edit an item that doesn’t exist. Perhaps it was deleted?') );if ( !$post_type_object )

wp_die( __('Unknown post type.') );if ( ! current_user_can( 'edit_post', $post_id ) )

wp_die( __('You are not allowed to edit this item.') );if ( 'trash' == $post->post_status )

wp_die( __('You can’t edit this item because it is in the Trash. Please restore it and try again.') );if ( ! empty( $_GET['get-post-lock'] ) ) {

wp_set_post_lock( $post_id );

wp_redirect( get_edit_post_link( $post_id,'url') );

exit();

}

$post_type= $post->post_type;if ( 'post' ==$post_type ) {

$parent_file= "edit.php";

$submenu_file= "edit.php";

$post_new_file= "post-new.php";

} elseif ('attachment' ==$post_type ) {

$parent_file= 'upload.php';

$submenu_file= 'upload.php';

$post_new_file= 'media-new.php';

}else{if ( isset( $post_type_object ) && $post_type_object->show_in_menu && $post_type_object->show_in_menu !== true)

$parent_file= $post_type_object->show_in_menu;else$parent_file= "edit.php?post_type=$post_type";

$submenu_file= "edit.php?post_type=$post_type";

$post_new_file= "post-new.php?post_type=$post_type";

}if ( ! wp_check_post_lock( $post->ID ) ) {

$active_post_lock= wp_set_post_lock( $post->ID );if ( 'attachment' !==$post_type )

wp_enqueue_script('autosave');

}if( is_multisite() ) {

add_action('admin_footer', '_admin_notice_post_locked');

}else{

$check_users= get_users( array( 'fields' => 'ID', 'number' => 2) );if ( count( $check_users ) > 1)

add_action('admin_footer', '_admin_notice_post_locked');

unset( $check_users );

}

$title= $post_type_object->labels->edit_item;

$post= get_post($post_id, OBJECT, 'edit');if ( post_type_supports($post_type, 'comments') ) {

wp_enqueue_script('admin-comments');

enqueue_comment_hotkeys_js();

}

include( ABSPATH .'wp-admin/edit-form-advanced.php');break;case 'editattachment':

check_admin_referer('update-post_'. $post_id);//Don't let these be changed

unset($_POST['guid']);

$_POST['post_type'] = 'attachment';//Update the thumbnail filename

$newmeta = wp_get_attachment_metadata( $post_id, true);

$newmeta['thumb'] = $_POST['thumb'];

wp_update_attachment_metadata( $post_id, $newmeta );case 'editpost':

check_admin_referer('update-post_'. $post_id);

$post_id=edit_post();//Session cookie flag that the post was saved

if ( isset( $_COOKIE['wp-saving-post-'. $post_id] ) )

setcookie('wp-saving-post-' . $post_id, 'saved');

redirect_post($post_id);//Send user on their way while we keep working

exit();break;case 'trash':

check_admin_referer('trash-post_'. $post_id);if ( !$post )

wp_die( __('The item you are trying to move to the Trash no longer exists.') );if ( !$post_type_object )

wp_die( __('Unknown post type.') );if ( ! current_user_can( 'delete_post', $post_id ) )

wp_die( __('You are not allowed to move this item to the Trash.') );if ( $user_id =wp_check_post_lock( $post_id ) ) {

$user=get_userdata( $user_id );

wp_die( sprintf( __('You cannot move this item to the Trash. %s is currently editing.' ), $user->display_name ) );

}if ( !wp_trash_post( $post_id ) )

wp_die( __('Error in moving to Trash.') );

wp_redirect( add_query_arg( array('trashed' => 1, 'ids' =>$post_id), $sendback ) );

exit();break;case 'untrash':

check_admin_referer('untrash-post_'. $post_id);if ( !$post )

wp_die( __('The item you are trying to restore from the Trash no longer exists.') );if ( !$post_type_object )

wp_die( __('Unknown post type.') );if ( ! current_user_can( 'delete_post', $post_id ) )

wp_die( __('You are not allowed to move this item out of the Trash.') );if ( !wp_untrash_post( $post_id ) )

wp_die( __('Error in restoring from Trash.') );

wp_redirect( add_query_arg('untrashed', 1, $sendback) );

exit();break;case 'delete':

check_admin_referer('delete-post_'. $post_id);if ( !$post )

wp_die( __('This item has already been deleted.') );if ( !$post_type_object )

wp_die( __('Unknown post type.') );if ( ! current_user_can( 'delete_post', $post_id ) )

wp_die( __('You are not allowed to delete this item.') );

$force= !EMPTY_TRASH_DAYS;if ( $post->post_type == 'attachment') {

$force= ( $force || !MEDIA_TRASH );if ( !wp_delete_attachment( $post_id, $force ) )

wp_die( __('Error in deleting.') );

}else{if ( !wp_delete_post( $post_id, $force ) )

wp_die( __('Error in deleting.') );

}

wp_redirect( add_query_arg('deleted', 1, $sendback) );

exit();break;case 'preview':

check_admin_referer('autosave', 'autosavenonce');

$url=post_preview();

wp_redirect($url);

exit();break;default:

wp_redirect( admin_url('edit.php') );

exit();break;

}//end switch

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐