【问题标题】:Adding variable product attribute column in WooCommerce edit order page在 WooCommerce 编辑订单页面中添加可变产品属性列
【发布时间】:2021-09-16 10:42:54
【问题描述】:

根据Adding product attribute column to edit order page in Woocommerce的回答码我写了这个函数:

add_action( 'woocommerce_admin_order_item_headers', 'custom_admin_order_items_headers', 20, 1 );
function custom_admin_order_items_headers( $order ){

    echo '<th>';
    echo __('Marchio', 'woocommerce') . '</th>';
}

add_action('woocommerce_admin_order_item_values', 'my_woocommerce_admin_order_item_values', 10, 3);
function my_woocommerce_admin_order_item_values($_product, $item, $item_id = null) {

    $marchio = get_the_terms( $_product->post->ID, 'pa_marchio');
    echo '<td>' . $marchio[0]->name . '</td>';
}

它适用于简单的产品,但不适用于可变产品,如何解决?


【问题讨论】:

    标签: php wordpress woocommerce attributes orders


    【解决方案1】:

    获取产品 ID 使用

    $item->get_product_id()
    

    你的函数应该是这样的

    add_action('woocommerce_admin_order_item_values', 'my_woocommerce_admin_order_item_values', 10, 3);
    function my_woocommerce_admin_order_item_values($_product, $item, $item_id = null) {
    
        $marchio = get_the_terms( $item->get_product_id(), 'pa_marchio');
        echo '<td>' . $marchio[0]->name . '</td>';
    
    }
    

    查看这篇文章了解更多如何访问订单Accessing Order Items protected data in Woocommerce 3

    【讨论】:

    • 工作,但现在订单管理面板中出现错误,我无法编辑订单或其他想法:未捕获错误:调用 /home2/qerbellt/ 中未定义的方法 WC_Order_Item_Shipping::get_product_id() public_html/wp-content/themes/woodmart-child/functions.php:39
    • 堆栈跟踪:#0 /home2/qerbellt/public_html/wp-includes/class-wp-hook.php(303):my_woocommerce_admin_order_item_values(NULL, Object(WC_Order_Item_Shipping), 6) #1 /home2 /qerbellt/public_html/wp-includes/class-wp-hook.php(327): WP_Hook->apply_filters('', Array) #2 /home2/qerbellt/public_html/wp-includes/plugin.php(470): WP_Hook->do_action(Array)
    • #3 /home2/qerbellt/public_html/wp-content/plugins/woocommerce/includes/admin/meta-boxes/views/html-order-shipping.php(58): do_action('woocommerce_adm ...', NULL, Object(WC_Order_Item_Shipping), 6) #4 /home2/qerbellt/public_html/wp-content/plugins/woocommerce/includes/admin/meta-boxes/views/html-order-items.php(81 ): include('/home2/qerbellt...') #5 /home2/qerbellt/public_html/wp-content/plugins/woocommerce/includes/admin/meta-boxes/class-wc-meta-box-order-items .php(41): include('/home2/qerbellt...') #6 /home2/q
    猜你喜欢
    • 2018-07-18
    • 2014-11-14
    • 2023-03-24
    • 1970-01-01
    • 2021-08-06
    • 2018-09-05
    • 1970-01-01
    • 2022-08-17
    • 1970-01-01
    相关资源
    最近更新 更多