@yantotal

W3 Total Cache и подсчет просмотра — как сделать?

Привет
Использую W3Total Cache для кеширования, на сайт за минут 10 приходит около 2-3 тысяч человек (пиками, 5-6 раз в день)
С этим плагином работает все замечательно, лагов нет. Но!
Используется функция
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);
    }

}

И она не работает при включенном кешировании. Какие есть способы обойти это?
  • Вопрос задан
  • 302 просмотра
Решения вопроса 1
@yantotal Автор вопроса
Решил с помощью Ajax
<script type="text/javascript">
        jQuery.ajax({
        type:'get',
        url:'wp-count.php',
        data:{'id':'<? echo get_the_ID(); ?>'},
        response:'text',
        success:function (data) {
            console.log(data);
        }
    });
</script>


<?
/** Sets up the WordPress Environment. */
require( dirname(__FILE__) . '/wp-load.php' );
$postID = $_GET['id'];
echo $postID;
if($postID>0) {
    $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');
        echo 'add_0';
    } else {
        $count++;
        update_post_meta($postID, $count_key, $count);
        echo 'add';
    }
}
?>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы