gpt4 book ai didi

wordpress - 覆盖 WooCommerce 中的管理员 View

转载 作者:行者123 更新时间:2023-12-02 21:22:53 24 4
gpt4 key购买 nike

我知道您可以通过定义自己的模板并将其命名为与核心模板相同的名称来覆盖 WooCommerce 核心模板。但我想做的是自定义管理 View 的一些部分,即订单编辑屏幕。

我想要调整的文件是/includes/admin/meta-boxes/views/html-order-item.php 但显然我不想应用核心文件中的更改,因为我的更改会丢失在下一次 WooCommerce 更新中。

有没有一种方法可以创建我自己的 html-order-item.php 文件来运行而不是核心文件?我已经搜索了很长一段时间了,但我无法弄清楚......

谢谢!

最佳答案

您将很难从这些屏幕上删除功能。这需要替换太多代码才能使插件以后可以升级。我想你可以用 css 样式隐藏或改变一些样式的外观。

您可以做的是在各种 do_action 调用中添加您自己的功能。例如,在包含您提到的文件的 html-order-items.php 中,您有以下操作调用:

include( 'html-order-item.php' );

do_action( 'woocommerce_order_item_' . $item['type'] . '_html', $item_id, $item );

您可以在那里 Hook 您自己的字段。

html-order-item.php 中,您还有另外三个钩子(Hook):

<?php do_action( 'woocommerce_before_order_itemmeta', $item_id, $item, $_product ) ?>

<?php do_action( 'woocommerce_after_order_itemmeta', $item_id, $item, $_product ) ?>

<?php do_action( 'woocommerce_admin_order_item_values', $_product, $item, absint( $item_id ) ); ?>

您可能还需要查找保存数据的 Hook 。

编辑:将项目添加到要跳过的元字段列表:

function remove_order_item_meta_fields( $fields ) {
$fields[] = '_subscription_period';
$fields[] = '_subscription_interval';

return $fields;
}
add_filter( 'woocommerce_hidden_order_itemmeta', 'remove_order_item_meta_fields' );

关于wordpress - 覆盖 WooCommerce 中的管理员 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26301214/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com