首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >重写WooCommerce中的管理视图

重写WooCommerce中的管理视图
EN

Stack Overflow用户
提问于 2014-10-10 13:59:04
回答 1查看 8.1K关注 0票数 2

我知道您可以通过定义自己的WooCommerce核心模板并将它们命名为核心模板来覆盖它们。但是我想做的是定制一些管理视图,即Order屏幕。

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

我是否可以创建自己的html-order-item.php文件,而不是核心文件呢?我已经找了很久了,但我想不出来.

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-10 15:29:48

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

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

代码语言:javascript
运行
复制
include( 'html-order-item.php' );

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

你可以在那里搭上你自己的田地。

html-order-item.php中,还有三个钩子:

代码语言:javascript
运行
复制
<?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 ) ); ?>

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

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

代码语言:javascript
运行
复制
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' );
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26301214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档