WordPress:默认按自定义帖子类型列排序

标签 wordpress sorting

我有一个名为“联系人”的自定义帖子类型,其中包含名字、姓氏、电话号码等自定义字段。

在管理部分,我认为它们是按时间顺序排序的,但我需要默认情况下按姓氏排序。

我已阅读此处的所有其他解决方案,但没有一个有效,包括:

function set_post_order_in_admin( $wp_query ) {
global $pagenow;
  if ( is_admin() && 'edit.php' == $pagenow && !isset($_GET['orderby'])) {
    $wp_query->set( 'orderby', 'surname' );
    $wp_query->set( 'order', 'ASC' );
  }
}
add_filter('pre_get_posts', 'set_post_order_in_admin' );

但是无论我尝试按哪个字段进行排序,都没有任何变化,除了切换 ASC/DESC 似乎会更改为反向时间顺序。

我做错了什么?

最佳答案

引用以下解决方案,

function wpa84258_admin_posts_sort_last_name( $query ){
    global $pagenow;
    if( is_admin()
        && 'edit.php' == $pagenow
        && !isset( $_GET['orderby'] )
        && !isset( $_GET['post_type'] ) ){
            $query->set( 'meta_key', 'last_name' );
            $query->set( 'orderby', 'meta_value' );
            $query->set( 'order', 'ASC' );
    }
}
add_action( 'pre_get_posts', 'wpa84258_admin_posts_sort_last_name' );

或引用此solution

关于WordPress:默认按自定义帖子类型列排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38721401/

相关文章:

javascript - 随机化五种颜色并将它们分配给九个元素的背景。确保使用所有五种颜色

php - 我的堆排序需要帮助

ruby - 为什么我的插入排序比合并排序快?

python - 使用 python,除一个元素外,按字母顺序对 XML 进行排序

javascript - 如何更改 wp-admin wordpress 项目页面中的标签?

php - 在 PHP 循环中插入静态 block

c++ - 在 VS14 中排序不能正常工作,而在 VS10 中可以吗?

php - Flexslider smoothHeight 不起作用

wordpress - WooCommerce 法典 : How to create an order from an existing cart (wc_create_order)

jquery - 将评论文本区域替换为 contenteditable 并解析内容