开发者 | brokensmile.2103 |
---|---|
更新时间 | 2025年8月20日 01:27 |
PHP版本: | 7.4 及以上 |
WordPress版本: | 6.8 |
版权: | GPLv2 or later |
版权网址: | 版权信息 |
_init_view_count
, _init_view_day_count
, etc.[init_view_count]
and [init_view_list]
shortcodes[init_view_ranking]
shortcode with tabbed ranking by time range[init_view_list]
via the page
attribute/wp-content/plugins/init-view-count/
[init_view_count]
or [init_view_list]
in your content= Can I customize the layout of the list? =\
Yes. Use the template
attribute in [init_view_list]
(e.g. template="grid"
), and override the corresponding file in your theme like WooCommerce templates.
= Does it work with custom post types? =\
Yes. Just set post_type="your_custom_type"
in the shortcode or REST query.
= How does it avoid duplicate views? =\
Init View Count uses both time delay and scroll detection via JavaScript, and stores viewed post IDs in either sessionStorage or localStorage (your choice).
= Is the view count updated immediately? =\
Yes. When the scroll+delay conditions are met, the count is updated via REST API and saved using update_post_meta()
.
= What meta key is used to store views? =\
By default:
_init_view_count
(total)_init_view_day_count
_init_view_week_count
_init_view_month_count
\
These keys can be changed via the init_plugin_suite_view_count_meta_key
filter.
Trending scores are calculated separately and stored in a transient.
= Can I display view counts in my template manually? =\
Yes. Use get_post_meta($post_id, '_init_view_count', true)
or similar keys. Or use [init_view_count]
shortcode in post content./top
) are cached using transients.
= Can I use it in block editor / Gutenberg? =\
Yes. Just insert a Shortcode block and paste [init_view_count]
or [init_view_list]
as needed.
= Does it track bots? =\
No. Since counting only happens after scroll and delay via JavaScript, bots like Googlebot are naturally excluded.
= Can I sort posts by views in WP_Query? =\
Yes. Use 'meta_key' => '_init_view_count'
and 'orderby' => 'meta_value_num'
in your WP_Query
args.
Yes. You can enable batch view tracking in the plugin settings. Instead of sending one request per view, views will be stored in the browser and sent in a group once the threshold is reached.
init_plugin_suite_view_count_site_traffic_shape
provides current hour/day shape arraysinit_plugin_suite_view_count_shape_collect_enabled
allows enabling/disabling collectioninit_plugin_suite_view_count_shape_reset
to clear all learned shape dataviews_day_used
and fallback flags for transparencyinit_plugin_suite_view_count_trending_debug_row
available for developers to log detailed trending rowsinit_plugin_suite_view_count_trending_component_weights
, init_plugin_suite_view_count_meta_key
)init_plugin_suite_view_count_trending_post_types
– limit/override post types (e.g., only manga
)init_plugin_suite_view_count_trending_component_weights
– adjust weights for velocity, engagement, freshness, momentumattachment
, safe fallback when emptyinit_plugin_suite_view_count_top_post_types
filter to allow overriding post_type
in top view REST API routemanga
, article
, etc.)[init_view_count]
now supports id="..."
attribute to display the view count of any post (not just the current one)id
is omitted, the current post will be used as before[init_view_ranking]
now supports post_type="..."
to filter rankings by custom post typeranking.js
updated to pass post_type
to REST API and cache results per tab and typeinit_plugin_suite_view_count_human_time_diff()
in favor of core human_time_diff()
[init_view_count]
shortcode to use native human_time_diff()
for publishing time displayhuman_time_diff()
instead of removed custom functionicon="true"
attribute to [init_view_count]
shortcode to display inline SVG before the view countschema="true"
attribute to [init_view_count]
to output Schema.org microdata (InteractionCounter
)class="custom-class"
attribute to allow injecting custom CSS classes into the shortcode wrapperinit_plugin_suite_view_count_default_shortcode
allows developers to override default auto-insert outputinit_plugin_suite_view_count_auto_insert_enabled
gives control over whether auto-insert is active per contextmatch
expressions with backwards-compatible logic using array maps and switchesinit_plugin_suite_view_count_meta_key
and template behavior[init_view_list]
, and [init_view_count]
shortcodesinit-shortcode-builder.js
with full shortcode configuration UI[init_view_list]
, [init_view_ranking]
, and [init_view_count]
shortcodesInitViewCountShortcodeBuilder.i18n
range=trending
support added to /top
REST endpoint with built-in sorting and pagination[init_view_list range="trending"]
now fetches trending posts[init_view_ranking]
shortcode to display tabbed ranking UI by day/week/month/all-timestyle.css
style.css
earlier to avoid being printed in the footerinit_plugin_suite_view_count_meta_key
consistently across REST API, shortcodes, and background taskspage
parameter to /top
REST endpoint for paginationpage
attribute to [init_view_list]
shortcode for paginated lists