wordpress插件函数发射两次
继续浏览this后操作woocommerce
菜单。
这个插件代码:wordpress插件函数发射两次
function product_subcategories($args = array()) {
$parentid = get_queried_object_id();
$args = array(
'parent' => $parentid
);
$terms = get_terms('product_cat', $args);
if ($terms) {
echo '<ul class="product-cats">';
foreach ($terms as $term) {
echo '<li class="category">';
woocommerce_subcategory_thumbnail($term);
echo '<h2>';
echo '<a href="' . esc_url(get_term_link($term)) . '" class="' . $term->slug . '">';
echo $term->name;
echo '</a>';
echo '</h2>';
echo '</li>';
}
echo '</ul>';
}
}
add_action('woocommerce_before_shop_loop', 'product_subcategories', 50);
闪光两次。
为什么? 感谢名单
编辑 原帖链接:Display WooCommerce Categories, Subcategories, and Products in Separate Lists
Woocommerce不会允许你同一个标签source注册两个事件。因此,如果文件加载了两次(例如,如果使用include/require而不是include_once/require_once),它可能会导致此问题:无论如何检查它(!)。
挂钩本身在woocommerce中被调用两次,所以在技术上可能挂钩被调用两次。但是我不知道是否两个模板都在同一个调用中加载......但是您可能已经在不知道的情况下注册了两次调用:因此请检查您的代码是否有另一个调用此函数的函数,也许使用不同的代码(woocommerce_before_shop_loop
)。
这是这个插件操作的唯一要求,因为这是唯一的'php'代码...除了'css' – Jadeye
更新:
与您的代码你只是在做什么WooCommerce已经在做,这就是为什么你看到重复的类别/子菜单项和你说,它的“触发了两次”。
无论如何,如果你把你的代码,然后你想删除WooCommerce产生的类别/子类别的项目,您可以使用此挂钩的函数:
add_filter('woocommerce_product_subcategories_args', function($args){
$args['taxonomy']= '';
return $args;
});
代码放在的function.php文件您活跃的儿童主题(或主题)或任何插件文件。
这将删除WooCommerce重复的项目...
原来的答复:
的woocommerce_before_shop_loop
钩:
- 没有参数(没必要加
$args = array()
) - 被称为很多次,但只发射一次。检查它代替你的代码通过这样的:
add_action('woocommerce_before_shop_loop', function(){
wc_print_notice('test message', 'notice');
}, 50);
请,你的问题不是很明确的,详细的,我们真的不知道你有什么问题,不能帮助您进一步比...
指出......除去'$ args' ....'notice'函数只显示一次...尝试'has_action'&'did_action'但没有任何内容......至于这个问题,我不想重载代码,但链接说明了这一切...如果你可以请看一下,这将有所帮助......感谢你的时间 – Jadeye
Ps 'if(has_action('woocommerce_before_shop_loop','tutsplus_product_subcategories')){ add_action('woocommerce_before_shop_loop','tutsplus_product_subcategories',50); }“根本不会触发该功能,但如果我否定它的作用......我在哪里出错? – Jadeye
@Jadeye我已经更新了我的答案...请看看它。谢谢 – LoicTheAztec
您是否尝试使用Query Monitor插件进行调试? https://wordpress.org/plugins/query-monitor/ –
AFA查询监视器插件去请参阅原始问题的编辑与截图...一个查询'tutsplus_product_subcategories()' – Jadeye