在这个场景中,对于这个堆栈问题,内置的魔法in_the_loop()
为我做这项工作:
function do_some_modifications($post){
if(is_singular(\'product\') && in_the_loop()) {
// do some action
}
}
add_action(\'the_post\', \'do_some_modifications\');
您可以跳过
return $post
随着这一行动的进行
$post
通过引用。
我认为do_action(\'the_post\')
就是这样,不要在插入模板操作上吹毛求疵,尤其不是woocommerce,他们有所有的模板,并且一直在更改它们。
我也遇到过类似的情况,我的官方插件应该在调用共享模板之前完成一些事情。在这里I dont know in advanced what template the Theme would use, 所以我需要的和这个案子一样,target the archive product listing, 但是not related product listings below 或其他可能使用相同模板的小部件。
如果其他资源对此进行了配置,只针对侧边栏,则以相反的方式设置条件!in_the_loop()
您可能需要检查$post
在你做事之前