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

时间:2015-06-11 11:35:01

标签: php wordpress woocommerce

我是WooCommerce的新手,我正在尝试使用从头开始创建的自定义主题来构建商店。主页是一个静态页面(自定义模板),只是提供有关商店的详细信息。我在名为woocommerce的themes文件夹中创建了一个文件夹并复制了模板文件。所以,我想保留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 } ?>

我检查网址是否以'/shop /'结尾。所以根据网址使用archive-product.php的代码。这样可以吗?有没有其他更安全的方法来实现这一目标? 任何帮助,将不胜感激。感谢

1 个答案:

答案 0 :(得分:1)

查看taxonomy-product_cat.phptaxonomy-product_tag.php模板,您会看到他们都调用archive-product.php模板。

wc_get_template( 'archive-product.php' );

因此,如果您希望更改商店归档,但分类法归档,则需要将archive-product.php复制到另一个文件...说:archive-product-alt.php和更改分类模板以改为调用此文件。

wc_get_template( 'archive-product-alt.php' );

,您也可以将archive-product.php的内容复制到taxonomy-product_cat.php