如何覆盖不在“ templates”文件夹中的wordpress插件模板文件?

时间:2019-06-24 10:13:43

标签: wordpress

如果插件的模板文件位于'templates'文件夹中,则可以通过添加以该插件命名的文件夹并将其复制到该文件中来轻松覆盖子主题。但是,某些插件将模板文件夹命名为“ public”或“ views”,如何覆盖?

我已经创建了一个以插件命名的文件夹,然后按照插件结构创建了子文件夹,但未成功。

插件模板结构/wp-content/plugins/woo-product-slider/public/views/shortcoderender.php。 我创建了/mytheme-child/woo-product-slider/public/views/shortcoderender.php,/mytheme-child/woo-product-slider/views/shortcoderender.php,/ mytheme-child / woo-product-slider / public /shortcoderender.php,/mytheme-child/woo-product-slider/templates/shortcoderender.php全部失败,什么也没有发生。

请帮忙吗?

1 个答案:

答案 0 :(得分:0)

我刚刚查看了Product Slider for WooCommerce的源代码,看起来好像这些文件加载​​没有被过滤或主题版本已被检查-很难编码仅从插件加载它们。

不幸的是,并非所有插件都允许您添加自己的模板文件。在这种情况下,由于您似乎要修改的是简码,因此我建议在wps_shortcode()中复制shortcoderender.php函数的副本,并将其副本添加到主题的{{ 1}}文件:

functions.php

简码功能很全面,但其中也有很多过滤后的值,因此您可以使用过滤器来实现所需的功能,而不必复制整个简码功能。

>