Php 如何在Woocommerce中为类别归档页面中的每个产品获取唯一的div设置和类?
如何在woocommerce中为每个产品创建具有单独div和类的自定义类别归档页面 在woocommerce文件content-product.php中,我有以下代码:Php 如何在Woocommerce中为类别归档页面中的每个产品获取唯一的div设置和类?,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,如何在woocommerce中为每个产品创建具有单独div和类的自定义类别归档页面 在woocommerce文件content-product.php中,我有以下代码: global $product; // Ensure visibility. if ( empty( $product ) || ! $product->is_visible() ) { return; } ?> <div <?php wc_product_class(); ?>>
global $product;
// Ensure visibility.
if ( empty( $product ) || ! $product->is_visible() ) {
return;
}
?>
<div <?php wc_product_class(); ?>>
<div class="columns">
<div class="column is-one-third">
<?php
/**
* Hook: woocommerce_before_shop_loop_item.
*
* @hooked woocommerce_template_loop_product_link_open - 10
*/
do_action( 'woocommerce_before_shop_loop_item' );
/**
* Hook: woocommerce_before_shop_loop_item_title.
*
* @hooked woocommerce_show_product_loop_sale_flash - 10
* @hooked woocommerce_template_loop_product_thumbnail - 10
*/
do_action( 'woocommerce_before_shop_loop_item_title' );
/**
*
* close link
*/
do_action( 'woocommerce_shop_loop_close_link' );
?>
</div>
<div class="column">
<?php
/**
* Hook: woocommerce_before_shop_loop_item.
*
* @hooked woocommerce_template_loop_product_link_open - 10
*/
do_action( 'woocommerce_before_shop_loop_item' );
/**
* Hook: woocommerce_shop_loop_item_title.
*
* @hooked woocommerce_template_loop_product_title - 10
*/
do_action( 'woocommerce_shop_loop_item_title' );
/**
* Hook: woocommerce_after_shop_loop_item_title.
*
* @hooked woocommerce_template_loop_rating - 5
* @hooked woocommerce_template_loop_price - 10
*/
do_action( 'woocommerce_after_shop_loop_item_title' );
/**
* Hook: woocommerce_after_shop_loop_item.
*
* @hooked add to cart
*/
do_action( 'woocommerce_after_shop_loop_item' );
/**
*
* close link
*/
do_action( 'woocommerce_shop_loop_close_link' );
?>
</div>
</div>
</div>
global$产品;
//确保能见度。
如果(空($product)| |!$product->is_visible()){
返回;
}
?>
当我复制这段代码并更改类时,它只会将每个产品显示两次
我花了很多时间在任何地方都找不到答案
我想要的就是能够得到这样的结果:
<!-- First product -->
<div class="columns">
<div class="column custom-class-1">
Here first product codes
</div>
<div class="custom-class-something">
Custom codes
</div>
</div>
<!-- Second product -->
<div class="columns">
<div class="custom-class-something-else">
Custom codes
</div>
<div class="column custom-class-2">
Here second product codes
</div>
</div>
这里是第一个产品代码
自定义代码
自定义代码
这里是第二个产品代码
依此类推,I plan 6或7产品可以循环,使其成为页面上的12/14产品。我为每个产品编辑设置唯一类的代码。我获取产品id并使用它创建自定义类名,如果您的产品id为149,则每个产品列的类名变为
product-149
:
global $product;
// Ensure visibility.
if ( empty( $product ) || ! $product->is_visible() ) {
return;
}
$first_custom_class = 'product-' . $product->get_id();
$second_custom_class = 'custom-code-' . $product->get_id();
?>
<div <?php wc_product_class(); ?>>
<div class="columns">
<div class="column is-one-third <?php echo esc_attr($first_custom_class); ?>">
<?php
/**
* Hook: woocommerce_before_shop_loop_item.
*
* @hooked woocommerce_template_loop_product_link_open - 10
*/
do_action( 'woocommerce_before_shop_loop_item' );
/**
* Hook: woocommerce_before_shop_loop_item_title.
*
* @hooked woocommerce_show_product_loop_sale_flash - 10
* @hooked woocommerce_template_loop_product_thumbnail - 10
*/
do_action( 'woocommerce_before_shop_loop_item_title' );
/**
*
* close link
*/
do_action( 'woocommerce_shop_loop_close_link' );
?>
</div>
<div class="column <?php echo esc_attr($second_custom_class); ?>">
<!-- YOUR CUSTOM CODES-->
</div>
</div>
</div>
global$产品;
//确保能见度。
如果(空($product)| |!$product->is_visible()){
返回;
}
$first_custom_class='product-'$产品->获取_id();
$second_custom_class='custom code-'$产品->获取_id();
?>
好的,我找到了溶液,并在这里的另一个问题中描述了它:
谢谢。这接近我想要的,但我发现我没有问一个恰当的问题。我想要一个包含六七个类的循环,这些类将在一个循环中重复。另外,如果可能的话,自定义代码类列希望它位于产品列之后,在下一个colmuns div中,我希望它切换位置,并且自定义代码列位于产品列之前。并为其他每列div切换一次。
<!-- First product with id 149-->
<div class="columns">
<div class="column product-149">
Here first product codes
</div>
<div class="custom-code-149">
Custom codes
</div>
</div>
<!-- Second product with id 150-->
<div class="columns">
<div class="column product-150">
Here second product codes
</div>
<div class="custom-code-150">
Custom codes
</div>
</div>