wp_xmlrpc_server::mt_publishPost( array $args )
Sets a post’s publish status to ‘publish’.
Parameters
- $args
-
(Required) Method arguments. Note: arguments must be ordered as documented.<br>
- (int) Post ID.<br>
- '1'
(string) Username.<br> - '2'
(string) Password.<br>
Return
(int|IXR_Error)
Source
File: wp-includes/class-wp-xmlrpc-server.php
public function mt_publishPost( $args ) {
$this->escape( $args );
$post_ID = (int) $args[0];
$username = $args[1];
$password = $args[2];
if ( !$user = $this->login($username, $password) )
return $this->error;
/** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
do_action( 'xmlrpc_call', 'mt.publishPost' );
$postdata = get_post($post_ID, ARRAY_A);
if ( ! $postdata )
return new IXR_Error( 404, __( 'Invalid post ID.' ) );
if ( !current_user_can('publish_posts') || !current_user_can('edit_post', $post_ID) )
return new IXR_Error(401, __('Sorry, you are not allowed to publish this post.'));
$postdata['post_status'] = 'publish';
// retain old cats
$cats = wp_get_post_categories($post_ID);
$postdata['post_category'] = $cats;
$this->escape($postdata);
return wp_update_post( $postdata );
}
Changelog
Version | Description |
---|---|
1.5.0 | Introduced. |