【问题标题】:Add order_id beneath custom Woocommerce Order Number on Edit Order page在编辑订单页面上的自定义 Woocommerce 订单号下方添加 order_id
【发布时间】:2019-06-19 13:18:46
【问题描述】:

我们使用 Booster 插件创建唯一的 WooCommerce 订单号,例如 WC-456544646。我现在需要添加仍然在后台和 WooCommerce API 中工作的原始 order_id。

Booster 提供原始订单 ID [wcj_order_id] 的简码

这是编辑订单页面上自定义 Woo 订单号的 HTML。

<h2 class="woocommerce-order-data__heading">
Order #WC-63872414 details</h2>

如何在“编辑订单”页面上插入简码?

(Woocommerce/Orders/[选择订单/订单详情] 例如/post.php?post=638&amp;action=edit

【问题讨论】:

    标签: php wordpress woocommerce hook-woocommerce woocommerce-rest-api


    【解决方案1】:

    我查看了 Booster 插件代码。它使用woocommerce_order_number过滤钩子替换WC编辑订单页面和订单中的订单ID。在/woocommerce-jetpack/includes/class-wcj-order-numbers.php

    add_filter( 'woocommerce_order_number', array( $this, 'display_order_number' ), PHP_INT_MAX, 2 );

    由于它没有在任何动作挂钩中传递WCJ_Order_NumbersWC_Jetpack 类的$instance,为了删除此文本并使用自定义文本,我们不能使用remove_filter 函数。因此,要覆盖 Booster 插件,我们必须将另一个函数挂钩到 woocommerce_order_number

    将 WC order_id 添加到管理订单页面:

    add_action( 'admin_init', 'append_wc_order_id');
    function append_wc_order_id()
    {
        add_filter('woocommerce_order_number', 'filter_wc_order_id', PHP_INT_MAX);
        function filter_wc_order_id($order_id)
        {
            /* If you are using 'init' action hook, uncomment bellow line to apply this code only to your admin pages: */
            //if (!is_admin()) return $order_id;
            return $order_id . ' | #' . do_shortcode('[wcj_order_id]');
        }
    }
    

    此代码将转到您主题的 functions.php 文件。
    经过测试和文字王

    注意事项:
    1. Booster 代码中的过滤器挂钩,使用PHP_INT_MAX 优先级,所以为了覆盖它,我们不能使用更大的整数优先级。因此,在其他插件完成工作后,我使用admin_init 操作将我的函数挂钩到woocommerce_order_number。它可能会按您的预期运行,而不使用 init 挂钩,但不能保证。您也可以使用init 钩子而不是admin_init 在您网站的前端添加WC order_id(例如“我的帐户”页面)。阅读代码中的 cmets。
    2. 要删除管理页面上由Booster插件生成的订单ID,您可以更改此行:

    return $order_id . ' | #' . do_shortcode('[wcj_order_id]');
    

    到:

    return do_shortcode('[wcj_order_id]');
    

    【讨论】:

      猜你喜欢
      • 2018-07-17
      • 1970-01-01
      • 1970-01-01
      • 2016-09-24
      • 1970-01-01
      • 1970-01-01
      • 2021-06-01
      • 2016-10-12
      相关资源
      最近更新 更多