我正在使用Wordpress,WooCommerce主题店面的儿童主题。
Storefront标头钩子函数以这种方式排序:
<?php
/**
* Functions hooked into storefront_header action
*
* @hooked storefront_skip_links - 0
* @hooked storefront_social_icons - 10
* @hooked storefront_site_branding - 20
* @hooked storefront_secondary_navigation - 30
* @hooked storefront_product_search - 40
* @hooked storefront_primary_navigation_wrapper - 42
* @hooked storefront_primary_navigation - 50
* @hooked storefront_header_cart - 60
* @hooked storefront_primary_navigation_wrapper_close - 68
*/
do_action( 'storefront_header' ); ?>
我想改变顺序,以便product_search
来到secondary_navigation
之前。
我已经浏览了店面文件,无法找到此订单的设置位置,只能找到单独的项目。
任何人都可以帮我勾选或做一些改变订单所需的东西吗?
来自@loictheaztec的建议缺少add_action,如下所示 -
add_action( 'init' , 'add_and_remove' , 15 );
function mh_add_and_remove() {
remove_action( 'storefront_header', 'storefront_product_search', 40 );
add_action( 'storefront_header', 'storefront_product_search', 25 );
}
为此,您需要先使用remove_action()
函数将其删除,然后再使用add_action()
函数将其挂钩,将优先级从40更改为25。
优先级25位于:
@hooked storefront_site_branding
- 优先级20和@hooked storefront_secondary_navigation
- 优先级30
将此代码段粘贴到活动主题文件夹的function.php中(或者更好地在活动子主题文件夹中):
remove_action( 'storefront_header', 'storefront_product_search', 40 );
add_action( 'storefront_header', 'storefront_product_search', 25 );
不确定Loic是否得到了解决重复问题的答案,但是对于所有可能需要答案的人来说,它需要包含在Scott Eldo最初建议的函数中。
所以...
add_action( 'init' , 'add_and_remove' , 15 );
function mh_add_and_remove() {
remove_action( 'storefront_header', 'storefront_product_search', 40 );
add_action( 'storefront_header', 'storefront_product_search', 25 );
}
而不是仅仅把它放在function.php中......
remove_action( 'storefront_header', 'storefront_product_search', 40 );
add_action( 'storefront_header', 'storefront_product_search', 25 );