在处理woocommerce模板后,我遇到了一个奇怪的错误。问题是我在所有产品中看到相同的评论(评论属于一个特定产品),我打开评论的产品页面与一个特定产品的相同。我试图捣毁一个产品,但模式没有改变而评论则来自其他产品。
我改变了什么:
最初我的目标是从我基于woocommerce的自定义插件加载woocommerce模板,我已将woocommerce模板复制到我的插件文件夹中,并使用下面的代码分别调用每个模板文件。
function intercept_wc_template_meta($template, $template_name, $template_path) {
if ($template_name == 'single-product/meta.php') {
$template = um_product_path.'woocommerce/single-product/meta.php';
}
return $template;
}
add_filter('woocommerce_locate_template', 'intercept_wc_template_meta', 20, 3);
出现了什么:
对我尝试使用var_dump($template)
进行测试的所有文件执行此操作后,所有文件都从我的插件中成功加载。
最后,产品页面的评论部分出现错误。
例如,如果我有产品A,B,C,D和产品A的4条评论已在产品A页面上正确显示,则相同的4评论A正在显示/覆盖B,C,D而不是他们自己的评论。 有没有人提前遇到过这个问题?我不确定是什么导致了这个错误。
答案 0 :(得分:0)
考虑找出哪个钩子meta.php
模板部件被添加到页面,取消钩子并尝试将此模板部件附加到同一个钩子上,使用优先级>的后期绑定; 10. woocommerce_locate_template
不适用于所有事情。