نمایش محصولات مرتبط از یک ویژگی محصولات ووکامرس
اگر میخواهید محصولات مرتبط از یک ویژگی خاص که تعریف کردید نمایش داده بشه مثلا
جنس
برند
سازنده
و…
کافیه این کد رو بزارید انتهای فاکشن قالبتون و توی کد در قسمت pa_brands
به جای brands نام ویژگی خودتون رو بزارید.
دقت کنید _pa رو حف نکنید.
برای مثال اگر برند trust رو میخواید باید به صورت pa_trust بنویسید.
add_filter( ‘woocommerce_related_products’, ‘related_products_by_attribute_improved’, 10, 3 );
function related_products_by_attribute_improved( $related_posts, $product_id, $args ) {
$taxonomy = ‘pa_brands’; // Replace with your actual product attribute taxonomy
$term_slugs = wp_get_post_terms( $product_id, $taxonomy, [‘fields’ => ‘slugs’] );
if ( empty($term_slugs) ) {
return $related_posts;
}
$posts_args = array(
‘post_type’ => ‘product’,
‘ignore_sticky_posts’ => 1,
‘posts_per_page’ => 12,
‘post__not_in’ => array( $product_id ),
‘tax_query’ => array(
array(
‘taxonomy’ => $taxonomy,
‘field’ => ‘slug’,
‘terms’ => $term_slugs,
),
),
‘meta_query’ => array(
array(
‘key’ => ‘_stock_status’,
‘value’ => ‘instock’,
‘compare’ => ‘=’,
),
),
‘orderby’ => ‘rand’,
‘fields’ => ‘ids’,
);
$posts_ids = get_posts( $posts_args );
return count($posts_ids) > 0 ? $posts_ids : $related_posts;
}