3

我是 WooCommerce 和 Storefront 主题的新手。在开始修改源代码之前,我试图了解它。我只是很难找出所有必要代码的位置。

当我打开 header.php 时,我迷路了,因为每个函数都与其他类似的文件挂钩。

do_action( 'storefront_before_header' );

这些功能在 Storefront 主题中定义在哪里?除了打开所有文件正在搜索字符串之外,我如何找到所有这些 do_action 函数在未来定义的位置?

我查看了以下文件:

  • 店面-functions.php
  • 店面模板functions.php
  • 店面模板hooks.php
  • 函数.php
4

1 回答 1

1

对于所有与 woocommerce 相关的产品,@hooked每个钩子之前的 phpdoc 块中都有一个标签。如果没有@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是函数名称和触发操作时执行该函数的优先级。较低的数字对应于较早的执行。

大部分挂在钩子上的函数都位于 insidestorefront-template-functions.php并添加到 inside storefront-template-hooks.php

您可以在主题文件夹中通过简单的 IDE 搜索找到这些功能。

于 2016-08-03T05:29:33.170 回答