Введите часть искомого слова, названия или фразы...
↑ ↓
  1. Новые темы озаглавленные с маленькой буквы - удаляются без предупреждения!
  2. Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!

Поиск и выведение Id товара в php

Тема в разделе "Вопросы новичков", создана пользователем egmalt, 24 июл 2014.

  1. egmalt

    egmalt

    Сообщения:
    2
    Симпатии:
    1
    Баллы:
    1
    Друзья!

    Очень простой вопрос, над которым мучаюсь уже пол дня из-за отсутствия знаний php. Как мне в этом слайдере отзывов (код под спойлером) определить id товара? Сейчас он выводит последние отзывы, которые есть на сайте, а мне необходимо, чтобы он выводил отзывы только под конкретный товар.

    P.s. знаю, что нужно поменять только лишь верхнюю строчку, но не знаю как!

    Код:
    <?php
    
    $id = ( isset($id) ) ? (int) $id : 0;
    $show_avatar = ( isset($show_avatar) && $show_avatar == 'no' ) ? 'yes' : 'no';
    $show_rating = ( isset($show_rating) && $show_rating == 'yes' ) ? 'yes' : 'no';
    $items = ( isset($items) && $items != '' ) ? $items : 10;
    
    
    $args = array(
        'status' => 'approve',
        'post_status' => 'publish',
        'order' => 'DESC',
        'number' => $items
    );
    
    if( $id != 0 ) {
        $args['post_id'] = $id;
    } else {
        $args['post_type'] = 'product';
    }
    
    $reviews = get_comments($args);
    ?>
    <div class="sc-review">
        <?php if( !empty( $title ) ) {
            if( !empty($review_icon_title)) { yit_image("src=$review_icon_title"); }
            yit_string( '<h3 class="title">', yit_decode_title($title), '</h3>' );
        }
    
        if( !empty( $description ) ) { yit_string( '<p class="desc">', $description, '</p>' ); }
    
        ?>
    </div>
    <div class="comment_container comment-flexslider">
        <ul class="slides">
            <?php foreach ( $reviews as $review ) : ?>
                <li>
                    <?php if ( $show_avatar == 'yes' ) :
                        echo get_avatar( $review->comment_author, $size='70' );
                    endif ?>
    
                    <div class="comment-text woocommerce <?php if ( $show_avatar == 'no' ) : ?>no-avatar<?php endif ?>">
    
                        <div itemprop="description" class="descriptionNew"><?php echo $review->comment_content ?></div>
    
                        <p class="meta">
                            <span itemprop="author"><?php echo $review->comment_author; _e( ' on ', 'yit' ) ?> <a href="<?php echo get_permalink( $review->ID ) ?>"><?php echo $review->post_title; ?></a></span>
                            <?php if ( $show_rating == 'yes' ) :
                                $rating = esc_attr( get_comment_meta( $review->comment_ID, 'rating', true ) ) ?>
                                <span class="star-rating" title="<?php echo sprintf(__( 'Rated %d out of 5', 'woocommerce' ), $rating) ?>">
                                    <span style="width:<?php echo ( intval( get_comment_meta( $review->comment_ID, 'rating', true ) ) / 5 ) * 100; ?>%"><strong itemprop="ratingValue"><?php echo intval( get_comment_meta( $review->comment_ID, 'rating', true ) ); ?></strong> <?php _e( 'out of 5', 'woocommerce' ); ?></span>
                                </span>
                            <?php endif; ?>
                        </p>
    
                        <div class="clear"></div>
                    </div>
                    <div class="clear"></div>
                </li>
            <?php endforeach; ?>
        </ul>
    </div>
    
    <script type="text/javascript">
        jQuery(function($){
            var anim = $.browser.msie || $.browser.opera ? 'fade' : 'slide';
            $('.comment-flexslider').flexslider({
                animation : anim,
                slideshowSpeed: <?php echo (isset($timeout)) ? $timeout : 3000 ?>,
                animationSpeed: <?php echo (isset($speed)) ? $speed : 400 ?>,
                touch: false,
                controlNav: false,
                directionNav: true
            });
        });
    </script>
    
     
  2. D&B

    D&B Администратор Команда форума Местный

    Сообщения:
    3.273
    Симпатии:
    724
    Баллы:
    113
    Вообще ID так же как и у записей, только не путайте с артикулом.
    Image 2.jpg
     
  3. egmalt

    egmalt

    Сообщения:
    2
    Симпатии:
    1
    Баллы:
    1
    Так не вручную же его прописывать :)

    Спасибо, помогли на ru.forum.wordpress.ru. Надо было $id в первой строчке присвоить get_the_ID(), т.е. должно получиться
    Код:
    $id = ( isset($id) ) ? (int) $id : get_the_ID();
    и тогда слайдер отзывов выводит отзывы только для конкретного товара.
     
    • Нравится Нравится x 1