Merhaba, PHP ile bu yorumları çekip ana sayfada sliderde göstermek mümkündür. Biraz kod bilgisi gerektirebilir.
Aşağıdaki kodu temanızın functions.php dosyasına koyun
function product_reviews_slider_shortcode() {
ob_start();
$args = array(
'status' => 'approve',
'post_type' => 'product',
'number' => 10 // Gösterilecek yorum sayısı
);
$comments = get_comments($args);
if ($comments) : ?>
<div class="review-slider">
<?php foreach ($comments as $comment) :
$rating = get_comment_meta($comment->comment_ID, 'rating', true); ?>
<div class="review-item">
<div class="review-content">
<div class="rating">
<?php echo wc_get_rating_html($rating); ?>
</div>
<p class="comment-text"><?php echo $comment->comment_content; ?></p>
<p class="reviewer">- <?php echo $comment->comment_author; ?></p>
<p class="product-name">
<?php
$product = wc_get_product($comment->comment_post_ID);
echo '(' . $product->get_name() . ')';
?>
</p>
</div>
</div>
<?php endforeach; ?>
</div>
<style>
.review-slider {
max-width: 800px;
margin: 0 auto;
padding: 20px;
}
.review-item {
padding: 15px;
margin: 10px;
background: #fff;
border: 1px solid #ddd;
border-radius: 5px;
}
.reviewer {
font-weight: bold;
margin-top: 10px;
}
.product-name {
font-style: italic;
color: #666;
}
</style>
<script>
jQuery(document).ready(function($){
$('.review-slider').slick({
dots: true,
infinite: true,
speed: 500,
slidesToShow: 1,
adaptiveHeight: true,
autoplay: true,
autoplaySpeed: 3000
});
});
</script>
<?php endif;
return ob_get_clean();
}
add_shortcode('product_reviews_slider', 'product_reviews_slider_shortcode');Aşağıdakileri header.php içine
<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css"/>
<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick-theme.css"/>
<script type="text/javascript" src="//cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.min.js"></script>
Aşağıdakini de ana sayfanızda kullanın. Nerede görünsün istiyorsanız.
[product_reviews_slider]