【问题标题】:Overriding Woocommerce child theme not working覆盖 Woocommerce 子主题不起作用
【发布时间】:2020-04-30 06:07:02
【问题描述】:

从我的子主题覆盖 Woocommerce 文件根本不起作用。我确信一切都是 100% 正确的,真的很令人沮丧。我正在关注此页面上视频中的每一步:

https://docs.woocommerce.com/document/template-structure/

【问题讨论】:

    标签: templates woocommerce overriding


    【解决方案1】:

    啊,原来如此简单。走这条路:

    WP 仪表板 -> WooCommerce -> 系统状态 -> 工具

    然后取消选中“模板调试模式”:

    【讨论】:

    • 自 WooCommerce 3 以来,此设置不再可用。知道如何解决吗?
    • 目前的文档说要在您的子主题的根目录中创建一个目录,该目录将包含覆盖的模板,即 your-child-theme/woocommerce/templates/your-overiden-file.php 那没有不为我工作;但所做的只是将 woocommerce/templates 中包含的文件/目录直接放入子主题根目录中。它可能是也可能不是受支持的解决方法,但它似乎确实完成了工作。
    • 谢谢@SurferJoe。我很困惑为什么 /woocommerce/ override 目录在子主题中不起作用。从一个正常的独立主题;它确实有效。
    • @SurferJoe 和所有:这不起作用的原因是子主题中的 /templates/ 目录。这篇文章在这里总结得很完美。基本上,当您将子主题结构放在一起时,您会执行 /your-child-theme/woocommerce/emails/tempate-here.com。不需要“模板”文件夹。有效地将所有内容提升一级。 docs.woocommerce.com/document/template-structure
    【解决方案2】:

    如果有人仍然对这个主题感兴趣,我已经在我的主题上找到了导致此问题的原因。只需按照 Github 上的说明在 functions.php 中添加对 Woocommerce 的主题支持。

    https://github.com/woocommerce/woocommerce/wiki/Declaring-WooCommerce-support-in-themes

    【讨论】:

    • 它没有用。我不得不在 woocommerce 中更改电子邮件订单详细信息文件中的一个单词。用我的更改更新文件后,我在子主题中上传了具有此结构的文件:mytheme/woocommerce/emails/email-order-details.php 但看起来在子主题中添加它们不再起作用了。
    • 根据 WooCommerce 的文档,您所做的是正确的,我不知道为什么它不起作用。您可以尝试使用挂钩。您可以在本文末尾找到有关此主题的信息woocommerce.com/posts/how-to-customize-emails-in-woocommerce
    • 这里有 WC 挂钩的完整列表docs.woocommerce.com/wc-apidocs/hook-docs.html
    • 好的。检查这些。
    【解决方案3】:

    由于模板调试模式不再是 Woocommerce 系统工具中的选项,这对我有用。

    只需将此行添加到您的 wp_config.php 文件中:

    define('WC_TEMPLATE_DEBUG_MODE', false);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-02-24
      • 2018-02-01
      • 1970-01-01
      • 2016-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多