将orderby url参数添加到主CPT管理菜单链接

时间:2018-12-05 作者:Dale Davies

是否可以更改CPT的主管理菜单链接(指向edit.php的链接)以包含URL参数?

我不想让posts列表默认按“title”排序,但我不喜欢更新主查询以强制按“default”顺序排序,而不会设置列标题来反映它。

如果单击“Title”列标题,它会添加“orderby”url参数,因此我想知道是否有一个挂钩/过滤器允许我将其附加到菜单链接。

我看不出在注册新的帖子类型时如何做到这一点,我不希望在页面加载后使用javascript添加它。

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

您可以设置$_GET 直接在您的pre_get_posts 使UI拾取该更改的操作:

function wpd_test_pre_get( $query ) {
    // put whatever conditions to target your cpt here
    if( is_admin() && $query->is_main_query() ){
        // modify query
        $query->set(\'orderby\', \'title\');
        $query->set(\'order\', \'asc\');
        // set $_GET vars
        $_GET[\'orderby\'] = \'title\';
        $_GET[\'order\'] = \'asc\';
    }
}
add_action( \'pre_get_posts\', \'wpd_test_pre_get\' );