Сложно ли прикрутить куки и как?
Создал счетчик просмотров категории на основе СЧЕТЧИК ПОСТОВ и добавил mu-plugins
/**** Подсчет количества посещений страниц */ add_action('wp_head', 'kolshix_catviews'); function kolshix_catviews() { $meta_key = 'views_cat'; // Ключ мета поля, куда будет записываться количество просмотров. $who_count = 0; // Чьи посещения считать? 0 - Всех. 1 - Только гостей. 2 - Только зарегистрированных пользователей. $exclude_bots = 1; // Исключить ботов, роботов, пауков и прочую нечесть :)? 0 - нет, пусть тоже считаются. 1 - да, исключить из подсчета. global $user_ID, $wp_query; $cat_obj = $wp_query->get_queried_object(); $cat_id = $cat_obj->term_id; // считать только рубрики нижнего уровня $cat_data = get_categories( array( 'parent' => $cat_id, 'order' =>'ASC', 'exclude' =>'1', 'hide_empty' => 0 ) ); if(is_archive() && empty($cat_data)) { $id = (int)$cat_id; static $cat_views = false; if($cat_views) return true; // чтобы 1 раз за поток $cat_views = (int)get_term_meta( $id, $meta_key, true ); $should_count = false; switch( (int)$who_count ) { case 0: // if( (int)$user_ID !== 1 ) /* АДМИНа не считать */ $should_count = true; break; case 1: if( (int)$user_ID == 0 ) $should_count = true; break; case 2: if( (int)$user_ID > 0 ) $should_count = true; break; } if( (int)$exclude_bots==1 && $should_count ){ $useragent = $_SERVER['HTTP_USER_AGENT']; $notbot = "Mozilla|Opera"; //Chrome|Safari|Firefox|Netscape - все равны Mozilla $bot = "Bot/|robot|Slurp/|yahoo"; //Яндекс иногда как Mozilla представляется if ( !preg_match("/$notbot/i", $useragent) || preg_match("!$bot!i", $useragent) ) $should_count = false; } if($should_count){ if( !update_term_meta($id, $meta_key, ($cat_views+1)) ){ add_term_meta($id, $meta_key, 1, true); } } } return true; }