我是 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 } ?>
我检查url是否以'/shop/'结尾...所以根据url使用archive-product.php的代码。这可以吗?有没有其他更安全的方法来实现这一目标? 任何帮助,将不胜感激。谢谢
最佳答案
看看 taxonomy-product_cat.php
和 taxonomy-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
中。
关于php - WooCommerce - 更改商店页面布局但保留 archive-product.php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30779659/