[WordPress] 外掛分享: Init View Count – AI-Powered, Trending, REST API

首頁外掛目錄 › Init View Count – AI-Powered, Trending, REST API
WordPress 外掛 Init View Count – AI-Powered, Trending, REST API 的封面圖片
100+
安裝啟用
★★★★★
5/5 分(3 則評價)
39 天前
最後更新
問題解決
WordPress 5.5+ PHP 7.4+ v1.19.3 上架:2025-06-16

內容簡介

Init View Count 是一款輕量級文章瀏覽次數追蹤外掛,透過 REST API 與 JavaScript 精準計算真實瀏覽量,內建 AI 流量模式學習與趨勢排行功能,適合重視效能與資料準確性的網站管理者。

【主要功能】
• 透過 REST API 與 JS 追蹤真實瀏覽次數
• 以 Session/Local Storage 防止重複計數
• 提供短代碼顯示瀏覽數、列表及分頁排行
• AI 智慧學習網站流量模式(時段與星期)
• 支援批次追蹤模式,降低高流量網站負載
• 控制台小工具即時監控熱門文章排行

外掛標籤

開發者團隊

⬇ 下載最新版 (v1.19.3) 或搜尋安裝

① 下載 ZIP → 後台「外掛 › 安裝外掛 › 上傳外掛」
② 後台搜尋「Init View Count – AI-Powered, Trending, REST API」→ 直接安裝(推薦)
📦 歷史版本下載

原文外掛簡介

Init View Count is a fast, clean plugin to track post views without clutter. It:

Uses REST API and JS to count real views
Prevents duplicate counts with session/local storage
Stores counts in meta keys like _init_view_count, _init_view_day_count, etc.
Provides [init_view_count] and [init_view_list] shortcodes
Includes [init_view_ranking] shortcode with tabbed ranking by time range
Supports template overrides (like WooCommerce)
Lightweight. No tracking, no admin bloat.
Includes REST API to query most viewed posts
Supports pagination in [init_view_list] via the page attribute
Batch view tracking support to reduce REST requests on busy sites
Optional strict IP-based filtering to block fake view requests posted directly to the REST endpoint
Includes a Dashboard widget to monitor top viewed posts directly in wp-admin
Learns site-wide traffic shape (hourly & weekday) via AI-powered smoothing
Shapes cached and updated efficiently with minimal overhead
Safe reset action to rebuild patterns automatically
Fully integrated with Trending Engine v3 for uplift-based scoring

This plugin is part of the Init Plugin Suite — a collection of minimalist, fast, and developer-focused tools for WordPress.
GitHub repository: https://github.com/brokensmile2103/init-view-count
Highlights

REST-first design — no jQuery or legacy Ajax
View tracking powered by time + scroll detection
Realtime display with optional animated counters
Fully theme-compatible with overrideable templates
Developer-friendly with rich filter support
Optional [init_view_ranking] shortcode for tabbed view by day/week/month/total
Assets are only loaded when needed – perfect for performance-conscious themes
Fully compatible with headless and SPA frameworks (REST-first + lazy)
Supports batch mode: delay view requests and send in groups (configurable in settings)
Includes optional Dashboard widget for quick admin overview of top viewed posts
AI-powered Traffic Shape Learner – understands your site’s hourly & weekly rhythm
Auto-integrated with Trending Engine v3 for seasonality-aware uplift detection
Smart fallbacks (day → week → month → total) ensure rankings never run empty
Ultra-light: only 1 write per increment + 1 rollup per day, cache-first design

