WooCommerce:在管理产品列表中移动列位置

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

我使用functions.php文件中的钩子在Backend WooCommerce Products列表面板中创建了一个自定义列“Cost”。

我想在“价格”栏后移动该栏目:

我怎样才能做到这一点?

php wordpress woocommerce product price
2个回答
3
投票

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

// 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;
    }
}

经过测试和工作。


0
投票

使用add_filter(manage_edit-posttype_columns, yourFunction),其中posttype是您的帖子类型。然后在您的函数中列出您想要的顺序列。我在这上面看到的最好的教程是here

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