个性化阅读
专注于IT技术分析

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

我是WooCommerce的新手。无论如何, 我想创建自己的主题, 因此我遵循了指南, 并将整个核心模板文件复制到了/ 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上有关”钩子和过滤器”的文章, 但没有说明有关在个案中在何处或如何更改它们的内容。

任何帮助将不胜感激。

我是该系统的新手, 我敢肯定我只是在忽略一些非常明显的东西。

谢谢, Mikey。


#1


那是什么它从何而来??动作名称中是否有关于我可以定位生成的HTML以进行编辑的位置的线索?

这是一个动作挂钩。它本身并没有做任何事情, 但是注释中列出的功能已挂接到它, 因此在触发此功能时运行。它在注释中表示, 功能woocommerce_template_loop_product_thumbnail是负责获取缩略图的功能。你可以在Woocommerce插件中找到此功能。我使用Sublime Text编辑器(尽管我认为其他人也会这样做), 在整个文件夹中搜索该短语, 它会告诉我确切的文件位置。在这种情况下, 这就是所谓的可插入函数, 它位于woocommerce-template.php。 (现在在2.1+版本中称为wc-template-hooks.php)

可插拔功能意味着你可以在主题的functions.php中使用相同的名称定义该功能的新版本。

function woocommerce_template_loop_product_thumbnail(){
  echo "apple";
}

如果将以上内容放入你的functions.php中, 那么你将只会看到apple这个词, 而不是Woo的woocommerce_template_loop_product_thumbnail()。

我已经阅读了WooCommerce上有关”钩子和过滤器”的文章, 但没有说明有关在个案中在何处或如何更改它们的内容。

你将对主题的functions.php进行所有更改, 并且无需根据情况进行更改。所有的钩子和过滤器的行为都相同。就是说, 它们不是最容易学习的东西, 所以要对自己有耐心。我发现过滤器很难缠住我的头。

在无谓的自我推广中, 我写了一系列有关WordPress钩子和过滤器基础知识的文章(一篇文章说这是主题钩子, 但钩子是钩子!), 这些都是我希望人们告诉的一切我是WordPress职业生涯的开始。

赞(5)
未经允许不得转载:srcmini » WooCommerce-在哪里可以编辑钩子生成的HTML?

评论 抢沙发

评论前必须登录!