WooCommerce-更改商店页面布局,但保留archive-product.php

WooCommerce-更改商店页面布局,但保留archive-product.php,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,我是WooCommerce的新手,我正在尝试使用我从头创建的自定义主题创建一个商店。主页是一个静态页面(自定义模板),只提供有关商店的详细信息。我在主题文件夹中创建了一个名为woocommerce的文件夹,并复制了模板文件。因此,我想保留archive-product.php,但我需要更改基本商店页面的布局。我希望它显示的类别和子类别的产品和一些特色产品没有价格,并添加到购物车的东西。你建议走哪条路? 我想到了一些目前有效的方法,但我不知道以后是否会引起任何问题。我对archive-produc

我是WooCommerce的新手,我正在尝试使用我从头创建的自定义主题创建一个商店。主页是一个静态页面(自定义模板),只提供有关商店的详细信息。我在主题文件夹中创建了一个名为woocommerce的文件夹,并复制了模板文件。因此,我想保留archive-product.php,但我需要更改基本商店页面的布局。我希望它显示的类别和子类别的产品和一些特色产品没有价格,并添加到购物车的东西。你建议走哪条路? 我想到了一些目前有效的方法,但我不知道以后是否会引起任何问题。我对archive-product.php进行了如下编辑:

<?php 
$shop_url = "$_SERVER[REQUEST_URI]";
$shop_end = "/shop/";
function endsWith($haystack, $needle) {
    $length = strlen($needle);
    if ($length == 0) {
        return true;
    }
    return (substr($haystack, -$length) === $needle);
}
if (!endsWith($shop_url, $shop_end)) { 
?> 
    archive-product.php stuff 
<?php } else { ?>
    custom shop basic page stuff
<?php } ?>

archive-product.php文件
自定义商店基本页面的东西
我检查url是否以“/shop/”结尾,因此根据url使用archive-product.php的代码。这样行不行?有没有其他更安全的方法来实现这一点? 任何帮助都将不胜感激。谢谢

看看和模板,你会发现它们都调用了
归档产品.php
模板

wc_get_template( 'archive-product.php' );
因此,如果您希望更改商店存档,而不是分类法存档,则需要将
存档product.php
复制到另一个文件中。。。说:
archive-product-alt.php
,然后更改分类模板以调用此文件

wc_get_template( 'archive-product-alt.php' );
或者,您也可以将
archive product.php
的内容复制到
taxonomy-product\u cat.php

中,以提供检查当前页面是否为商店页面的功能。