如何在管理中默认查看当天的所有帖子

时间:2015-03-18 作者:Soumyadeep

我想在WordPress管理帖子列表屏幕中默认显示当前日期的所有帖子(无需单击筛选按钮)。

我在中使用了此代码functions.php 它几乎可以工作。问题是,当我想查看除当前日期以外的其他帖子时,它将只显示今天日期的帖子。我无法使用此代码查看其他帖子。

function add_post_format_filter_to_posts( $query ) {
    global $post_type, $pagenow;
    // if we are currently on the edit screen of the post type listings
    if ( $pagenow == \'edit.php\' && $post_type == \'shop_order\' ) {
        if ( is_admin() ) {
            $query->set( \'date_query\', array( array(
                \'column\' => \'post_date_gmt\',
                \'after\' => \'1 days ago\',
            ) ) );
            return;
        }
    }
}
add_action( \'pre_get_posts\', \'add_post_format_filter_to_posts\' );

1 个回复
SO网友:birgire

您可以尝试对代码段进行以下修改:

function add_post_format_filter_to_posts( $query ) {

    global $post_type, $pagenow;

    // if we are currently on the edit screen of the post type listings
    if (    is_admin() 
         && $pagenow   == \'edit.php\' 
         && $post_type == \'shop_order\'
         && ! filter_input( INPUT_GET, \'filter_action\' ) // <-- We add this check
         && ! filter_input( INPUT_GET, \'post_status\'   ) // <-- and this one
    )
    {
        $query->set( \'date_query\', 
            array( 
                array(
                    \'column\' => \'post_date_gmt\',
                    \'after\'  => \'1 days ago\',
                ) 
            ) 
        );
    }
}
add_action( \'pre_get_posts\', \'add_post_format_filter_to_posts\' );
其中,我们仅在获取参数filter_actionpost_status 未设置。

结束

相关推荐

Wp-admin文件上载请求中缺少post_id

我正在尝试使用编辑器正上方的“添加媒体”按钮上载附件。请求转到wp-admin/async-upload.php 文件我可以放一个var_dump($_REQUEST); 打电话到那里。每当我上传一篇普通帖子的附件时$_REQUEST 包含post\\u id键,附件将该帖子另存为parent_post.但当我对自己创建的自定义帖子类型执行相同操作时post_id 缺少密钥。我不知道为什么。尝试向该上载请求添加XHR断点,但它们都会导致最小化的plupload。满的min.js代码,似乎是从通过它的任何数