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

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

1. &lt;div class=“summary entry-summary”&gt;
2. 
3. &lt;?php
4. /\*\*
5. \* woocommerce\_single\_product\_summary hook.
6. \*
7. \* @hooked woocommerce\_template\_single\_title – 5
8. \* @hooked woocommerce\_template\_single\_rating – 10
9. \* @hooked woocommerce\_template\_single\_price – 10
10. \* @hooked woocommerce\_template\_single\_excerpt – 20
11. \* @hooked woocommerce\_template\_single\_add\_to\_cart – 30
12. \* @hooked woocommerce\_template\_single\_meta – 40
13. \* @hooked woocommerce\_template\_single\_sharing – 50
14. \*/
15. do\_action( ‘woocommerce\_single\_product\_summary’ );
16. ?&gt;
17. 
18. &lt;/div&gt;

其中都有注释各个模板的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默认的代码。