【问题标题】:How to disable or remove stock notes from showing in WooCommerce Order edit screen如何在 WooCommerce 订单编辑屏幕中禁用或删除库存票据
【发布时间】:2022-01-18 10:58:08
【问题描述】:

我在我的 WooCommerce 商店上启用了库存管理,因为这对我们销售我们仓库中库存的实物商品和产品至关重要。关于库存管理的一切都可以按照我们的需要进行,但是因为我们启用了它,所以我们会在 WooCommerce 的“编辑订单”屏幕上显示额外的订单备注。这导致额外的数据被保存到我们的数据库中,并且还基于 QuickBooks 作为订单注释,我们只是不需要在那里。

我在核心 WooCommerce 中找到了添加此订单注释的功能,我只是不确定如何在不修改核心文件的情况下将其删除。我正在寻找某种方法来禁用或删除它,其中包含可以放置在我的站点实用程序插件中的挂钩、过滤器或类扩展。 Screenshot showing sidebar of Edit Order screen with numerous "stock reduced" messages displayed

代码在 abstract-wc-order.php 文件 (/woocommerce/abstracts/abstract-wc-order.php) 中,从第 2460 行开始:

if ( isset( $item['variation_id'] ) && $item['variation_id'] ) {
                        $this->add_order_note( sprintf( __( 'Item #%s variation #%s stock reduced from %s to %s.', 'woocommerce' ), $item['product_id'], $item['variation_id'], $new_stock + $qty, $new_stock) );
                    } else {
                        $this->add_order_note( sprintf( __( 'Item #%s stock reduced from %s to %s.', 'woocommerce' ), $item['product_id'], $new_stock + $qty, $new_stock) );
                    }

【问题讨论】:

    标签: php wordpress woocommerce


    【解决方案1】:

    您可以通过wp_insert_comment 操作挂钩获取评论 ID 和内容并将其删除,这可能会阻止它被发送到 Quickbooks。使用"stock reduced from" 的简单strpos 匹配,我们可以检查评论是否是为了减少库存。

    add_action('wp_insert_comment', 'remove_stock_comment', 10, 2);
    
    function remove_stock_comment($id, $comment) {
        if( strpos($comment->comment_content, 'stock reduced from') !== false ) {
            wp_delete_comment( $id );
        }
    }
    

    要进一步检查评论是否属于某个订单,可以获取评论的POST ID并查看其post_type

    注意:我不确定这个解决方案是否会破坏任何其他功能,但这是我能想到的唯一解决方案。

    【讨论】:

    • 一切正常,非常感谢 Pranav 的帮助!
    猜你喜欢
    • 2019-06-18
    • 1970-01-01
    • 1970-01-01
    • 2018-08-25
    • 1970-01-01
    • 1970-01-01
    • 2013-07-08
    • 2021-08-06
    相关资源
    最近更新 更多