Don't show deleted Pages in wp.getPages results, props ryan, props Denis-de-Bernardy,fixes #11243

git-svn-id: https://develop.svn.wordpress.org/trunk@12303 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Andrew Ozz 2009-12-01 08:14:42 +00:00
parent 3ee2175000
commit 55ea0988cd
2 changed files with 20 additions and 15 deletions

View File

@ -2108,20 +2108,25 @@ class WP_Query {
$q_status = explode(',', $q['post_status']);
$r_status = array();
$p_status = array();
if ( in_array( 'draft' , $q_status ) )
$r_status[] = "$wpdb->posts.post_status = 'draft'";
if ( in_array( 'pending', $q_status ) )
$r_status[] = "$wpdb->posts.post_status = 'pending'";
if ( in_array( 'future' , $q_status ) )
$r_status[] = "$wpdb->posts.post_status = 'future'";
if ( in_array( 'inherit' , $q_status ) )
$r_status[] = "$wpdb->posts.post_status = 'inherit'";
if ( in_array( 'private', $q_status ) )
$p_status[] = "$wpdb->posts.post_status = 'private'";
if ( in_array( 'publish', $q_status ) )
$r_status[] = "$wpdb->posts.post_status = 'publish'";
if ( in_array( 'trash', $q_status ) )
$r_status[] = "$wpdb->posts.post_status = 'trash'";
if ( $q['post_status'] == 'any' ) {
// @todo Use register_post_status() data to determine which states should be excluded.
$r_status[] = "$wpdb->posts.post_status <> 'trash'";
} else {
if ( in_array( 'draft' , $q_status ) )
$r_status[] = "$wpdb->posts.post_status = 'draft'";
if ( in_array( 'pending', $q_status ) )
$r_status[] = "$wpdb->posts.post_status = 'pending'";
if ( in_array( 'future' , $q_status ) )
$r_status[] = "$wpdb->posts.post_status = 'future'";
if ( in_array( 'inherit' , $q_status ) )
$r_status[] = "$wpdb->posts.post_status = 'inherit'";
if ( in_array( 'private', $q_status ) )
$p_status[] = "$wpdb->posts.post_status = 'private'";
if ( in_array( 'publish', $q_status ) )
$r_status[] = "$wpdb->posts.post_status = 'publish'";
if ( in_array( 'trash', $q_status ) )
$r_status[] = "$wpdb->posts.post_status = 'trash'";
}
if ( empty($q['perm'] ) || 'readable' != $q['perm'] ) {
$r_status = array_merge($r_status, $p_status);

View File

@ -612,7 +612,7 @@ class wp_xmlrpc_server extends IXR_Server {
do_action('xmlrpc_call', 'wp.getPages');
$pages = get_posts( array('post_type' => 'page', 'post_status' => 'all', 'numberposts' => $num_pages) );
$pages = get_posts( array('post_type' => 'page', 'post_status' => 'any', 'numberposts' => $num_pages) );
$num_pages = count($pages);
// If we have pages, put together their info.