2016-02-02 5 views
2

В настоящее время у меня есть следующий блок кода.Обновление идентификатора на основе представлений

<?php 
$count = get_tptn_post_count_only($POST_ID); 
$rating_class = 'hot3'; 
     if($count >= 0 && $count <= 3) 
{ 
$rating_class = 'hot3'; 
} 
     elseif($count > 4 && $count <= 10) 
{ 
    $rating_class = 'hot2'; 
} 
     elseif($count > 11 && $count <= 20) 
{ 
    $rating_class = 'hot1'; 
} 
     elseif($count > 5000) 
{ 
    $rating_class = 'hot1'; 
} 
?> 

Теперь то, что я пытаюсь сделать, это отслеживать взгляды на мой пост, а затем, если их по телефонному номеру, указанному обновления изображения на моей странице индекса соответственно, как никогда не кажется, работает для чего-нибудь другого, то hot3 часть, которая является первым ярусом.

В настоящее время я основываю все отслеживание вида плагина под названием Top 10. Если вы заинтересованы в том, чтобы увидеть весь цикл, вы можете сделать это here.

EDIT: Plugin Settings.

также $totalcntaccess = get_tptn_post_count_only($id, 'total', $blog_id); внутри файла counter.php < - другая скрипка ссылка.

+1

Какова ценность '$ count'? – showdev

+0

, чтобы начать, вы пропускаете следующие значения; 4,11, 21-5000. Во-вторых, вы эхом отзываете '$ count', чтобы увидеть, что функция фактически возвращает? – davejal

+0

@davejal @snowdev '$ count' возвращает 0 по умолчанию каждый раз – Ritzy

ответ

0

Я не уверен, что вы пытаетесь сделать. Я даже не знаком с Wordpress (и я думаю, что это то, что вы используете). Но я обнаружил некоторые возможные ошибки в вашем коде:

У вас есть предмет if($count >= 0 && $count <= 3), а затем elseif($count > 4 && $count <= 10). В этом случае номер 4 не будет действительным номером. Ю. необходимо использовать $count >= 4 или $count > 3. Такая же ошибка действительна для чисел 11 и в диапазоне 21-5000.

Надеюсь, что эта помощь.

2

Обнаружено исправление без использования плагина выше и с помощью инструмента, который я нашел в каком-либо блоге, но с аналогичным методом.

functions.php (Source)

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 View"; 
    } 
    return $count.' Views'; 
} 
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); 
    } 
} 

// Remove issues with prefetching adding extra views 
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0); 

Установить это в индексе вашей single.php файл.

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

Тогда на вашей индексной петле сделайте это.

<?php 

$count = getPostViews(get_the_ID()); 
    $rating_class = 'hot3'; 
     if($count >= 0 && $count <= 1000) 
{ 
    $rating_class = 'hot3'; 
} 
     elseif($count > 1000 && $count <= 2500) 
{ 
    $rating_class = 'hot2'; 
} 
     elseif($count > 2500 && $count <= 5000) 
{ 
    $rating_class = 'hot1'; 
} 
     elseif($count > 5000) 
{ 
    $rating_class = 'hot1'; 
} 
print $count; 
?> 
Смежные вопросы