1

我使用文件中的钩子在后端 WooCommerce 产品列表面板中创建了一个自定义列“成本”functions.php

我想将该列移到“价格”列之后:

我怎样才能做到这一点?

4

2 回答 2

4

有很多方法可以实现这一目标。我选择了最简单的方法来做到这一点。您可以使用下面的代码片段在产品 post_type 后端列表中更改“价格”列之前的“成本”列位置:

// ADDING A CUSTOM COLUMN TITLE TO ADMIN PRODUCTS LIST AFTER "Price" COLUMN
add_filter( 'manage_edit-product_columns', 'custom_product_column',11);
function custom_product_column($columns)
{
    $new_columns = array();
    foreach( $columns as $key => $column ){
        $new_columns[$key] =  $columns[$key];
        if( $key === 'price' )
            $new_columns['cost'] = __( 'Cost','woocommerce');
    }
    return $new_columns;
}

// ADDING THE DATA FOR EACH PRODUCTS BY COLUMN (EXAMPLE)
add_action( 'manage_product_posts_custom_column' , 'custom_product_list_column_content', 10, 2 );
function custom_product_list_column_content( $column, $product_id )
{
    global $post;

    switch ( $column )
    {
        case 'cost' :
            // Get and display the value for each row
            echo get_post_meta( $product_id, '_cost', true );
            break;
    }
}

测试和工作。

于 2016-06-10T17:05:27.453 回答
0

使用add_filter(manage_edit-posttype_columns, yourFunction)where posttype 是您的帖子类型。然后在 yourFunction 中按您想要的顺序列出您的列。我见过的最好的教程在这里

于 2016-06-10T11:58:48.517 回答