我正在开发基于woocommerce的插件,作为其中的一部分,我必须覆盖woocommerce的默认模板文件位置。我的意思是我希望从我的插件中加载自定义woocommerce模板。
为此,我阅读了基于article的woocommerce中的woocommerce_locate_template,但是我注意到该link弃用了相同的功能。现在我想知道什么可以替代此功能。
我的整个意图是将默认的woocommerce模板加载位置更改为我的插件文件夹。解决这个问题有帮助吗?
提前致谢。
最佳答案
不推荐使用woocommerce_locate_template函数,而推荐使用wc_locate_template:您可以阅读代码here。
但是,如果您正在寻找过滤器,它仍然是 woocommerce_locate_template 并采用三个参数:
因此,您可以检查$ template_name是否是您要截取的内容,并更改路径(如果为true),就像这样
function intercept_wc_template($template, $template_name, $template_path) {
if ($template_name == 'that_template.php') {
$template = 'the/path/of/your/plugin/template.php';
}
return $template;
}
add_filter('woocommerce_locate_template', 'intercept_wc_template', 20, 3);
我尚未对其进行测试,所以很抱歉出现任何语法错误:)
希望能帮助到你!
-更新1:我忘记了分号:P-
-更新2:我弄错了! --
关于php - Woocommerce-woocommerce_locate_template的替代方案,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32446556/