开发者 | brokensmile.2103 |
---|---|
更新时间 | 2025年6月26日 18:28 |
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.
icon="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