Creates a new post for any registered post type.
Parameters
$args
arrayrequired- Method arguments. Note: top-level arguments must be ordered as documented.
0
intBlog ID (unused).1
stringUsername.2
stringPassword.3
arrayContent struct for adding a new post. See wp_insert_post() for information on additional post fieldspost_type
stringPost type. Default'post'
.post_status
stringPost status. Default'draft'
post_title
stringPost title.post_author
intPost author ID.post_excerpt
stringPost excerpt.post_content
stringPost content.post_date_gmt
stringPost date in GMT.post_date
stringPost date.post_password
stringPost password (20-character limit).comment_status
stringPost comment enabled status. Accepts'open'
or'closed'
.ping_status
stringPost ping status. Accepts'open'
or'closed'
.sticky
boolWhether the post should be sticky. Automatically false if$post_status
is'private'
.post_thumbnail
intID of an image to use as the post thumbnail/featured image.custom_fields
arrayArray of meta key/value pairs to add to the post.terms
arrayAssociative array with taxonomy names as keys and arrays of term IDs as values.terms_names
arrayAssociative array with taxonomy names as keys and arrays of term names as values.enclosure
arrayArray of feed enclosure data to add to post meta.url
stringURL for the feed enclosure.length
intSize in bytes of the enclosure.type
stringMime-type for the enclosure.
}
Source
public function wp_newPost( $args ) { if ( ! $this->minimum_args( $args, 4 ) ) { return $this->error; } $this->escape( $args ); $username = $args[1]; $password = $args[2]; $content_struct = $args[3]; $user = $this->login( $username, $password ); if ( ! $user ) { return $this->error; } // Convert the date field back to IXR form. if ( isset( $content_struct['post_date'] ) && ! ( $content_struct['post_date'] instanceof IXR_Date ) ) { $content_struct['post_date'] = $this->_convert_date( $content_struct['post_date'] ); } /* * Ignore the existing GMT date if it is empty or a non-GMT date was supplied in $content_struct, * since _insert_post() will ignore the non-GMT date if the GMT date is set. */ if ( isset( $content_struct['post_date_gmt'] ) && ! ( $content_struct['post_date_gmt'] instanceof IXR_Date ) ) { if ( '0000-00-00 00:00:00' === $content_struct['post_date_gmt'] || isset( $content_struct['post_date'] ) ) { unset( $content_struct['post_date_gmt'] ); } else { $content_struct['post_date_gmt'] = $this->_convert_date( $content_struct['post_date_gmt'] ); } } /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */ do_action( 'xmlrpc_call', 'wp.newPost', $args, $this ); unset( $content_struct['ID'] ); return $this->_insert_post( $user, $content_struct ); }
Hooks
- do_action( ‘xmlrpc_call’,
string $name ,array|string $args ,wp_xmlrpc_server $server ) Fires after the XML-RPC user has been authenticated but before the rest of the method logic begins.
Changelog
Version Description 3.4.0 Introduced.
User Contributed Notes
You must log in before being able to contribute a note or feedback.