在woocommerce 3.3上添加管理顺序列表中的列

问题描述 投票:0回答:1

相关:Add columns to admin orders list in WooCommerce backend

是否可以在管理订单列表中仅添加一个新列。对于本专栏my-column1的内容,我想有2个自定义字段,如:

$my_var_one = get_post_meta( $post_id, '_the_meta_key1', true );

$my_var_two = get_post_meta( $post_id, '_the_meta_key2', true );

要完成是否可以在order_number之后定位这个新专栏?

任何帮助表示赞赏。

php wordpress woocommerce backend orders
1个回答
1
投票

更新 - 可以这样做:

// ADDING 1 NEW COLUMNS WITH THEIR TITLES
add_filter( 'manage_edit-shop_order_columns', 'custom_shop_order_column',11);
function custom_shop_order_column($columns)
{
    $reordered_columns = array();

    foreach( $columns as $key => $column){
        $reordered_columns[$key] = $column;
        if( $key ==  'order_number' ){
            $reordered_columns['my-column1'] = __( 'Title1','theme_slug');
        }
    }
    return $reordered_columns;
}

// Adding the data for the additional column (example)
add_action( 'manage_shop_order_posts_custom_column' , 'custom_orders_list_column_content', 10, 2 );
function custom_orders_list_column_content( $column, $post_id )
{
    if( 'my-column1' == $column )
    {
        // Get custom post meta data 1
        $my_var_one = get_post_meta( $post_id, '_the_meta_key1', true );
        if(!empty($my_var_one))
            echo $my_var_one;

        // Get custom post meta data 2
        $my_var_two = get_post_meta( $post_id, '_the_meta_key2', true );
        if(!empty($my_var_two))
            echo $my_var_two;

        // Testing (to be removed) - Empty value case
        if( empty($my_var_one) && empty($my_var_two) )
            echo '<small>(<em>no value</em>)</small>';
    }
}

另一个功能保持不变......

代码位于活动子主题(或活动主题)的function.php文件中。经过测试和工作。

© www.soinside.com 2019 - 2024. All rights reserved.