有人可以向我解释这段代码到底是做什么的吗?我对“额外的帖子类”部分特别困惑。我想要实现的唯一目标是每 4 节课都会增加一堂课。
global $product, $woocommerce_loop;
$PHT_shopID = get_option('woocommerce_shop_page_id');
$PHT_shopID = get_permalink($PHT_shopID);
// Store loop count we're currently on
if (empty($woocommerce_loop['loop'])) {
$woocommerce_loop['loop'] = 0;
}
// Store column count for displaying the grid
if (empty($woocommerce_loop['columns'])) {
$woocommerce_loop['columns'] = apply_filters( 'loop_shop_columns', 4 );
}
// Ensure visibility
if (!$product || !$product->is_visible()) {
return;
}
// Increase loop count
$woocommerce_loop['loop']++;
// Extra post classes
$PHTclasses = array();
if ( 0 === ( $woocommerce_loop['loop'] ) % $woocommerce_loop['columns'] || 1 === $woocommerce_loop['columns'] )
$PHTclasses[] = 'first';
if ( 0 === ($woocommerce_loop['loop'] ) % $woocommerce_loop['columns'] )
$PHTclasses[] = 'last';
$PHTclasses[] = 'primary-product-block';
?>
我在你的 ifs 中添加了一些评论来解释它们
// Extra post classes
$PHTclasses = array();
// if iterator is evenly divisible by # columns, or if there is only one column, add "first"
if ( 0 === ($woocommerce_loop['loop']) % $woocommerce_loop['columns'] || 1 === $woocommerce_loop['columns'] )
$PHTclasses[] = 'first';
// if iterator is evenly divisible by # columns, add "last"
if ( 0 === ($woocommerce_loop['loop']) % $woocommerce_loop['columns'] )
$PHTclasses[] = 'last';
所以添加另一个类似的 if 块似乎是合乎逻辑的:
// if iterator is evenly divisible by 4
if ( 0 === ($woocommerce_loop['loop']) % 4 )
$PHTclasses[] = 'mynewclass';
请注意,模运算符%
返回除法运算的其余部分,因此如果它正在工作但没有获得“正确”的列集,请尝试将0
to更改为1
,2
或3
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句