我是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职业生涯的开始。
评论前必须登录!
注册