0

我决定使用名为 Galleria 的 Woocommerce Storefront 子主题,当我之前使用店面主题时,我使用了常见的 remove_action 来取消默认设置并替换为我自己的 add_action。

然而,由于 Galleria 是 Storefront 的子主题,它在文件 class-galleria-structure.php 中有自己的 add_action,尽管 add_action 的结构似乎不同。

店面中的典型 add_action 如下所示...

add_action( 'storefront_header', 'storefront_site_branding', 20 );

我通常会使用以下内容在我的functions.php文件中解开它,就像这样......

remove_action( 'storefront_header', 'storefront_site_branding', 20 );

在 Galleria 子主题中,add_actions 看起来像这样......

add_action( 'storefront_header', array( 'Galleria_Structure', 'galleria_top_bar_wrapper' ), 1 );
add_action( 'storefront_header', array( 'Galleria_Structure', 'galleria_top_bar_wrapper_close' ), 6 );

所以我假设通过执行以下操作,它会简单地解开它们......

remove_action( 'storefront_header', array( 'Galleria_Structure', 'galleria_top_bar_wrapper' ), 1 );
remove_action( 'storefront_header', array( 'Galleria_Structure', 'galleria_top_bar_wrapper_close' ), 6 );

在我的 functions.php 文件中尝试过这个后,我发现它没有效果。

有人可以指出我正确的方向吗,因为我不知道为什么这不起作用。

谢谢大家

4

1 回答 1

0

确保在 add_action 之后调用 remove_action。还要检查函数是否返回真或假。

通常 add_action 与 init 或 after_setup_theme 挂钩,因此只需尝试稍后执行的挂钩。

这是所有带有运行序列的钩子的列表 http://rachievee.com/the-wordpress-hooks-firing-sequence/

于 2016-05-02T12:01:42.987 回答