Woocommerce CSV导出未显示值

时间:2015-12-30 16:55:38

标签: php wordpress function csv woocommerce

我注意到我的一个职能的奇怪行为。看看吧。使用第一个函数我在后端显示一些自定义字段数据:

add_filter( 'manage_edit-shop_order_columns', 'MY_COLUMNS_FUNCTION', 10 );
function MY_COLUMNS_FUNCTION( $columns ) {
    $new_columns = ( is_array( $columns ) ) ? $columns : array();
    unset( $new_columns['order_actions'] );
    //edit this for you column(s)
    //all of your columns will be added before the actions column
    $new_columns['product_name'] = 'Product';
    $new_columns['authors_income'] = 'Author';

    $new_columns['order_actions'] = $columns['order_actions'];

    return $new_columns;
}

add_action( 'manage_shop_order_posts_custom_column', 'MY_COLUMNS_VALUES_FUNCTION', 2 );
function MY_COLUMNS_VALUES_FUNCTION( $column ) {
    global $post;
    $order = new WC_Order( $post->ID );
    $items = $order->get_items();

    //start editing, I was saving my fields for the orders as custom post meta
    //if you did the same, follow this code
    if ( $column == 'authors_income' ) {
        foreach ( $items as $item ) {

            echo $item['PLN-dla-autora'];
            echo ' zł';

        }
    }

    if ( $column == 'product_name' ) {
        foreach ( $items as $item ) {

            echo $item['name'];

        }
    }

}

add_filter( "manage_edit-shop_order_sortable_columns", 'MY_COLUMNS_SORT_FUNCTION' );
function MY_COLUMNS_SORT_FUNCTION( $columns ) {
    $custom = array(
        //start editing

        'authors_income'    => 'PLN-dla-autora',
        'product_name'    => 'name'

        //stop editing
    );
    return wp_parse_args( $custom, $columns );

一切都像魅力一样在那里工作。然后我有第二个功能,它以某种方式做同样的事情,但它会将数据打印到CSV文件中。不幸的是,这段代码不起作用(它只显示列标题,不包含数据)。我没有看到这些功能之间有任何重大差异,为什么会这样?

function wc_csv_export_modify_column_headers( $column_headers ) { 

    $new_headers = array(
        'author_income' => 'PLN dla autora',

        // add other column headers here in the format column_key => Column Name
    );

    return array_merge( $column_headers, $new_headers );
}
add_filter( 'wc_customer_order_csv_export_order_headers', 'wc_csv_export_modify_column_headers' );
// set the data for each for custom columns
function wc_csv_export_modify_row_data( $order_data, $order ) {

    $custom_data = array(
        'author_income' => get_post_meta( $order->id, 'PLN dla autora', true ),

        // add other row data here in the format column_key => data
    );

    return array_merge( $order_data, $custom_data );

}
add_filter( 'wc_customer_order_csv_export_order_row', 'wc_csv_export_modify_row_data', 10, 2 );

0 个答案:

没有答案