Wordpress archive-product.php上的更改不';行不通
我正在尝试定制标准的woocommerce主题,到目前为止,它运行良好。我将所有模板文件从Wordpress archive-product.php上的更改不';行不通,wordpress,woocommerce,Wordpress,Woocommerce,我正在尝试定制标准的woocommerce主题,到目前为止,它运行良好。我将所有模板文件从/plugins/woocommerce/templates复制到/mytheme/woocommerce并自定义了这些文件 但是当我在archive product.php中更改某些内容时,什么都没有发生?我甚至尝试在核心文件(/plugins/woocommerce/templates/archive product.php)中对此进行自定义,但没有成功 我想更改h1标题的类: 因此,我查找了所有woo
/plugins/woocommerce/templates
复制到/mytheme/woocommerce
并自定义了这些文件
但是当我在archive product.php
中更改某些内容时,什么都没有发生?我甚至尝试在核心文件(/plugins/woocommerce/templates/archive product.php
)中对此进行自定义,但没有成功
我想更改h1
标题的类:
因此,我查找了所有woocommerce模板文件,类页面标题
仅出现在这一个文件中(以防止编辑错误的文件)
编辑:
详细地说,我想自定义此路径中使用的主题:以下是我修复我的主题的方法:
看来这仍然是商业中的一个问题。对于任何登陆这里的人,从2.1.6版开始,以下解决方案对我有效 显然,问题是由于函数woocommerce_content()为存档内容输出了错误的页面 我用以下方法来解决这个问题: 将woocommerce.php中的woocommerce_content()替换为:
if ( is_singular( 'product' ) ) {
woocommerce_content();
}else{
//For ANY product archive.
//Product taxonomy, product search or /shop landing
woocommerce_get_template( 'archive-product.php' );
}
信用:找到解决方案如果使用woocommerce.php方法,则无法自定义存档产品。您必须使用hooks方法 请注意:在主题文件夹中创建woocommerce.php时,您将无法覆盖woocommerce/archive-product.php自定义模板,因为woocommerce.php的优先级高于archive-product.php。这是为了防止显示问题 您需要编辑文件“taxonomy-product_cat.php”,并添加一个条件is_product_类别('mycategory')
wc_get_模板('archive product.php')代码>带有:
if(是产品类别('mycategory')){
wc_get_模板('archive mycategory.php');
}否则{
wc_get_模板('archive product.php');
}
我尝试了上述所有解决方案,但均无效。无论我做了什么,都没有使用archive-product.php。相反,大多数woocommerce页面都使用我的主题中的page.php
我的解决方案是添加主题支持。。。我已经有一段时间没有使用woocommerce了,所以我完全忘记了这一点。但是在我的functions.php文件中添加了以下行之后,现在正在使用archive-product.php(/mytheme/woocommerce/archive-product.php),我可以按照我应该能够的方式对其进行更新
add_theme_support('woocommerce');
对于在此处搜索的其他人,请双击路径。例如,它不是
/myteme/woocommerce/templates/archive product.php
,而是/myteme/woocommerce/archive product.php
。我不必将@Talk nerdy应用到我的补丁或任何其他补丁上,就能让它工作。你的网站上安装了缓存插件吗?没有,我没有安装任何缓存插件。哇。。。这是可行的,但根据WooCommerce文档,这与为主题添加兼容性的所有内容都背道而驰。这是虫子吗?这似乎是一个可怕的解决方案,但确实有效。这是一个设计方案,看这里这个解决方案现在已经过时了-woocommerce.phpNo中不存在woocommerce\u content(),woocommerce\u content()
在最新版本中仍然存在。即使到2020年,这仍然是一个问题。谢谢你的回答,经过两天的搜索找到了。你太棒了!在使用此解决方案之前,请尝试在functions.php文件中添加对woocommerce的支持,正如@IAteYourKitten在下面指出的那样。感谢您的帮助。在我的例子中,我遇到了应用过滤器的问题,甚至模板覆盖都没有。直到我添加了wc主题支持,它才开始工作。奇怪..很好用!谢谢。不知道我怎么会错过这个,但是谢谢你的提醒!天啊!我完全忘了这件事=我遇到了麻烦,现在所有的结构都修好了!我的主题中的woocommerce文件夹现在工作得很好,body类也回来了。示例:按ctrl+u显示源代码,我现在可以看到添加到body类的所有页面类型!非常感谢!如果您添加了主题支持,那么WooCommerce决定在您的主题中始终显示一个侧栏,即使您没有侧栏。如果不添加主题支持,则无法删除类别描述挂钩。这是一个很棒的软件。