Woocommerce 中的自定义产品模板和操作挂钩
Custom product template and action hooks in Woocommerce
我有一个来自 Storefront 的子主题,并且主页和其他页面的自定义页面模板 运行 没有问题。
我正在为 Woocommerce 页面构建自定义布局,并将 content-single-product.php
用于文件中带有自定义代码的单个产品页面,例如:
<div class="wc-product-images">
<?php do_action( 'woocommerce_before_single_product_summary', 'woocommerce_show_product_images'); ?>
</div>
<div class="wc-product-description">
<?php the_content(); ?>
</div>
问题 1:我在模板文件中用 do_action()
调用 Woocommerce 内容是否正确?我有一个特定的布局,无法按照默认文件遵循挂钩布局
问题2:当我调用:
<?php
do_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_related_products' );
?>
我获得了相关产品的产品描述,实际上需要构建一个仅包含相关产品的 div。
如果没有包含描述,如何正确调用它?
感谢任何帮助。
你在制造混淆,原来 do_action( 'woocommerce_before_single_product_summary' )
在 woocommerce content-single-product.php
模板中启用了一个入口点,其中 add_action()
用于使用函数挂钩其他模板:
woocommerce_show_product_sale_flash()
(钩子优先级为 10)
woocommerce_show_product_images()
(钩子优先级为 20)
因此,如果您只想在自定义模板中启用产品图片,则必须创建自己的挂钩:
<div class="wc-product-images">
<?php do_action( 'woocommerce_before_single_product_summary_custom' ); ?>
</div>
<div class="wc-product-description">
<?php the_content(); ?>
</div>
然后您将在您的活动子主题 (或活动主题)的 function.php 文件中添加此内容:
add_action( 'woocommerce_before_single_product_summary_custom', 'woocommerce_show_product_images', 20 );
它应该按预期工作。
但是您可以在您的自定义模板中使用原始挂钩,如果您不需要任何不同的挂钩自定义…在那种情况下您将只有那个:
<div class="wc-product-images">
<?php do_action( 'woocommerce_before_single_product_summary' ); ?>
</div>
<div class="wc-product-description">
<?php the_content(); ?>
</div>
附加项:与您的评论相关(关于相关产品)。
要在自定义模板中启用相关产品,请在其中添加此块(使用自定义挂钩):
<div class="wc-product-related">
<?php do_action( 'custom_after_single_product_summary' ); ?>
</div>
然后您将在您的活动子主题(或活动主题)的 function.php 文件中添加:
add_action( 'custom_after_single_product_summary', 'woocommerce_output_related_products', 20 );
应该可以。
我有一个来自 Storefront 的子主题,并且主页和其他页面的自定义页面模板 运行 没有问题。
我正在为 Woocommerce 页面构建自定义布局,并将 content-single-product.php
用于文件中带有自定义代码的单个产品页面,例如:
<div class="wc-product-images">
<?php do_action( 'woocommerce_before_single_product_summary', 'woocommerce_show_product_images'); ?>
</div>
<div class="wc-product-description">
<?php the_content(); ?>
</div>
问题 1:我在模板文件中用 do_action()
调用 Woocommerce 内容是否正确?我有一个特定的布局,无法按照默认文件遵循挂钩布局
问题2:当我调用:
<?php
do_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_related_products' );
?>
我获得了相关产品的产品描述,实际上需要构建一个仅包含相关产品的 div。
如果没有包含描述,如何正确调用它?
感谢任何帮助。
你在制造混淆,原来 do_action( 'woocommerce_before_single_product_summary' )
在 woocommerce content-single-product.php
模板中启用了一个入口点,其中 add_action()
用于使用函数挂钩其他模板:
woocommerce_show_product_sale_flash()
(钩子优先级为 10)woocommerce_show_product_images()
(钩子优先级为 20)
因此,如果您只想在自定义模板中启用产品图片,则必须创建自己的挂钩:
<div class="wc-product-images">
<?php do_action( 'woocommerce_before_single_product_summary_custom' ); ?>
</div>
<div class="wc-product-description">
<?php the_content(); ?>
</div>
然后您将在您的活动子主题 (或活动主题)的 function.php 文件中添加此内容:
add_action( 'woocommerce_before_single_product_summary_custom', 'woocommerce_show_product_images', 20 );
它应该按预期工作。
但是您可以在您的自定义模板中使用原始挂钩,如果您不需要任何不同的挂钩自定义…在那种情况下您将只有那个:
<div class="wc-product-images">
<?php do_action( 'woocommerce_before_single_product_summary' ); ?>
</div>
<div class="wc-product-description">
<?php the_content(); ?>
</div>
附加项:与您的评论相关(关于相关产品)。
要在自定义模板中启用相关产品,请在其中添加此块(使用自定义挂钩):
<div class="wc-product-related">
<?php do_action( 'custom_after_single_product_summary' ); ?>
</div>
然后您将在您的活动子主题(或活动主题)的 function.php 文件中添加:
add_action( 'custom_after_single_product_summary', 'woocommerce_output_related_products', 20 );
应该可以。