我是WooCommerce和Storefront主题的新手。在开始修改源代码之前,我正在努力了解它。我只是在找出所有必要的代码的位置时遇到了一点困难。
当我打开header.php时,我迷失了方向,因为每个函数都被连接到了其他类似的文件上。
do_action( 'storefront_before_header' );
这些函数在Storefront主题中的定义在哪里?除了打开所有文件并搜索字符串之外,我如何在未来找到所有这些do_action函数的定义位置?
我查看了以下文件:
- 店面功能.php
- 店面模板功能.php
- storefront-template-hooks.php
- functions.php
对于所有与wooccommerce相关的产品,在每个挂钩之前的phpdoc块中都有一个@hooked
标记。如果没有@hooked
标签,那么这个钩子只是一个保留的钩子,将来可能会使用。
让我们看看storefront_header挂钩:
/**
* 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' );
在@hooked
标记之后是函数名称和优先级,在该优先级中,当触发动作时执行该函数。数字越低,执行越早。
挂接到钩子的大多数函数都位于storefront-template-functions.php
内部,并添加到storefront-template-hooks.php
内部。
您可以在主题文件夹中通过简单的IDE搜索找到这些函数。