Woocommerce模板覆盖不起作用

时间:2017-08-23 20:13:50

标签: wordpress woocommerce wordpress-theming woocommerce-theming

我想从我的主题中覆盖woocommerce模板。我遵循woocommerce官方文件中的所有步骤。而且我确信我的主题中没有woocommerce.php文件。 所以,我不能理解它为什么不起作用。 我正在使用二十七个主题。

任何帮助将不胜感激。

6 个答案:

答案 0 :(得分:5)

经过大量研究,最后我从WordPress - Failing to override woocommerce templates

找到了答案

实际上,我在模板文件夹中使用了所有文件,这就是它无效的原因。

这么简单的步骤。但我无法理解我是怎么想念的!

感谢您的 Mo'men Mohamed 了解您的建议。

答案 1 :(得分:2)

如果您已经阅读过这些文件 https://docs.woothemes.com/document/template-structure/

  

请注意:在主题文件夹中创建woocommerce.php时,您将会这样做   无法覆盖woocommerce / archive-product.php自定义   在您的主题中的模板,因为woocommerce.php优先于所有其他   模板文件。这是为了防止显示问题。

还要确保没有激活“模板调试模式”,您可以在以下位置找到:

WP Dashboard - > WooCommerce - >系统状态 - >工具

答案 2 :(得分:1)

尝试在主题的function.php中声明Woocommerce支持

答案 3 :(得分:1)

是的,我同意Mobashir。 有三个步骤可以检查为什么覆盖无效:

  1. 签入functions.php以获取支持的woocommerce(URL:https://docs.woocommerce.com/document/woocommerce-theme-developer-handbook/
  2. 检查目录和文件的拼写是否适合主题,例如your-theme / woocommerce。 (URL:https://docs.woocommerce.com/document/template-structure/
  3. Woocommerce允许更改woocommerce模板的位置。挂钩是 woocommerce_template_path 。如果您使用的是高级主题,请在主题的functions.php文件中检查过滤器挂钩。如果该挂钩退出,则使用该挂钩的回调函数中提到的位置。

答案 4 :(得分:1)

我遇到了与 WooCommerce 模板缓存相关的问题。

可以通过导航到以下位置清除缓存:

WooCommerce > 状态 > 工具 > 清除模板缓存

答案 5 :(得分:0)

我正面临着同样的问题。我正在将JupiterX主题与Elementor一起使用,并尝试覆盖 JupiterX Child 主题中的签出模板,但未加载。我已经仔细检查了路径,就像themes/jupiterx-child/woocommerce/checkout/form-checkout.php

解决方案:

我已经解决了问题。实际上,JupiterX主题具有其自己的WooCommerce覆盖结构,即themes/jupiterx/lib/templates/woocommerce/checkout/form-checkout.php,而对于子主题则为themes/jupiterx-child/lib/templates/woocommerce/checkout/form-checkout.php

详细信息: themes.artbees.net/docs/overriding-woocommerce-templates