• 01-01-2025, 11:50:23
    #1
    Merhaba arkadaşlar,
    Woocommerce ürünlerine yapılan yorumların anasayfada slider şeklinde gösterebileceğim yöntem arıyorum.
    Sizce ne yapmalıyım?
  • 01-01-2025, 12:51:15
    #2
    fatbotter.com
    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]
  • 01-01-2025, 14:52:13
    #3
    Bu dediğinizi daha önceden yapmıştın hata veriyordu. Başka çözüm yöntemine ihtiyacım var