Поддержка Проблемы и решения Счетчик в цикле LOOP барахлит! Как исправить?

  • Добрый вечер

    Потихоньку собираю для своего будущего блога функциональные части, — случилась заминка на этапе Вывода Популярных Записей, на главной странице.

    Вывожу не плагином, а через функцию (хак). В этом решении есть счетчик <?php setPostViews(get_the_ID()); ?> , который надо вставить в single.php, в пределах цикла LOOP.

    Этот счетчик считает количество просмотров, а с помощью этого кода <?php echo get_post_meta($post->ID, 'post_views_count', true); ?> можно вывести результат (в цифрах), в нужном месте страницы (в моем случае, — на Главной).

    ПРОБЛЕМА (сбой, неполадка): При подсчете просмотров, вместо +1, делает +2. Т.е. изначально 0 просмотров — зашел на страницу, добавило +2 — еще раз обновил, опять +2 (уже 4) ну и т.д.
    ———————————————————
    Вот сам код, для анализа:

    — Прописываю в functions.php

    function setPostViews($postID) {
        $count_key = 'post_views_count';
        $count = get_post_meta($postID, $count_key, true);
        if($count==''){
            $count = 0;
            delete_post_meta($postID, $count_key);
            add_post_meta($postID, $count_key, '0');
        }else{
            $count++;
            update_post_meta($postID, $count_key, $count);
        }
    }
    function getPostViews($postID){
        $count_key = 'post_views_count';
        $count = get_post_meta($postID, $count_key, true);
        if($count==''){
            delete_post_meta($postID, $count_key);
            add_post_meta($postID, $count_key, '0');
            return "0";
        }
        return $count;
    }

    — Прописываю в single.php внутри цикла loop

    <?php setPostViews(get_the_ID()); ?>

    — Прописываю в index.php

    <?php
    $args = array( 'numberposts' => 5, 'meta_key' => 'post_views_count', 'orderby' => 'meta_value_num', 'order' => 'DESC' );
    query_posts($args);
    while ( have_posts() ) : the_post();
    ?>
    
    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
    <li><?php the_post_thumbnail ('thumbnail'); ?></li>
    <li>Автор: <?php the_author_link(); ?></li>
    <li>Текст записи:<?php the_content(); ?></li>
    <li>Количество Просмотров записи:<?php echo get_post_meta($post->ID, 'post_views_count', true); ?></li>
    <li>Количество Комментариев записи:<?php comments_number('пока нет комментариев', '1 комменатрий', '% комментариев'); ?></li>
    <li>Рубрика: <?php the_category(' '); ?> </li>
    <li>Метки:<?php the_tags(' ', ', ', '<br />'); ?> </li>
    <li>Дата:<?php the_date(); ?></li>
    <?php endwhile; wp_reset_query(); ?>

    Помогите разобраться, очень прошу! Это последний «технический штрих» в настройке и я могу переходить к оформлению (html css).

    Спасибо!

Просмотр 6 ответов — с 1 по 6 (всего 6)
  • Что никто не ведует как решить проблемы? Если просто время тратить не охота, могу заплатить…

    Рассчитываю на поддержку!

    Всем кто участвовал — спасибо! Все заработало!

    Думаю тему можно удалить…

    Max Human Столкнулся с такой же проблемой. Подскажи ее решение

    Вывожу не плагином, а через функцию (хак). В этом решении есть счетчик <?php setPostViews(get_the_ID()); ?> , который надо вставить в single.php, в пределах цикла LOOP.

    Этот счетчик считает количество просмотров, а с помощью этого кода <?php echo get_post_meta($post->ID, ‘post_views_count’, true); ?> можно вывести результат (в цифрах), в нужном месте страницы (в моем случае, — внизу каждой записи).

    ПРОБЛЕМА (сбой, неполадка): При подсчете просмотров, вместо +1, делает +2. Т.е. изначально 0 просмотров — зашел на страницу, добавило +2 — еще раз обновил, опять +2 (уже 4) ну и т.д.

    Вобщем проблема полностью обозначена и идентична выше. Там же написано, что решение было найдено.
    Какое же всё таки решение этой проблемы. Если она решена, так выложите. У меня ситуация немного другая. На локальной машине всё работает а на веб сервере удваивает. Уже голову сломал, никак не пойму в чём заморочка.
    Ссылка на сайт omedvet.ru

    Правильный вопрос — половина ответа!

    Код и ссылку на сайт вложите в пост, а так же ваши рассуждения.

    У меня ситуация немного другая.

    Поэтому читаем правила форума.

Просмотр 6 ответов — с 1 по 6 (всего 6)
  • Тема «Счетчик в цикле LOOP барахлит! Как исправить?» закрыта для новых ответов.