wp_autosave( array $post_data )
Save a post submitted with XHR
Description Description
Intended for use with heartbeat and autosave.js
Parameters Parameters
- $post_data
-
(array) (Required) Associative array of the submitted post data.
Return Return
(mixed) The value 0 or WP_Error on failure. The saved post ID on success. The ID can be the draft post_id or the autosave revision post_id.
Source Source
File: wp-admin/includes/post.php
1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 | function wp_autosave( $post_data ) { // Back-compat if ( ! defined( 'DOING_AUTOSAVE' ) ) { define( 'DOING_AUTOSAVE' , true ); } $post_id = (int) $post_data [ 'post_id' ]; $post_data [ 'ID' ] = $post_data [ 'post_ID' ] = $post_id ; if ( false === wp_verify_nonce( $post_data [ '_wpnonce' ], 'update-post_' . $post_id ) ) { return new WP_Error( 'invalid_nonce' , __( 'Error while saving.' ) ); } $post = get_post( $post_id ); if ( ! current_user_can( 'edit_post' , $post ->ID ) ) { return new WP_Error( 'edit_posts' , __( 'Sorry, you are not allowed to edit this item.' ) ); } if ( 'auto-draft' == $post ->post_status ) { $post_data [ 'post_status' ] = 'draft' ; } if ( $post_data [ 'post_type' ] != 'page' && ! empty ( $post_data [ 'catslist' ] ) ) { $post_data [ 'post_category' ] = explode ( ',' , $post_data [ 'catslist' ] ); } if ( ! wp_check_post_lock( $post ->ID ) && get_current_user_id() == $post ->post_author && ( 'auto-draft' == $post ->post_status || 'draft' == $post ->post_status ) ) { // Drafts and auto-drafts are just overwritten by autosave for the same user if the post is not locked return edit_post( wp_slash( $post_data ) ); } else { // Non drafts or other users drafts are not overwritten. The autosave is stored in a special post revision for each user. return wp_create_post_autosave( wp_slash( $post_data ) ); } } |
Expand full source code Collapse full source code View on Trac
Changelog Changelog
Version | Description |
---|---|
3.9.0 | Introduced. |