根据元数据更改管理员帖子的顺序

时间:2013-11-19 作者:Howdy_McGee

在我的管理面板中,我有一个自定义的帖子类型,用页面属性来定义顺序。有没有“简单”的方法来改变管理面板拉帖子的方式,以便我可以重新排序?

Page Attributes 定义顺序和父级。我的自定义帖子类型不是页面,但它仍然支持页面属性,因为我想以有意义的方式对它们进行排序。

目前,在Wordpress管理面板中,当使用自定义帖子类型和页面属性时,管理面板不会按定义的顺序对帖子进行排序,而是按发布日期(顶部最新)对所有帖子进行排序。我希望使用页面属性在管理面板中按页面属性定义的相同顺序排列自定义帖子类型的帖子。

更详细的说明:

定义于register_post_type()supports => array() Found Here

Shows where to find Page Attributes when inside Edit CPT

预期结果如下所示,其中页面属性为0的帖子位于顶部,而最大的页面属性位于底部:

Shows an example of the expected output with the Order set.

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

admin(edit.php)中的Post列表使用普通WP_Query, 就像前端可以使用pre_get_posts.

add_action(\'pre_get_posts\', \'reorder_my_cpt\');
    
function reorder_my_cpt( $q ) {
  if ( !is_admin() || !$q->is_main_query() ) {
    return;
  }
  $s = get_current_screen();
  // change \'book\' with your real CPT name
  if ( $s->base === \'edit\' && $s->post_type === \'book\' ) {
    $q->set(\'orderby\', \'menu_order\');
    $q->set(\'order\', \'ASC\');
  }
}

结束

相关推荐

迁移后,登录wp-admin“reDirect_to”指向错误的URL

我有一个WordPress网站托管在GoDaddy上,它是一个Windows服务器,(我有web.config 设置)。和.htaccess 配置正确。网站正在进行example.com/wordpress , 因为这是一个开发测试。我将网站移至example.com . 我将网站url和wordpress url更改为example.com 通过PhpMyAdmin对数据库进行访问,并更新permalink结构。我还更新了所有wp\\u post“content”字段以更改URL。尝试通过登录管理面板时