[英]Woocommerce get product that is in multiple categories
我正在為woocommerce網站上的每個類別設置隨機縮略圖。 默認情況下,會分配一個占位符,但是您可以通過在儀表板中上載/分配圖像來覆蓋它。
例如,我想做的是,“ Mens”是我的父類別,“ Jeans”是我的子類別。 因此,我希望散布“男士>>牛仔褲”類別中某物品的隨機圖像。....我希望這是有道理的。
我現在想出的是這個(在我的wc_template_functions.php文件中)
args = array( 'post_type' => 'product', 'posts_per_page' => 1, 'product_cat' => $category->name, 'orderby' => 'rand' );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) { $loop->the_post();}{
$image = print_r(get_the_post_thumbnail($loop->post->ID, 'shop_catalog'));}
$image = $image[0];
$image = apply_filters( 'woocommerce_placeholder_img_src',$image[0] );
這正在生成圖像,但是我遇到的問題是,例如,我在父類別“ Mens”和“ Womens”下擁有“ Jeans”,所顯示的圖片完全忽略了它在“ Mens”還是“ Womens”中類別。 因此,我在“男裝>>牛仔褲”中獲得了女裝牛仔褲的圖像。
我需要做的是能夠指定兩個類別,“牛仔褲”和“男士”,但是我不確定如何做到這一點。 有人告訴我,因為產品不是帖子,所以我無法指定產品類別名稱,我必須使用分類法嗎?
有人可以幫我指出正確的方向嗎?
干杯克里斯
這是您的操作方式:
$query_args = array(
'post_status' => 'publish',
'post_type' => 'product',
'tax_query' => array(
array(
'taxonomy' => 'product_cat',
'field' => 'id',
'terms' => array( 27, 25 ),
'operator' => 'AND'
)
)
);
$loop = new WP_Query($query_args);
while ($loop->have_posts() )
{
//Setup post data
$loop->the_post();
echo get_the_title();
}
這將獲得ID分別為25和27的兩個類別的產品。如果您寧願由來指定,也可以使用'field'=>'slug'´ +,但是在這種情況下,我認為使用ID可以使查詢更快。
<a href="<?php echo get_permalink( $loop->post->ID ) ?>" title="<?php echo esc_attr($loop->post->post_title ? $loop->post->post_title : $loop->post->ID); ?>">
<?php woocommerce_show_product_sale_flash( $post, $product ); ?>
<?php if (has_post_thumbnail( $loop->post->ID )) echo get_the_post_thumbnail($loop->post->ID, 'shop_catalog'); else echo '<img src="'.woocommerce_placeholder_img_src().'" alt="Placeholder" width="300px" height="300px" />'; ?>
<h3><?php the_title(); ?></h3>
<?php endwhile; ?>
<?php wp_reset_query(); ?>
<a href="<?php echo get_permalink( $loop->post->ID ) ?>" title="<?php echo esc_attr($loop->post->post_title ? $loop->post->post_title : $loop->post->ID); ?>">
<?php woocommerce_show_product_sale_flash( $post, $product ); ?>
<?php if (has_post_thumbnail( $loop->post->ID )) echo get_the_post_thumbnail($loop->post->ID, 'shop_catalog'); else echo '<img src="'.woocommerce_placeholder_img_src().'" alt="Placeholder" width="300px" height="300px" />'; ?>
<?php endwhile; ?>
<?php wp_reset_query(); ?>
<h3><?php the_title(); ?></h3>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.