这就是我需要做的事情:
这是我迄今为止所做的和尝试过的事情:
archive-product.php
的覆盖模板。custom-shop-class
的div,因为我想专门定位循环产品。page-id-4
进行定位,因为如果我将鼠标悬停在wp-admin的“商店”页面上,则会给我http://.../post.php?post=4&action=edit
我遇到的问题如下:
archive-product.php
模板,而不仅仅是在主要的“商店”页面中(如果我错了,请纠正我),所以当我使用CSS定位我的custom-shop-class
,它会影响使用相同模板文件的所有其他商店页面,但它不能。page-id-??
类(如通常的WP页面中所示)。关于最佳方法/解决方案的任何建议?
提前致谢, 马里奥。
答案 0 :(得分:4)
设置条件语句以检查主商店页面,如果该语句的计算结果为true,则回显有问题的div。
主要商店页面的WooCommerce条件标记:
if (is_shop()) {
echo "<div class='custom-shop-class'></div>";
} else {
echo "<div class='custom-product-category-class'></div>";
}
示例强>
<?php if (is_shop()):?>
<div class="custom-shop-class"></div>
<?php else: ?>
<div class="custom-product-category-class"></div>
<?php endif;?>
<强>可替换地:强>
{{1}}
答案 1 :(得分:2)
使用过滤器 body_class
和 is_shop
条件,您可以定位 WooCommerce 主商店页面。
add_filter( 'body_class', 'woo_shop_class' );
// Add WooCommerce Shop Page CSS Class
function woo_shop_class( $classes ) {
if ( is_shop() ) // Set conditional
$classes[] = 'woo-shop'; // Add Class
return $classes;
}
代码位于您的主题 functions.php
文件中。
答案 2 :(得分:0)
为了在此处提供的答案的基础上,我如何进一步根据活动的WPML语言向商店页面添加唯一标识符? (我基本上只是试图在商店页面的德语版本上减小字体大小 - 这显然难以做到)