gpt4 book ai didi

php - 删除子主题中的父主题 Action

转载 作者:行者123 更新时间:2023-12-01 11:21:41 25 4
gpt4 key购买 nike

我从 Shophistic Lite 创建了 Child 主题主题。

我想删除子主题中的一个 Action 。

//wp-content\plugins\woocommerce\templates\content-product.php
...

/**
* woocommerce_shop_loop_item_title hook.
*
* @hooked woocommerce_template_loop_product_title - 10
*/
do_action( 'woocommerce_shop_loop_item_title' );

/**
* woocommerce_after_shop_loop_item_title hook.
*
* @hooked woocommerce_template_loop_rating - 5
* @hooked woocommerce_template_loop_price - 10
*/
do_action( 'woocommerce_after_shop_loop_item_title' );

/**
* woocommerce_after_shop_loop_item hook.
*
* @hooked woocommerce_template_loop_product_link_close - 5
* @hooked woocommerce_template_loop_add_to_cart - 10
*/
do_action( 'woocommerce_after_shop_loop_item' );

...

//\wp-content\themes\shophistic-lite\framework\functions\woocommerce_support.php
...
/**
* Adds the Switch View buttons
*/
function shophistic_lite_show_attribute() {
...
}
add_action( 'woocommerce_after_shop_loop_item_title', 'shophistic_lite_show_attribute', 15 );
...

//\wp-content\themes\shophistic-lite-child\functions.php
...
function remove_functions() {
remove_action( 'woocommerce_after_shop_loop_item_title', 'shophistic_lite_show_attribute', 15 );
}
add_action('woocommerce_after_shop_loop_item' , 'remove_functions' );
...

我通过这篇文章做到了: https://code.tutsplus.com/tutorials/a-guide-to-overriding-parent-theme-functions-in-your-child-theme--cms-22623
但这对我不起作用。 shophistic_lite_show_attribute功能仍在执行中。

请帮我解决这个问题。

最佳答案

你应该试试 'init' 钩子(Hook)代替您的删除操作,在初始化时将其删除:

function child_custom_actions() {
remove_action( 'woocommerce_after_shop_loop_item_title', 'shophistic_lite_show_attribute', 15 );
}
add_action( 'init' , 'child_custom_actions' );

此代码位于您的事件子主题(或主题)的 function.php 文件中或任何插件文件中。

此代码经过测试并且可以工作 (见下文)。

Update related to your comment:



我已经上传了你的主题 Shophistic Lite 在测试服务器中,创建了一个子主题。

我临时改了函数 关于主题 woocommerce_support.php 文件,使其显示某些内容,无需任何特殊设置(并以这种方式保存):
/**
* Adds the Switch View buttons
*/
function shophistic_lite_show_attribute() {
echo '<p>BLA BLA</p>';
}
add_action( 'woocommerce_after_shop_loop_item_title', 'shophistic_lite_show_attribute', 15 );

它在商店页面上显示:

enter image description here

然后我在 上添加了上面第一个片段的代码。 function.php 子主题的文件(与您使用 'init' Hook 尝试的相同), 它工作得很好 ,删除那个“BLA BLA”。

因此,您可能正在尝试删除此钩子(Hook)未生成的其他内容……

关于php - 删除子主题中的父主题 Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41794175/

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