存档-Product.php(主要商店页面)的WooCommerce模板覆盖不起作用

时间:2013-09-03 18:03:33

标签: php wordpress web woocommerce

我无法为我的生活设法覆盖主要的商店页面。

我的理解是它是archive-product.php

我试图将其复制到我在主题根目录中创建的Woocommerce目录中并进行修改。没有骰子。

我还试图直接在Woocommerce插件目录中修改它。也没有骰子。

我甚至在两个位置(woocommerce目录和我的主题模板目录)中的archive-product.php文件名之前添加了一个下划线,试图希望BREAK它 - 只是为了看看我是否可以影响一些变化 - 这似乎也没有任何影响。

我没有运行任何缓存插件和我试图修改的所有其他Woocommerce模板文件,直到这一点工作正常。

有什么想法吗?

4 个答案:

答案 0 :(得分:5)

你这样做是正确的。您必须按照以下方式仔细检查位置:

  • 商店模板在 plugins/woocommerce/templates/archive-product.php

  • 您可以复制到my-themes/woocommerce/archive-product.php 覆盖核心woocommerce文件。

答案 1 :(得分:4)

我刚才有同样的问题, 对我有用的是删除woocommerce.php文件,因为之前它将模板woocommerce.php应用到商店,而不是存档产品。

答案 2 :(得分:1)

答案是,当您更新到最新版本的woocommerce时,您必须“重新安装”woocommerce页面,因为旧系统没有使用wc_get_page_id()函数,该函数会查找商店页面。

幸运的是,这非常容易!转到您的管理员,然后转到WooCommerce,再转到系统状态,然后单击工具选项卡。然后单击Install WooCommerce Pages右侧的按钮。这只会安装缺少的WooCommerce页面,并且,这将使用正确的“wc_get_page_id”重新安装商店页面。

注意:如果您在原始wordpress商店页面中有内容,虽然它没有为我删除它,但您可能只是想先复制内容以防万一。

答案 3 :(得分:0)

我可以通过使用此处的建议来解决此问题 - Changes on archive-product.php doesn't work

但是,这对我来说似乎是个错误。 WooCommerce声称您需要该根woocommerce.php页面才能将插件合并到您的自定义主题中http://docs.woothemes.com/document/third-party-custom-theme-compatibility/ - 但这确实有效。

我很想知道这背后的原因。

切换到Twentyeleve / twentytwelve主题并尝试以相同方式覆盖archive-product.php文件效果很好,但它们的根目录中也不包含本机woocommerce.php文件。是什么给了什么?