我已经开始学习如何使用WooCommerce创建模板,但遇到了一个小问题。例如,在Woocommerce插件的php文件content-single- product.php中,我有这样的字符串:
<?php /** * woocommerce_single_product_summary hook. * * @hooked woocommerce_template_single_title - 5 * @hooked woocommerce_template_single_rating - 10 * @hooked woocommerce_template_single_price - 10 * @hooked woocommerce_template_single_excerpt - 20 * @hooked woocommerce_template_single_add_to_cart - 30 * @hooked woocommerce_template_single_meta - 40 * @hooked woocommerce_template_single_sharing - 50 */ do_action( 'woocommerce_single_product_summary' ); ?>
例如,当我要编辑此内容(删除一些字段并更改结构)时,我尝试擦除字符串:
do_action(’woocommerce_single_product_summary’);
然后写成这样:
<?php /** * woocommerce_single_product_summary hook. * * @hooked woocommerce_template_single_title - 5 * @hooked woocommerce_template_single_rating - 10 * @hooked woocommerce_template_single_price - 10 * @hooked woocommerce_template_single_excerpt - 20 * @hooked woocommerce_template_single_add_to_cart - 30 * @hooked woocommerce_template_single_meta - 40 * @hooked woocommerce_template_single_sharing - 50 */ //do_action( 'woocommerce_single_product_summary' ); do_action('woocommerce_template_single_title'); ?>
你能告诉我为什么这不起作用吗?
什么是正确的编辑方式?
谢谢
首先在 下面的参考中, 您将找到如何通过主题 正确覆盖woocommerce模板 (避免编辑插件模板) 。
在您的第一个代码段中,如您对 woocommerce_single_product_summaryhook所看到的,您必须使用WordPress函数对 @hooked 位于此 hook位置的 所有不同模板进行排序 do_action() :
woocommerce_single_product_summary
@hooked
do_action()
do_action( 'woocommerce_single_product_summary' );
因此,在您的自定义代码(第2的代码片段)你刚更换过 钩 ,用 钩模板蛞蝓 _(即 不是 一个钩)_和将 不 工作为切入点 行动挂钩 。请参阅此答案底部的参考,以获取WooCommerce操作列表并过滤现有的挂钩 …
后果:* 如果您将钩子替换为模板slug ,则注释列表代码中所有其他钩子模板(以 @hooked 开头)将丢失。 *
说明 (如何) :
如何-具体示例: 您要 自定义woocommerce_template_single_titlehook中的 woocommerce_single_product_summary 钩子 模板 。 THE HOOK NAME: woocommerce_single_product_summary hook. THE TEMPLATES HOOKED (+priority order number) => corresponding template file name: — woocommerce_template_single_title (5) => single- product/title.php — woocommerce_template_single_rating (10) => single- product/rating.php — woocommerce_template_single_price (10) => single- product/price.php — woocommerce_template_single_excerpt (20) => single-product/short- description.php — woocommerce_template_single_add_to_cart(30) => single-product/add-to- cart/ (6 files depending on product type) — woocommerce_template_single_meta (40) => single-product/review- meta.php — woocommerce_template_single_sharing - (50) => single- product/share.php 然后,您将需要 编辑 位于 (子文件夹)中 的相应 woocommerce_single_product_summary 钩子 。。。一旦我们了解了模板结构文件和该模板中的钩子,最后并没有那么复杂。 title.php single-product __ 该 优先数 ,给出了钩模板的顺序:先中更小,在年底大…
如何-具体示例:
您要 自定义woocommerce_template_single_titlehook中的 woocommerce_single_product_summary 钩子 模板 。
woocommerce_template_single_title
THE HOOK NAME: woocommerce_single_product_summary hook. THE TEMPLATES HOOKED (+priority order number) => corresponding template
file name: — woocommerce_template_single_title (5) => single- product/title.php — woocommerce_template_single_rating (10) => single- product/rating.php — woocommerce_template_single_price (10) => single- product/price.php — woocommerce_template_single_excerpt (20) => single-product/short- description.php — woocommerce_template_single_add_to_cart(30) => single-product/add-to- cart/ (6 files depending on product type) — woocommerce_template_single_meta (40) => single-product/review- meta.php — woocommerce_template_single_sharing - (50) => single- product/share.php
然后,您将需要 编辑 位于 (子文件夹)中 的相应 woocommerce_single_product_summary 钩子 。。。一旦我们了解了模板结构文件和该模板中的钩子,最后并没有那么复杂。 title.php single-product __
title.php
single-product
该 优先数 ,给出了钩模板的顺序:先中更小,在年底大…
其他方式:
您还可以使用所有现有模板的挂钩 来针对非常特定的更改或自定义,并将自定义功能置于 function.php 活动子主题(或主题)的文件或任何插件文件中。
function.php
使用add_action()WordPress函数的示例:
add_action()
// define the woocommerce_single_product_summary callback function function my_custom_action() { echo '<p>This is my custom action function</p>'; }; add_action( 'woocommerce_single_product_summary', 'my_custom_action', 15 );
这个函数的优先级序号 15 ,并显示 “这是我的自定义操作功能” 字符串文本,之间 product price 和 product short description… 此挂钩函数的此挂钩函数的可选参数: -模板slug(字符串)。 -优先级(int)。
这个函数的优先级序号 15 ,并显示 “这是我的自定义操作功能” 字符串文本,之间 product price 和 product short description…
15
product price
product short description
此挂钩函数的此挂钩函数的可选参数: -模板slug(字符串)。 -优先级(int)。