Switch language

wpseek.com
A WordPress-centric search engine for devs and theme authors




wp_edit_posts_query [ WordPress Function ]

wp_edit_posts_query ( $q = false )
Parameters:
  • (array|bool) $q Array of query variables to use to build the query or false to use $_GET superglobal.
Returns:
  • (array)
Defined at:



Run the wp query to fetch the posts for listing on the edit posts page

Source


<?php
function wp_edit_posts_query$q false ) {
    if ( 
false === $q )
        
$q $_GET;
    
$q['m'] = isset($q['m']) ? (int) $q['m'] : 0;
    
$q['cat'] = isset($q['cat']) ? (int) $q['cat'] : 0;
    
$post_stati  get_post_stati();

    if ( isset(
$q['post_type']) && in_array$q['post_type'], get_post_types() ) )
        
$post_type $q['post_type'];
    else
        
$post_type 'post';

    
$avail_post_stati get_available_post_statuses($post_type);

    if ( isset(
$q['post_status']) && in_array$q['post_status'], $post_stati ) ) {
        
$post_status $q['post_status'];
        
$perm 'readable';
    }

    if ( isset(
$q['orderby']) )
        
$orderby $q['orderby'];
    elseif ( isset(
$q['post_status']) && in_array($q['post_status'], array('pending''draft')) )
        
$orderby 'modified';

    if ( isset(
$q['order']) )
        
$order $q['order'];
    elseif ( isset(
$q['post_status']) && 'pending' == $q['post_status'] )
        
$order 'ASC';

    
$per_page 'edit_' $post_type '_per_page';
    
$posts_per_page = (int) get_user_option$per_page );
    if ( empty( 
$posts_per_page ) || $posts_per_page )
        
$posts_per_page 20;

    
$posts_per_page apply_filters$per_page$posts_per_page );
    
$posts_per_page apply_filters'edit_posts_per_page'$posts_per_page$post_type );

    
$query compact('post_type''post_status''perm''order''orderby''posts_per_page');

    
// Hierarchical types require special args.
    
if ( is_post_type_hierarchical$post_type ) && !isset($orderby) ) {
        
$query['orderby'] = 'menu_order title';
        
$query['order'] = 'asc';
        
$query['posts_per_page'] = -1;
        
$query['posts_per_archive_page'] = -1;
    }

    if ( ! empty( 
$q['show_sticky'] ) )
        
$query['post__in'] = (array) get_option'sticky_posts' );

    
wp$query );

    return 
$avail_post_stati;
}
?>

Examples [ wp-snippets.com ]

Google Arama Sonuçlarý

Dahasý ...

Kullanýcý Tartýþmalarý [ wordpress.org ]

- Bulunamadý -

Yeni bir konu yaz ...

0 User Note(s)

Henüz yok. Ýlk sen ol!

Yeni Ekle ...



HTML5 Powered with CSS3 / Styling, Performance & Integration, and Semantics