Woocommerce 模板覆盖不起作用
Woocommerce template overriding not working
我想从我的主题中覆盖 woocommerce 模板。我遵循 woocommerce 官方文档中的所有步骤。而且我确定我的主题中没有 woocommerce.php 文件。
所以,我不明白为什么它不起作用。
我用的是二十七主题。
我们将不胜感激。
如果您已经阅读过本文档
https://docs.woothemes.com/document/template-structure/
Please Note: When creating woocommerce.php in your theme’s folder, you will
be unable to override the woocommerce/archive-product.php custom
template in your theme, as woocommerce.php has priority over all other
template files. This is intended to prevent display issues.
还要确保您没有激活“模板调试模式”,您可以在以下位置找到:
WP 仪表板 -> WooCommerce -> 系统状态 -> 工具
经过大量研究,我终于从这里找到了答案
实际上,我使用了模板文件夹中的所有文件,这就是它不起作用的原因。
如此简单的步骤。但我不明白我怎么会错过它!
感谢 Mo'men Mohamed 的建议。
尝试在您的主题 function.php
中声明 Woocommerce 支持
是的,我同意 Mobashir 的观点。
可以通过三个步骤检查为什么覆盖不起作用:
- 签入 functions.php 以添加支持的 woocommerce ( URL : https://docs.woocommerce.com/document/woocommerce-theme-developer-handbook/ )
- 在 your-theme/woocommerce 等主题中检查目录和文件的拼写是否正确。 ( URL : https://docs.woocommerce.com/document/template-structure/ )
- Woocommerce 允许更改 woocommerce 模板的位置。挂钩是:woocommerce_template_path。如果您使用的是高级主题,请检查主题的 functions.php 文件中的过滤器挂钩。如果该挂钩退出,则使用该挂钩的回调函数中提到的位置。
我遇到了同样的问题。我将 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
我遇到了与 WooCommerce 模板缓存相关的问题。
可以通过导航到清除缓存:
WooCommerce > 状态 > 工具 > 清除模板缓存
我想从我的主题中覆盖 woocommerce 模板。我遵循 woocommerce 官方文档中的所有步骤。而且我确定我的主题中没有 woocommerce.php 文件。 所以,我不明白为什么它不起作用。 我用的是二十七主题。
我们将不胜感激。
如果您已经阅读过本文档 https://docs.woothemes.com/document/template-structure/
Please Note: When creating woocommerce.php in your theme’s folder, you will be unable to override the woocommerce/archive-product.php custom template in your theme, as woocommerce.php has priority over all other template files. This is intended to prevent display issues.
还要确保您没有激活“模板调试模式”,您可以在以下位置找到:
WP 仪表板 -> WooCommerce -> 系统状态 -> 工具
经过大量研究,我终于从这里找到了答案
实际上,我使用了模板文件夹中的所有文件,这就是它不起作用的原因。
如此简单的步骤。但我不明白我怎么会错过它!
感谢 Mo'men Mohamed 的建议。
尝试在您的主题 function.php
是的,我同意 Mobashir 的观点。 可以通过三个步骤检查为什么覆盖不起作用:
- 签入 functions.php 以添加支持的 woocommerce ( URL : https://docs.woocommerce.com/document/woocommerce-theme-developer-handbook/ )
- 在 your-theme/woocommerce 等主题中检查目录和文件的拼写是否正确。 ( URL : https://docs.woocommerce.com/document/template-structure/ )
- Woocommerce 允许更改 woocommerce 模板的位置。挂钩是:woocommerce_template_path。如果您使用的是高级主题,请检查主题的 functions.php 文件中的过滤器挂钩。如果该挂钩退出,则使用该挂钩的回调函数中提到的位置。
我遇到了同样的问题。我将 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
我遇到了与 WooCommerce 模板缓存相关的问题。
可以通过导航到清除缓存:
WooCommerce > 状态 > 工具 > 清除模板缓存