Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql WooCommerce:订单详细信息页面:插入新自定义列中的值';订购数量';在表'中;wc#U订单#U产品#U查找#x27; 1.问题是:_Mysql_Woocommerce_Orders_Product Quantity_Customcolumn - Fatal编程技术网

Mysql WooCommerce:订单详细信息页面:插入新自定义列中的值';订购数量';在表'中;wc#U订单#U产品#U查找#x27; 1.问题是:

Mysql WooCommerce:订单详细信息页面:插入新自定义列中的值';订购数量';在表'中;wc#U订单#U产品#U查找#x27; 1.问题是:,mysql,woocommerce,orders,product-quantity,customcolumn,Mysql,Woocommerce,Orders,Product Quantity,Customcolumn,我想销售经过称重的易腐物品(因此,重量永远不会与客户实际订购的物品完全匹配),有时如果某一特定产品不再可用,则会发货类似的产品。 e、 g: 第284行: $item->delete(); // $item->delete(); 我还希望在表{prefix}wc\u order\u product\u lookup(我已经创建了)中的新自定义列product\u quantity\u ordered(如果不是“良好实践”-我应该在哪里和如何添加此列?)从列product\u qu

我想销售经过称重的易腐物品(因此,重量永远不会与客户实际订购的物品完全匹配),有时如果某一特定产品不再可用,则会发货类似的产品。
e、 g:

第284行:

$item->delete();
// $item->delete();
  • 我还希望在表
    {prefix}wc\u order\u product\u lookup
    (我已经创建了)中的新自定义列
    product\u quantity\u ordered
    (如果不是“良好实践”-我应该在哪里和如何添加此列?)从列
    product\u quantity
    (在同一表
    {prefix}中)获取值wc_订单_产品_查找
    )客户下订单的那一刻
部分临时解决方案:
phpMyAdmin中的SQL查询:
UPDATE
L16\u wc\u order\u product\u lookup
设置
产品订购数量
=
产品订购数量
其中
创建日期
介于“2020-06-24”和“2020/07/14”之间

  • 另一个好处是在管理编辑订单页面和发票中相邻显示两个数量列(首先是订购数量,然后是发货数量)
2.我所尝试的:
  • 我在表格
    {prefix}wc\u order\u product\u lookup
    中添加了新的自定义列
    产品订购数量
    (同样,如果这不是“最佳实践”…我应该在哪里添加此新列?
    如图所示:
  • 我使用了中的代码片段(它显示新列,并用
    product\u qty
    中的值填充它)。但是,只要我在“编辑订单”页面中编辑产品数量,WooCommerce就会更新两个数量列。
    如图所示:
  • 3.我的代码: 目前仅此片段(来自):

    add_action('woocommerce_admin_order_item_headers', 'my_woocommerce_admin_order_item_headers');
    function my_woocommerce_admin_order_item_headers() {
        // set the column name
        $column_name = 'Qty ordered';
        echo '<th>' . $column_name . '</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) {
        $value = $item->get_quantity( 'edit' ); // this line of code stems from Line28 of \woocommerce\packages\woocommerce-admin\src\Overrides\OrderTraits.php 
    echo '<td>' . $value . '</td>';
    }
    
    add_action('woocommerce_admin_order_item_headers'、'my_woocommerce_admin_order_item_headers');
    函数my_woocommerce_admin_order_item_Header(){
    //设置列名
    $column_name=‘订购数量’;
    回显“.$column_name.”;
    }
    添加操作('WOOMerce\u admin\u order\u item\u values'、'我的WOOMerce\u admin\u order\u item\u values',10,3);
    函数my\u woocommerce\u admin\u order\u item\u值($\u product,$item,$item\u id=null){
    $value=$item->get_quantity('edit');//这行代码源于\woocommerce\packages\woocommerce admin\src\Overrides\OrderTraits.php的第28行
    回显“.$value.”;
    }
    
    我刚刚找到了一种防止WooCommerce删除零数量订单项目的方法:\WooCommerce\includes\admin\wc-admin-functions.php Line284:
    $item->delete();→ 替换为://$item->delete()我刚刚找到了SQL查询的正确语法:更新
    L16_wc_order_product_lookup
    SET
    product_quantity_ordered
    =
    product_quantity
    其中
    date_created
    介于'2020-06-24'和'2020/07/14'之间;我刚刚找到了一种防止WooCommerce删除零数量订单项目的方法:\WooCommerce\includes\admin\wc-admin-functions.php Line284:
    $item->delete();→ 替换为://$item->delete()我刚刚找到了SQL查询的正确语法:更新
    L16_wc_order_product_lookup
    SET
    product_quantity_ordered
    =
    product_quantity
    其中
    date_created
    介于'2020-06-24'和'2020/07/14'之间;
    \woocommerce\includes\admin\wc-admin-functions.php  
    
    $item->delete();
    // $item->delete();
    
    add_action('woocommerce_admin_order_item_headers', 'my_woocommerce_admin_order_item_headers');
    function my_woocommerce_admin_order_item_headers() {
        // set the column name
        $column_name = 'Qty ordered';
        echo '<th>' . $column_name . '</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) {
        $value = $item->get_quantity( 'edit' ); // this line of code stems from Line28 of \woocommerce\packages\woocommerce-admin\src\Overrides\OrderTraits.php 
    echo '<td>' . $value . '</td>';
    }