Understanding WP

时间:2016-05-17 作者:Shahroq

抱歉,如果这是一个新手问题。为了设计woocommerce目录页,我通常将woocommerce模板文件夹复制到主题文件夹中,然后开始编辑该文件夹(覆盖模板)。我看到这一页上有这些挂钩:

/**
* woocommerce_before_shop_loop hook.
*
* @hooked woocommerce_result_count - 20
* @hooked woocommerce_catalog_ordering - 30
*/
do_action( \'woocommerce_before_shop_loop\' );
&;我想知道为什么有人会在这里放置一些东西(标记、来自数据库的查询……)而挂接到这个操作中而不是把它放在这个文件里?

1 个回复
SO网友:Howdy_McGee

挂钩(过滤器和操作)位于这些模板中的原因是,您无需将模板复制到主题文件夹中。

将WooCommerce模板复制到主题中的最大问题是,每当WooCommerce更新时,它们通常也会更新模板。然后,您需要将旧模板中的更改引入新模板,并确保所有内容都能相应地工作,以便覆盖的文件与任何其他Woo更改“配合良好”。

这些挂钩的想法是,您应该能够以不同的顺序移动它们(如果您需要不同的布局),或者用您可能需要的东西替换输出。这个woocommerce_before_shop_loop 允许您修改结果计数和排序筛选器。也许您不想显示结果计数-因此我们可以这样删除它:

remove_action( \'woocommerce_before_shop_loop\', \'woocommerce_result_count\', 20 );
下一个大障碍是找出每个钩子的作用,以及如何利用它们发挥优势。

相关推荐

OOP development and hooks

我目前正在为Wordpress编写我的第一个OOP插件。为了帮助我找到一点结构,a boiler plate 这为我奠定了基础。在里面Main.php 有一种方法可以为管理员加载JS和CSS资产:/** * Register all of the hooks related to the admin area functionality * of the plugin. * * @since 0.1.0 * @access private