在 Woocommerce 的订单元框中添加一个新块

Add a new block inside Orders meta box in Woocommerce

我正在尝试在 Woocommerce 的订单元框中添加一个新块。我知道有三种可能的钩子可以将自定义数据添加到现有块中。

这些挂钩在 order_data_column 块内执行,这是我不想做的。我想用我的自定义数据添加一个新的自定义 order_data_column

我尝试创建一个新的 class 来扩展 WC_Meta_Box_Order_Data 并覆盖 output 方法,但它不起作用...

您可以使用以下代码(例如)向 orders metabox 添加一个块:

add_action( 'woocommerce_admin_order_data_after_shipping_address', 'additional_admin_order_data_block_after_shipping_address', 100 );
function additional_admin_order_data_block_after_shipping_address(){

    echo '</div><div class="order_data_column">
    <h3>' . esc_html__( 'Block title', 'woocommerce' ) . '</h3>';

    // here goes your code and content

    // Fake content output just for testing
    echo '<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante.</p>';
}

代码进入您的活动子主题(活动主题)的 function.php 文件。已测试并有效。

But you will need to change some styling CSS rules (which is another question).