当前位置:首页-WordPress文章-WooCommerce-正文

自定义WooCommerce产品文章hook顺序

最近在做一款企业产品展示的商城网站,设计WooCommerce产品文章的布局与默认的布局有很大的不同,所以其中的一些模块都需要重新调整。WooCommerce插件提供了模板,通过修改模板可以调整其中的代码位置与显示方式,这样做就得修改很多文件,而且有些地方发动比较大,所以使用hook来调整是最佳的方案。

比如content-single-product.php文件中的这段代码:

  1. <div class="summary entry-summary">
  2.     <?php
  3.         /**
  4.          * woocommerce_single_product_summary hook.
  5.          *
  6.          * @hooked woocommerce_template_single_title - 5
  7.          * @hooked woocommerce_template_single_rating - 10
  8.          * @hooked woocommerce_template_single_price - 10
  9.          * @hooked woocommerce_template_single_excerpt - 20
  10.          * @hooked woocommerce_template_single_add_to_cart - 30
  11.          * @hooked woocommerce_template_single_meta - 40
  12.          * @hooked woocommerce_template_single_sharing - 50
  13.          */
  14.         do_action( 'woocommerce_single_product_summary' );
  15.     ?>
  16. </div>

其中都有注释各个模板的hook名称和等级。

删除模块

  1. remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );

添加代码到主题的functions.php中,将移除产品的价格。

调整模块

把评论等级放在价格的后面,代码如下:

  1. remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_rating', 10 );
  2. add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_rating', 15 );

两段代码看似相似,第一段代码是删除原有的评论等级,第二段代码是添加评论等级,而排列值为15,当前价格的值为10,所以评论等级就到价格的后面了。

在WooCommerce的开发过程中,很多产品列表与文章布局比较独特的都需要调整模块的位置,通过使用hook来调整,就不需要重新整理WooCommerce默认的代码。

本文原创,作者:萨龙龙,其版权均为萨龙网络所有。
如需转载,请注明出处:https://salongweb.com/woocommerce-hook-order.html