我是 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 上有关“挂钩和过滤器”的文章,但它没有解释有关在何处或如何根据具体情况更改这些内容的信息。
任何帮助将不胜感激。
我是这个系统的新手,我确信我只是忽略了一些非常明显的东西。
谢谢,
麦基.
但这是什么?它从何而来??里面有什么线索吗
操作名称,我可以在哪里找到正在生成的 HTML
编辑的目的是什么?
这是一action hook
。它本身并没有做任何事情,而是评论中列出的功能hook
进入其中,因此在触发此函数时运行。评论里说功能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中,而不是Woo的woocommerce_template_loop_product_thumbnail()
你只会看到“苹果”这个词。
我读过 WooCommerce 上有关“挂钩和过滤器”的文章,但它
没有解释任何关于在哪里或如何更改这些的情况
案例依据。
您将在主题的functions.php 中进行所有更改,并且不需要根据具体情况进行更改。所有钩子和过滤器的行为都相同。也就是说,它们并不是最容易学习的东西,所以要对自己有耐心。我发现滤镜特别难以理解。
在无端的自我推销中,我写了一系列关于WordPress 挂钩和过滤器的基础知识 http://www.kathyisawesome.com/category/basics-2/(一篇文章说它是针对主题挂钩的,但挂钩就是挂钩!)这些都是我希望人们在我的 WordPress 职业生涯开始时告诉我的所有事情。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)