Wordpress WooCommerce-在哪里可以编辑由钩子生成的HTML?

Wordpress WooCommerce-在哪里可以编辑由钩子生成的HTML?,wordpress,e-commerce,wordpress-theming,woocommerce,Wordpress,E Commerce,Wordpress Theming,Woocommerce,我是新来的。无论如何,我想创建我自己的主题,所以我按照指导原则将核心模板文件复制到/mywordpresstheme/woocommerce/ 这一切都很好,我正在编辑模板 然而,钩子和动作在WooCommerce中的工作方式让我感到困惑,我无法确定生成的HTML的某些部分来自何处 例如,在content product.php中,有一个钩子可以获取图像: <?php /* * woocommerce_before_shop_loop_item_title hook * * @hooked

我是新来的。无论如何,我想创建我自己的主题,所以我按照指导原则将核心模板文件复制到/mywordpresstheme/woocommerce/

这一切都很好,我正在编辑模板

然而,钩子和动作在WooCommerce中的工作方式让我感到困惑,我无法确定生成的HTML的某些部分来自何处

例如,在
content product.php
中,有一个钩子可以获取图像:

<?php
/*
* woocommerce_before_shop_loop_item_title hook
*
* @hooked woocommerce_show_product_loop_sale_flash - 10
* @hooked woocommerce_template_loop_product_thumbnail - 10
*/
do_action( 'woocommerce_before_shop_loop_item_title' );
?>

但这是什么?它是从哪里来的??在动作名称中是否有任何线索可以帮助我找到为了编辑而生成的HTML

我读过WooCommerce上关于“钩子和过滤器”的文章,但它没有解释在哪里或如何根据具体情况进行更改

任何帮助都将不胜感激

我是这个系统的新手,我确信我只是在看一些非常明显的东西

谢谢, 迈克

但这是什么?它是从哪里来的??这本书里有什么线索吗 操作名称,我可以在哪里找到正在为其生成的HTML 编辑它的目的是什么

这是一个
动作挂钩
。它本身并没有做任何事情,但是注释
中列出的函数将钩住它,并因此在触发此函数时运行。它在评论中说,函数
woocommerce\u template\u loop\u product\u缩略图
是负责获取缩略图的函数。您可以在Woocommerce插件中找到此函数。我使用Sublime文本编辑器(尽管我认为其他人也会这样做)搜索整个文件夹中的短语,它会准确地告诉我它在哪个文件中。在本例中,它被称为可插入函数,位于
woocommerce template.php
中。(在版本2.1+中现在称为wc-template-hooks.php)

可插入函数意味着您在主题的functions.php中使用相同的名称定义函数的新版本

function woocommerce_template_loop_product_thumbnail(){
  echo "apple";
}
如果您将上述内容放在functions.php中,那么您只会看到apple一词,而不是Woo的
woocommerce\u template\u loop\u product\u thumbnail()

我读过关于WooCommerce的“钩子和过滤器”的文章,但是它 对于在何处或如何更改案例中的这些内容,不做任何解释 案例基础

您将对主题的functions.php进行所有更改,不需要逐案进行更改。所有挂钩和过滤器的行为都相同。也就是说,它们不是最容易学的东西,所以要对自己有耐心。我发现过滤器对我来说特别难


在一次免费的自我推销活动中,我写了一系列关于主题挂钩的文章(一篇文章说这是为了主题挂钩,但挂钩就是挂钩!),这些都是我希望人们在我的WordPress职业生涯开始时告诉我的事情。

谢谢你,这帮我向正确的方向点头。我只希望WooCommerce有更好的文档…它们…充其量是稀缺的!再次感谢,不客气。如果您从他们那里购买了任何东西,他们通常都非常支持。钩住的函数在wc-template-functions.php中