'post_password' => $post['post_password'],
'post_excerpt' => $post['post_excerpt'],
'post_content' => $post['post_content'],
+ 'post_parent' => strval( $post['post_parent'] ),
+ 'post_mime_type' => $post['post_mime_type'],
'link' => post_permalink( $post['ID'] ),
+ 'guid' => $post['guid'],
+ 'menu_order' => intval( $post['menu_order'] ),
'comment_status' => $post['comment_status'],
'ping_status' => $post['ping_status'],
'sticky' => ( $post['post_type'] === 'post' && is_sticky( $post['ID'] ) ),
return new IXR_Error( 404, __( 'Invalid post ID.' ) );
$post_type = get_post_type_object( $post['post_type'] );
- if ( ! current_user_can( $post_type->cap->edit_posts, $post_id ) )
+ if ( ! current_user_can( $post_type->cap->edit_post, $post_id ) )
return new IXR_Error( 401, __( 'Sorry, you cannot edit this post.' ) );
return $this->_prepare_post( $post, $fields );
$post_type = get_post_type_object( $filter['post_type'] );
if ( ! ( (bool) $post_type ) )
return new IXR_Error( 403, __( 'The post type specified is not valid' ) );
+ } else {
+ $post_type = get_post_type_object( 'post' );
+ }
- if ( ! current_user_can( $post_type->cap->edit_posts ) )
- return new IXR_Error( 401, __( 'Sorry, you are not allowed to edit posts in this post type' ));
+ if ( ! current_user_can( $post_type->cap->edit_posts ) )
+ return new IXR_Error( 401, __( 'Sorry, you are not allowed to edit posts in this post type' ));
- $query['post_type'] = $filter['post_type'];
- }
+ $query['post_type'] = $post_type->name;
if ( isset( $filter['post_status'] ) )
$query['post_status'] = $filter['post_status'];
foreach ( $posts_list as $post ) {
$post_type = get_post_type_object( $post['post_type'] );
- if ( ! current_user_can( $post_type->cap->edit_posts, $post['ID'] ) )
+ if ( ! current_user_can( $post_type->cap->edit_post, $post['ID'] ) )
continue;
$struct[] = $this->_prepare_post( $post, $fields );