php - WooCommerce - 在 content-single-product.php 模板中添加打开和关闭 div 标签

标签 php wordpress woocommerce product hook-woocommerce

I want to add on templates/content-single-product.php:
An opening <div> before line 39
A close </div> after line 81.

将此模板复制到我的事件主题并进行自定义即可正常工作。

但是,有没有更好的方法可以在不复制模板的情况下做到这一点?

我以为我看到了一些方法可以将过滤器应用于 do_action( 'woocommerce_before_single_product_summary' );do_action( 'woocommerce_after_single_product_summary' );做类似的事情。

我只是想检查一下我的操作方式,是正确的方式

我选择的方式是否正确?

谢谢。

最佳答案

在模板中 content-single-product.php , 唯有打开你的 <div> ,是模板本身,正如您之前想要的那样(第 39 行):

<div itemscope itemtype="<?php echo woocommerce_get_product_schema(); ?>" id="product-<?php the_ID(); ?>" <?php post_class(); ?>>

因为如果你使用 woocommerce_before_single_product_summary 你的开放 <div> 将在 之后 现有 <div itemscope itemtype="…"> 而不是之前

最后,在编辑模板时,最好的方法是将其添加到模板中(就像您制作的那样。

但它在 中也应该有效 woocommerce_after_single_product 以任何优先级 Hook (因为还没有 Hook );这种方式例如:

function single_product_closing_div(){
    echo '</div>';
}
add_action( 'woocommerce_after_single_product', 'single_product_closing_div', 10, 0 );

Conclusion: You have done it the right way, in the template directly.

关于php - WooCommerce - 在 content-single-product.php 模板中添加打开和关闭 div 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39243247/

相关文章:

wordpress - 将 WordPress 站点移至 Docker,并最终移至服务器

css - 视频忽略 CSS 高度和宽度值

mysql - WordPress 插件查询中占位符的 PHPStorm 警告

php - woocommerce webhook 负载中的自定义值

php - PHP 中的 $this 需要一些解释吗?

php - 预期的内容类型 text/json 得到 text/html

javascript - 从 Ajax 请求将多个值发布到 PHP

php mysql 表创建建议 WHERE certain cell =

php - 从 WooCommerce 商店获取所有产品

php - 隐藏添加到特定类别的购物车