2016-06-10 4 views
1

Я создал пользовательский столбец «Стоимость» в панели списка продуктов Backend WooCommerce, используя крючок в файле functions.php.WooCommerce: Перемещение позиции столбца в списке продуктов администратора

Я хочу, чтобы переместить этот столбец после "Цены" колонки:

Как я могу добиться этого?

ответ

1

Существует много способов достичь этого. Я выбрал самый простой способ сделать это. Вы можете использовать фрагмент код ниже, чтобы изменить расположение «Стоимость» колонков до «цены» колонка, в списке бэкэнда продукта 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; 
    } 
} 

протестирован и работает.

+0

Большое спасибо. – user1990

+0

Я думаю, что правильный фильтр 'manage_product_posts_columns' – d79

+0

@ d79 Я обновил и протестировал свой ответ ... Поэтому вместо этого я использую вместо этого' manage_edit-product_columns' hook ... – LoicTheAztec

0

Используйте add_filter(manage_edit-posttype_columns, yourFunction), где posttype - ваш тип сообщения. Затем перечислите свои столбцы в своей функции, который вам нужен. Лучший учебник, который я видел на этом, - here.