默认情况下,按升序对计划的帖子进行排序

时间:2022-02-26 作者:Terence Eden

我有一个自我托管的WordPress博客(5.9)。当我去查看排定的帖子时,我希望默认的排序顺序是最快的排定帖子在顶部。

我可以通过手动点击日期列标题或访问/wp-admin/edit.php?post_status=future&post_type=post&orderby=date&order=asc

我在遥远的将来会有很多帖子。但我主要想看看我下周要发表的内容。

是否有一个动作可以添加到我的主题中,或者有一个设置可以改变default 是否仅对计划发布进行排序?

1 个回复
最合适的回答,由SO网友:Sally CJ 整理而成

当我去查看预定的帖子时,我希望默认的排序顺序是最快的预定帖子在顶部。

默认情况下,帖子确实是按帖子日期降序排列的,因此如果您希望顺序改为升序,则没有管理设置,但您可以使用pre_get_posts hook 像这样:

add_action( \'pre_get_posts\', \'my_admin_pre_get_posts\' );
function my_admin_pre_get_posts( $query ) {
    // Do nothing if the post_status parameter in the URL is not "future", or that
    // a specific orderby (e.g. title) is set.
    if ( ! isset( $_GET[\'post_status\'] ) || \'future\' !== $_GET[\'post_status\'] ||
        ! empty( $_GET[\'orderby\'] )
    ) {
        return;
    }

    // Modify the query args if we\'re on the admin Posts page for managing posts
    // in the default "post" type.
    if ( is_admin() && $query->is_main_query() &&
        \'edit-post\' === get_current_screen()->id
    ) {
        $query->set( \'orderby\', \'date\' ); // default: date
        $query->set( \'order\', \'ASC\' );    // default: DESC
    }
}

相关推荐

sort items by randomness

我有一家电子商务商店。我是php和wordpress的新手。(虽然我有python和ruby的背景,但我不懂php)我有一个包含项目的页面。现在,最后20项显示在页面上(或类似的内容)。但我想显示的不是最后一个,而是这个类别中随机排列的项目。这是列出存档中的项目的代码。php文件:<?php echo category_description( get_category_by_slug(\'category-slug\')->term_id ); ?></div> &