Shortcodes
[init_view_count]
Shows current view count for a post. Only works inside a post loop.
Attributes:
– field: total (default), day, week, month – which counter to display
– format: formatted (default), raw, or short – controls number formatting
– time: true to show time diff from post date (e.g. “3 days ago”)
– icon: true to display a small SVG icon before the count
– schema: true to output schema.org microdata (InteractionCounter)
– class: add a custom CSS class to the outer wrapper
[init_view_list]
Show list of most viewed posts.
Attributes:
– number: Number of posts to show (default: 5)
– page: Show a specific page of results (default: 1)
– post_type: Type of post (default: post)
– template: sidebar (default), full, grid, details (can be overridden)
– title: Title above list. Set to empty (title="") to hide
– class: Custom class added to wrapper
– orderby: Sort field (default: meta_value_num)
– order: ASC or DESC (default: DESC)
– range: total, day, week, month, trending
– category: Filter by category slug
– tag: Filter by tag slug
– empty: Message to show if no posts found
[init_view_ranking]
Show tabbed ranking of most viewed posts. Uses REST API and JavaScript for dynamic loading. Optimized for SPA/headless usage.
Attributes:
– tabs: Comma-separated list of ranges. Available: total, day, week, month (default: all)
– number: Number of posts per tab (default: 5)
– class: Custom class for outer wrapper
This shortcode automatically enqueues required JS and uses skeleton loaders while fetching data.
REST API
This plugin exposes two REST endpoints to interact with view counts: one for recording views and another for retrieving top posts.
POST /wp-json/initvico/v1/count
Record one or more views. Accepts a single post ID or an array of post IDs.
Parameters:
– post_id — (int|array) Required. One or more post IDs to increment view count for.
This endpoint checks if the post is published, belongs to a supported post type, and applies delay/scroll config (via JavaScript). It updates total and optionally day/week/month view counters.
Note: The number of post IDs processed per request is limited based on the batch setting in plugin options.
GET /wp-json/initvico/v1/top
Retrieve the most viewed posts, ranked by view count.
Parameters:
– range — (string) total, day, week, month. Defaults to total.
– post_type — (string) Post type to query. Defaults to post.
– number — (int) Number of posts to return. Default: 5.
– page — (int) Pagination offset. Default: 1.
– fields — (string) minimal (id, title, link) or full (includes excerpt, thumbnail, type, date, etc.)
– tax — (string) Optional. Taxonomy slug (e.g. category).
– terms — (string) Comma-separated term slugs or IDs.
– no_cache — (bool) If 1, disables transient caching.
This endpoint supports filtering and caching, and can be extended to support custom output formats.
Filters for Developers
This plugin provides multiple filters to help developers customize behavior and output in both REST API and shortcode use cases.
init_plugin_suite_view_count_should_count
Allow or prevent counting views for a specific post.
Applies to: REST /count
Params: bool $should_count, int $post_id, WP_REST_Request $request
init_plugin_suite_view_count_meta_key
Change the meta key used to read or write view counts.
Applies to: REST & Shortcodes
Params: string $meta_key, int|null $post_id
init_plugin_suite_view_count_after_counted
Run custom logic after view count has been incremented.
Applies to: REST /count
Params: int $post_id, array $updated, WP_REST_Request $request
init_plugin_suite_view_count_api_top_args
Customize WP_Query arguments used for /top endpoint.
Applies to: REST /top
Params: array $args, WP_REST_Request $request
init_plugin_suite_view_count_api_top_item
Modify each item before it’s returned in the /top response.
Applies to: REST /top
Params: array $item, WP_Post $post, WP_REST_Request $request
init_plugin_suite_view_count_api_top_cache_time
Adjust cache time (in seconds) for /top results.
Applies to: REST /top
Params: int $ttl, WP_REST_Request $request
init_plugin_suite_view_count_top_post_types
Customize the list of post types returned by the /top endpoint.
Applies to: REST /top
Params: array $post_types, WP_REST_Request $request
init_plugin_suite_view_count_query_args
Filter WP_Query args for [init_view_list] shortcode.
Applies to: [init_view_list]
Params: array $args, array $atts
init_plugin_suite_view_count_empty_output
Customize the HTML output when no posts are found.
Applies to: [init_view_list]
Params: string $output, array $atts
init_plugin_suite_view_count_view_list_atts
Modify shortcode attributes before WP_Query is run.
Applies to: [init_view_list]
Params: array $atts
init_plugin_suite_view_count_default_shortcode
Customize the default shortcode used when auto-inserting view count into post content.
Applies to: [init_view_count] auto-insert
Params: string $shortcode
init_plugin_suite_view_count_auto_insert_enabled
Control whether auto-insert is enabled for a given context.
Applies to: [init_view_count] auto-insert
Params: bool $enabled, string $position, string $post_type
init_plugin_suite_view_count_engagement_meta_keys
Change the meta keys used to retrieve like and share counts when calculating engagement quality.
Applies to: Engagement algorithm
Params: array $meta_keys (likes, shares), int $post_id
init_plugin_suite_view_count_trending_post_types
Override the list of post types used by the Trending cron calculation.
Applies to: Cron Trending
Params: array $post_types
init_plugin_suite_view_count_trending_component_weights
Adjust weights for Trending score components.
Applies to: Trending algorithm
Params: array $weights (velocity, engagement, freshness, momentum)
Template Override
To customize output layout, copy any template file into your theme:
Example: your-theme/init-view-count/view-list-grid.php
License
This plugin is licensed under the GPLv2 or later.
You are free to use, modify, and distribute it under the same license.

延伸相關外掛

文章
Filter
Apply Filters
Mastodon