php发布post到wordpress,开源欣赏wordpress之post.php
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['pu
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
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)