WordPress - 非自定义Metabox自定义列可排序

时间:2013-07-16 23:30:32

标签: wordpress admin jquery-ui-sortable

我已经编辑了默认管理员“用户”列,从我创建的自定义帖子类型中有两个自定义列,“交易数量”和“最新交易”。我不希望将这些列填充为自定义元框字段的数据,因为这似乎为用户创建了不必要的选项,我不希望用户能够编辑这些字段。

添加列后,我使用自定义查询填充它们,例如:

function test_modify_user_table_row( $val, $column_name, $user_id ) {
    global $wpdb;
    $user = get_userdata( $user_id );
    $userID =  $user->id;

    $query_for_number_of_transactions = $wpdb->get_results(
            "
                SELECT COUNT(post_author) AS number_of_transactions FROM wp_posts WHERE post_type='club_orders' AND post_author=$userID;
            "
    );

    $query_for_latest_transaction = $wpdb->get_results(
            "
                SELECT DATE_FORMAT((MAX(post_date)), '%M %e %Y') AS latest_transaction FROM wp_posts WHERE post_type='club_orders' AND post_author=$userID;
            "
    );

    // Display the query data into custom columns

    $er_qm_number_query_result = $query_for_number_of_transactions[0];
    $er_qm_transaction_query_result = $query_for_latest_transaction [0];

    switch($column_name){
        case 'latest_transaction':
            return $er_qm_transaction_query_result->latest_transaction;
            break;
        case 'number_of_transactions':
            return $er_qm_number_query_result->number_of_transactions;
            break;
        default:
    }
    return "Error";

    }

    add_filter( 'manage_users_custom_column', 'test_modify_user_table_row', 10, 3 );

以上代码可以工作并显示我想在这些列中显示的数据。但是,我遇到的问题是当我尝试使任一列可排序时。我发现Google搜索中的大量材料与自定义元框字段填充的自定义列有关,但没有关于如何使自定义查询填充列可排序。

这是否可能,或者我是否必须创建自定义元框并以某种方式将它们设为只读以便对这些数据进行排序?

0 个答案:

没有答案