php - 在 Woocommerce 的订单元框中添加新 block

标签 php wordpress woocommerce hook-woocommerce orders

我正在尝试在 Woocommerce 的订单元框中添加一个新 block 。我知道可以通过三种方式将自定义数据添加到现有 block 中。

  • woocommerce_admin_order_data_after_order_details
  • woocommerce_admin_order_data_after_billing_address
  • woocommerce_admin_order_data_after_shipping_address

这些 Hook 在 order_data_column block 内执行,而这正是我不想做的。我想使用我的自定义数据添加一个新的自定义 order_data_column

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

最佳答案

您可以使用以下代码将 block 添加到订单元框(例如):

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 文件中。经过测试并有效。

enter image description here

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

关于php - 在 Woocommerce 的订单元框中添加新 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53255411/

相关文章:

php - WordPress 插件开发 : Fatal error: Call to undefined function add_action()

mysql - 如何在 SQL 查询中选择给定时间段内的预订

php - 将 WooCommerce 结帐自定义字段保存为用户元数据

php - mysql - woocommerce 如何获取类别中的产品

php - 无法更新行,只能插入到我的 MySQL 表中。语法错误 "WHERE ID =0"

html - 无法对齐 Internet Explorer 的 ul 元素内的中心图像

php - Laravel Passport oauth/authorize 返回基本授权

php - 在 Woocommerce 商店的产品页面上更改属性/变体的字母排序

php - 如何降级或安装特定版本的 Composer?

javascript - 网站php链接末尾添加 "?"是什么意思?