更改Storefront主题标题中的项目顺序

我正在使用Wordpress的子主题, WooCommerce主题Storefront。
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之前。
我已经遍历了Storefront文件, 无法找到设置此顺序的位置, 只能找到各个项。
任何人都可以请我帮忙上钩或做些改变订单的事情吗?
#1@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 ); }

#2为此, 你需要首先使用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 );

#3不确定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 ); }

【更改Storefront主题标题中的项目顺序】而不是仅仅将其放在function.php中…
remove_action( 'storefront_header', 'storefront_product_search', 40 ); add_action( 'storefront_header', 'storefront_product_search', 25 );

    推荐阅读