• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Добавить новую колонку на странице заказов в личном кабинете

alex-omega

Новичок
В своем woocommerce я сделал Два типа Заказов:
- Просто заказ на Инвойс
- Заказ на регистрацию Проекта (Тоже самое что и Заказ, но добавил дополнительные поля с помощью плагина "Checkout Field Editor for WooCommerce", в которых клиент указывает данные заказчика)

Если первое дополнительное поле заполнено (Название Проекта), тогда Заказ принимает статус "ПРОЕКТ", если не заполнено - Инвойс.
Вот это дополнительное поле в "Checkout Field Editor for WooCommerce":
2.JPG

На просторах инета, нашел как добавить в Админку Wordpres эту колонку в таблицу заказов, и как сделать определение Типа Заказа.
Вот как это выглядит:
1.JPG

Для этого в functions.php прописал такой код:
HTML:
// 1.ДОБАВЛЯЕМ КОЛОНКУ В ТАБЛИЦУ ЗАКАЗОВ АДМИНКИ САЙТА
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'] = __( 'Тип Заказа','theme_slug');
        }
    }
    return $reordered_columns;
}

// 2.ДОБАВЛЯЕМ ЗНАЧЕНИЕ В КОЛОНКУ ПРОЕКТЫ
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, 'name_project_', true );
        if(!empty($my_var_one))
            echo 'ПРОЕКТ';
        // Testing (to be removed) - Empty value case
        if( empty($my_var_one) && empty($my_var_two) )
            echo 'Инвойс';
    }
}

ВСЕ РАБОТАЕТ ОТЛИЧНО.
Теперь появилась задача, добавить такую же колонку в Личный кабинет на странице заказов.
Мозгов не хватает (

Нашел код, как добавить в эту таблицу перечень товаров по Заказу, а вот как вместо Товаров показывать значение Инвойс/ПРОЕКТ (по принципу кода выше) знаний не хватает (
Прошу помощи!

Вот код который добавляет колонку и содержимое по товарам:
HTML:
// Добавить новую колонку по Типу Заказа на странице заказов в личном кабинете
//1. Добавляем колонку после колонки с датой
add_filter( 'woocommerce_account_orders_columns', 'my_column_product');
function my_column_product($columns) {
    $new_columns = array();
    foreach ($columns as $key => $value) {
        $new_columns[$key] = $value;
        if ($key == 'order-date' ) $new_columns['order-products'] = "Тип Заказа";
    }
    return $new_columns;
}
// 2. Заполняем колонку "Тип Заказа"
add_action( 'woocommerce_my_account_my_orders_column_order-products', 'get_column_order_product');
function get_column_order_product($order) {
    foreach( $order->get_items() as $item_id => $item ) {
        $product = $order->get_product_from_item( $item );
        $product_permalink = $product->get_permalink( $item );
        echo sprintf( '<a href="%s">%s</a>', $product_permalink, $item['name'] );
        echo ' <strong class="product-quantity">' . sprintf( '&times; %s', $item['qty'] ) . '</strong>';
    }
}

В личном кабинете сейчас это выглядит так:
3.JPG
А надо - вместо перечня товаров чтобы ВЫВОДИЛОСЬ Значение Инвойс или ПРОЕКТ как в Админке.
 
Сверху Снизу