[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f9lFMNEaN_rN8n0lEJ-8cR2xRptH6dj6i9GL08-GwtgE":3},{"slug":4,"display_name":5,"profile_url":6,"plugin_count":7,"total_installs":8,"avg_security_score":9,"avg_patch_time_days":10,"trust_score":11,"computed_at":12,"plugins":13},"brokensmile2103-1","Init HTML","https:\u002F\u002Fprofiles.wordpress.org\u002Fbrokensmile2103-1\u002F",12,710,100,30,94,"2026-04-04T06:52:36.592Z",[14,37,55,72,89,106,122,137,151,168,184,200],{"slug":15,"name":16,"version":17,"author":5,"author_profile":6,"description":18,"short_description":19,"active_installs":9,"downloaded":20,"rating":9,"num_ratings":21,"last_updated":22,"tested_up_to":23,"requires_at_least":24,"requires_php":25,"tags":26,"homepage":32,"download_link":33,"security_score":9,"vuln_count":34,"unpatched_count":34,"last_vuln_date":35,"fetched_at":36},"init-live-search","Init Live Search – AI-Powered, Related Posts, Slash Commands","1.8.9","\u003Cp>Deliver an ultra-responsive search experience to your visitors — no page reloads, no jQuery, no lag. Init Live Search is a modern, lightweight, and fully accessible live search solution for WordPress — now with tag-aware matching, SEO metadata support, ACF integration, WooCommerce product filters, and customizable UI presets.\u003C\u002Fp>\n\u003Cp>It replaces the default \u003Ccode>\u003Cinput name=\"s\">\u003C\u002Fcode> with a clean, intuitive search modal powered entirely by the WordPress REST API. Everything loads in real-time — with zero disruption to browsing flow.\u003C\u002Fp>\n\u003Cp>Perfect for content-heavy blogs, WooCommerce stores, or even headless sites. Every interaction is fast, fluid, and designed to work across devices.\u003C\u002Fp>\n\u003Cp>It also brings AI-powered related posts and an advanced keyword generator — giving your visitors smarter ways to discover content.\u003C\u002Fp>\n\u003Cp>This plugin is part of the \u003Ca href=\"https:\u002F\u002Fen.inithtml.com\u002Finit-plugin-suite-minimalist-powerful-and-free-wordpress-plugins\u002F\" rel=\"nofollow ugc\">Init Plugin Suite\u003C\u002Fa> — a collection of minimalist, fast, and developer-focused tools for WordPress.\u003C\u002Fp>\n\u003Cp>GitHub repository: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbrokensmile2103\u002Finit-live-search\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002Fbrokensmile2103\u002Finit-live-search\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>What’s New in Version 1.8.x\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>AI-Powered Related Posts\u003C\u002Fstrong>: brand new \u003Ccode>[init_live_search_related_ai]\u003C\u002Fcode> shortcode\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Uses multi-signal scoring (tags, series, title bigrams, same_keyword via ACF, category, views, comments, freshness)  \u003C\u002Fli>\n\u003Cli>Shares templates with \u003Ccode>[init_live_search_related_posts]\u003C\u002Fcode> (no extra styling needed)  \u003C\u002Fli>\n\u003Cli>Fully filterable via new developer hooks: \u003Ccode>ai_candidates\u003C\u002Fcode>, \u003Ccode>ai_signals\u003C\u002Fcode>, \u003Ccode>ai_weights\u003C\u002Fcode>, \u003Ccode>ai_score\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Advanced Keyword Generator\u003C\u002Fstrong>: upgraded algorithm for admin keyword suggestions\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Replaced TF-IDF with \u003Cstrong>BM25\u003C\u002Fstrong> term weighting  \u003C\u002Fli>\n\u003Cli>Added \u003Cstrong>NPMI\u003C\u002Fstrong> (fixed probability base) and \u003Cstrong>Log-Likelihood Ratio (Dunning)\u003C\u002Fstrong> for collocation strength  \u003C\u002Fli>\n\u003Cli>Generates \u003Cstrong>bigrams and trigrams\u003C\u002Fstrong> for richer, more specific keyword suggestions  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Cross-document frequency penalty\u003C\u002Fstrong> down-ranks phrases that are too generic across the site  \u003C\u002Fli>\n\u003Cli>\u003Cstrong>MMR (Maximal Marginal Relevance)\u003C\u002Fstrong> selection ensures diverse, non-redundant final keywords  \u003C\u002Fli>\n\u003Cli>Title-only source: clean signal, no excerpt noise, works reliably across all site types  \u003C\u002Fli>\n\u003Cli>Unicode-safe, locale-aware stop words (Vietnamese & English), and soft fallback mode\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>404 Smart Redirect\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Added “Auto Redirect 404 to Best Match” mode driven by Init Live Search scoring\u003C\u002Fli>\n\u003Cli>Fully respects “Post Types to Include” settings\u003C\u002Fli>\n\u003Cli>Uses unified resolver + filters for extensible post-type handling\u003C\u002Fli>\n\u003Cli>Safety checks to avoid loops, invalid targets, and cross-type mismatches\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Developer Filters Expansion\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>New filters added for AI related posts and keyword signals  \u003C\u002Fli>\n\u003Cli>Complete list now includes over 20 filters (\u003Ccode>*_fallback\u003C\u002Fcode>, \u003Ccode>*_post_ids\u003C\u002Fcode>, \u003Ccode>*_results\u003C\u002Fcode>, \u003Ccode>*_weights\u003C\u002Fcode>, \u003Ccode>*_commands\u003C\u002Fcode>, etc.)  \u003C\u002Fli>\n\u003Cli>Developers can hook into candidate pools, signal scores, and schema output with fine-grained control\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Performance Optimizations\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Smarter candidate pooling for related posts (recent + context-based)  \u003C\u002Fli>\n\u003Cli>Pre-cached scoring loop for AI signals to minimize queries  \u003C\u002Fli>\n\u003Cli>Safer regex handling in keyword processing to avoid PCRE errors  \u003C\u002Fli>\n\u003Cli>Reduced memory footprint in bigram statistics without sacrificing accuracy\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Backward Compatible Enhancements\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>[init_live_search_related_posts]\u003C\u002Fcode> and \u003Ccode>[init_live_search_related_ai]\u003C\u002Fcode> now share the same rendering pipeline  \u003C\u002Fli>\n\u003Cli>Existing templates, schema, and CSS continue to work without modification  \u003C\u002Fli>\n\u003Cli>Auto insert related posts still works and can be switched to AI mode via shortcode override\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cp>Packed with everything a modern live search needs — and more:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Live search via REST API (no admin-ajax, no jQuery)\u003C\u002Fli>\n\u003Cli>Smart tag-aware search mode (title + tag match)\u003C\u002Fli>\n\u003Cli>SEO metadata support: Yoast, Rank Math, AIOSEO, SEOPress, TSF\u003C\u002Fli>\n\u003Cli>ACF field matching and customizable filters\u003C\u002Fli>\n\u003Cli>Synonym expansion with fallback scoring logic\u003C\u002Fli>\n\u003Cli>Slash commands: \u003Ccode>\u002Frecent\u003C\u002Fcode>, \u003Ccode>\u002Fpopular\u003C\u002Fcode>, \u003Ccode>\u002Ftag\u003C\u002Fcode>, \u003Ccode>\u002Fid\u003C\u002Fcode>, \u003Ccode>\u002Fsku\u003C\u002Fcode>, \u003Ccode>\u002Fprice\u003C\u002Fcode>, \u003Ccode>\u002Fcoupon\u003C\u002Fcode>, etc.\u003C\u002Fli>\n\u003Cli>WooCommerce support: search by product, SKU, brand, attribute, variation, coupon\u003C\u002Fli>\n\u003Cli>Clean modal UI with keyboard navigation (\u003Ccode>\u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">↑\u003C\u002Fspan> \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">↓\u003C\u002Fspan> Enter Esc\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>Optional voice input (SpeechRecognition)\u003C\u002Fli>\n\u003Cli>Tooltip Quick Search (select text to trigger)\u003C\u002Fli>\n\u003Cli>Favorites system via heart icon or \u003Ccode>\u002Ffav\u003C\u002Fcode> commands\u003C\u002Fli>\n\u003Cli>Infinite scroll and smart category filter (no extra API)\u003C\u002Fli>\n\u003Cli>Deep linking: \u003Ccode>?modal=search&term=...\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>New \u003Ccode>[init_live_search]\u003C\u002Fcode> shortcode: insert input or icon anywhere\u003C\u002Fli>\n\u003Cli>UI presets: default, fullscreen, topbar — with full CSS override\u003C\u002Fli>\n\u003Cli>Local caching + analytics (CSV export, no personal data)\u003C\u002Fli>\n\u003Cli>Developer-ready: custom slash commands, REST filters, JS hooks\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Dark Mode Support\u003C\u002Fh3>\n\u003Cp>Enable dark mode for the modal by either:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\n\u003Cp>Adding the dark class:\u003C\u002Fp>\n\u003Cp>document.querySelector(‘#ils-modal’)?.classList.add(‘dark’);\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Or using a global config:\u003C\u002Fp>\n\u003Cp>window.InitPluginSuiteLiveSearchConfig = { theme: ‘dark’ };\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Options: \u003Ccode>dark\u003C\u002Fcode>, \u003Ccode>light\u003C\u002Fcode>, \u003Ccode>auto\u003C\u002Fcode>\u003C\u002Fp>\n\u003Ch3>Admin Settings\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Choose post types to include in search  \u003C\u002Fli>\n\u003Cli>Configure modal triggers (input focus, triple click, Ctrl+\u002F)  \u003C\u002Fli>\n\u003Cli>Enable slash commands (e.g. \u002Frecent, \u002Ftag, \u002Fid)  \u003C\u002Fli>\n\u003Cli>Enable support for \u003Ccode>+\u003C\u002Fcode> and \u003Ccode>-\u003C\u002Fcode> keyword operators (must-have, must-not-have)  \u003C\u002Fli>\n\u003Cli>Set default slash command to run on modal open (only if slash is enabled)   \u003C\u002Fli>\n\u003Cli>Set debounce time and max results  \u003C\u002Fli>\n\u003Cli>Choose search mode (title-only, tag-aware, full content)  \u003C\u002Fli>\n\u003Cli>Define custom ACF fields to include in search (optional)  \u003C\u002Fli>\n\u003Cli>Enable Search in SEO Metadata (Yoast, Rank Math, etc.)  \u003C\u002Fli>\n\u003Cli>Toggle excerpt display below each result (1-line contextual snippet)  \u003C\u002Fli>\n\u003Cli>Toggle fallback logic (bigram\u002Ftrim)  \u003C\u002Fli>\n\u003Cli>Enable synonym expansion and manage synonym mappings (JSON editor)  \u003C\u002Fli>\n\u003Cli>Enable Search Analytics to log queries (no personal data stored)  \u003C\u002Fli>\n\u003Cli>Set max words for tooltip search  \u003C\u002Fli>\n\u003Cli>Enable voice input (SpeechRecognition API)  \u003C\u002Fli>\n\u003Cli>Enable result caching (localStorage)  \u003C\u002Fli>\n\u003Cli>Choose frontend UI style (default, fullscreen, or topbar)  \u003C\u002Fli>\n\u003Cli>Allow theme override via \u003Ccode>init-live-search\u002Fstyle.css\u003C\u002Fcode>  \u003C\u002Fli>\n\u003Cli>Automatically insert related posts after content or comments (optional)\u003C\u002Fli>\n\u003Cli>Option to disable all built-in CSS completely  \u003C\u002Fli>\n\u003Cli>Add default UTM parameter to result links  \u003C\u002Fli>\n\u003Cli>Define or auto-generate keyword suggestions\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Keyboard Shortcuts\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Arrow Up \u002F Down — navigate between results\u003C\u002Fli>\n\u003Cli>Arrow Right — add selected result to favorites (if not already added)\u003C\u002Fli>\n\u003Cli>Arrow Left — remove selected result from favorites\u003C\u002Fli>\n\u003Cli>Enter — open selected result or submit\u003C\u002Fli>\n\u003Cli>Escape — close modal and reset state\u003C\u002Fli>\n\u003Cli>Slash (\u002F) — start a command instantly (e.g., \u003Ccode>\u002Frecent\u003C\u002Fcode>, \u003Ccode>\u002Fid 123\u003C\u002Fcode>)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Developer Reference: Shortcodes, Filters, and Hooks\u003C\u002Fh3>\n\u003Ch3>Shortcodes\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>\u003Ccode>[init_live_search]\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nDisplay a search icon or input anywhere that opens the Init Live Search modal.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Attributes:\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Ccode>type\u003C\u002Fcode>: \u003Ccode>icon\u003C\u002Fcode> (default) or \u003Ccode>input\u003C\u002Fcode> – choose between a clickable icon or a search box\u003Cbr \u002F>\n– \u003Ccode>placeholder\u003C\u002Fcode>: (optional) text inside the input if \u003Ccode>type=\"input\"\u003C\u002Fcode>\u003Cbr \u002F>\n– \u003Ccode>label\u003C\u002Fcode>: (optional) adds a label next to the icon if \u003Ccode>type=\"icon\"\u003C\u002Fcode>\u003Cbr \u002F>\n– \u003Ccode>class\u003C\u002Fcode>: (optional) add custom classes like \u003Ccode>dark\u003C\u002Fcode>, \u003Ccode>my-style\u003C\u002Fcode>, etc.\u003Cbr \u002F>\n– \u003Ccode>stroke_width\u003C\u002Fcode>: (optional) set the stroke width for the search icon (default: \u003Ccode>1\u003C\u002Fcode>)\u003Cbr \u002F>\n– \u003Ccode>radius\u003C\u002Fcode>: (optional) override the border radius of the input form (default: \u003Ccode>9999px\u003C\u002Fcode> from CSS; only applied if value differs)\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>[init_live_search_related_posts]\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nDisplay a list of related posts (static HTML) based on post title or keyword, optimized for SEO and fully themable.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Attributes:\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Ccode>id\u003C\u002Fcode>: (optional) the post ID to find related posts for (defaults to current post)\u003Cbr \u002F>\n– \u003Ccode>count\u003C\u002Fcode>: (optional) number of posts to display (default: \u003Ccode>5\u003C\u002Fcode>)\u003Cbr \u002F>\n– \u003Ccode>keyword\u003C\u002Fcode>: (optional) override the keyword used for finding related posts\u003Cbr \u002F>\n– \u003Ccode>template\u003C\u002Fcode>: (optional) layout template to use — \u003Ccode>default\u003C\u002Fcode>, \u003Ccode>grid\u003C\u002Fcode>, \u003Ccode>classic\u003C\u002Fcode>, \u003Ccode>compact\u003C\u002Fcode>, \u003Ccode>thumbright\u003C\u002Fcode>\u003Cbr \u002F>\n– \u003Ccode>css\u003C\u002Fcode>: \u003Ccode>1\u003C\u002Fcode> (default) or \u003Ccode>0\u003C\u002Fcode> – disable default CSS if you want to fully style it yourself\u003Cbr \u002F>\n– \u003Ccode>schema\u003C\u002Fcode>: \u003Ccode>1\u003C\u002Fcode> (default) or \u003Ccode>0\u003C\u002Fcode> – disable JSON-LD \u003Ccode>ItemList\u003C\u002Fcode> output for SEO schema\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>[init_live_search_related_ai]\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nDisplay a list of AI-powered related posts using multi-signal scoring (tags, series, title bigrams, same_keyword via ACF, category, views, comments, freshness).\u003Cbr \u002F>\nUses the same templates as \u003Ccode>[init_live_search_related_posts]\u003C\u002Fcode>, so no extra styling is required.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Attributes:\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Ccode>id\u003C\u002Fcode>: (optional) the post ID to find related posts for (defaults to current post)\u003Cbr \u002F>\n– \u003Ccode>count\u003C\u002Fcode>: (optional) number of posts to display (default: \u003Ccode>5\u003C\u002Fcode>)\u003Cbr \u002F>\n– \u003Ccode>post_type\u003C\u002Fcode>: (optional) restrict results to one or more post types (default: \u003Ccode>post\u003C\u002Fcode>)\u003Cbr \u002F>\n– \u003Ccode>template\u003C\u002Fcode>: (optional) layout template to use — \u003Ccode>default\u003C\u002Fcode>, \u003Ccode>grid\u003C\u002Fcode>, \u003Ccode>classic\u003C\u002Fcode>, \u003Ccode>compact\u003C\u002Fcode>, \u003Ccode>thumbright\u003C\u002Fcode>\u003Cbr \u002F>\n– \u003Ccode>css\u003C\u002Fcode>: \u003Ccode>1\u003C\u002Fcode> (default) or \u003Ccode>0\u003C\u002Fcode> – disable default CSS if you want to fully style it yourself\u003Cbr \u002F>\n– \u003Ccode>schema\u003C\u002Fcode>: \u003Ccode>1\u003C\u002Fcode> (default) or \u003Ccode>0\u003C\u002Fcode> – disable JSON-LD \u003Ccode>ItemList\u003C\u002Fcode> output for SEO schema\u003C\u002Fp>\n\u003Ch3>Filters for Developers\u003C\u002Fh3>\n\u003Cp>Init Live Search includes many filters to help developers customize behavior and output at various stages of the search flow.\u003C\u002Fp>\n\u003Cp>Full documentation (with code samples & advanced usage): \u003Ca href=\"https:\u002F\u002Fen.inithtml.com\u002Fwordpress\u002Fusing-filters-in-init-live-search\u002F\" rel=\"nofollow ugc\">Using Filters in Init Live Search\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Popular filters\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_live_search_enable_fallback\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nEnable or disable fallback logic when few results are found.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_live_search_post_ids\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nCustomize the array of post IDs returned from the query.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_live_search_result_item\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nModify each result item before it’s sent in the response.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_live_search_results\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nFilter the final array of results before being returned.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_live_search_query_args\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nModify WP_Query arguments for different commands.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_live_search_ai_weights\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nAdjust AI scoring weights for related posts.\u003C\u002Fp>\n\u003Cp>(…and more in the full docs)\u003C\u002Fp>\n\u003Ch3>REST API Endpoints\u003C\u002Fh3>\n\u003Cp>Fully documented, lightweight, and API-first endpoints. Ideal for headless or decoupled builds.\u003Cbr \u002F>\nAll endpoints are under namespace: \u003Ccode>initlise\u002Fv1\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Full documentation (with examples & parameters): \u003Ca href=\"https:\u002F\u002Fen.inithtml.com\u002Fwordpress\u002Flist-of-rest-api-endpoints-in-init-live-search\u002F\" rel=\"nofollow ugc\">REST API Endpoints in Init Live Search\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Popular endpoints\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>\u002Fsearch?term=example\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nStandard search query (uses plugin settings like post types, search mode, fallback…).\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>\u002Fid\u002F{id}\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nFetch a post by ID (returns permalink).\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>\u002Frecent\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nFetch the most recent posts.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>\u002Ftax?taxonomy=category&term=slug-or-id\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nFetch posts by taxonomy (category, tag, or custom).\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>\u002Frelated?title=page-title&exclude=ID\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nFetch posts related to the current page title.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>\u002Fproduct?...\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nFetch WooCommerce products with flexible query parameters.\u003C\u002Fp>\n\u003Cp>(…and more in the full docs)\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the GPLv2 or later.\u003Cbr \u002F>\nYou are free to use, modify, and distribute it under the same license.\u003C\u002Fp>\n","Fast, modern live search powered by REST API — with AI-powered Related Posts Engine, slash commands, SEO-aware, ACF, Woo, and custom UI presets.",2792,6,"2026-02-25T02:52:00.000Z","6.9.4","5.2","7.4",[27,28,29,30,31],"ai-search","live-search","related-posts","slash-commands","woocommerce","https:\u002F\u002Finithtml.com\u002Fplugin\u002Finit-live-search\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Finit-live-search.1.8.9.zip",0,null,"2026-03-15T15:16:48.613Z",{"slug":38,"name":39,"version":40,"author":5,"author_profile":6,"description":41,"short_description":42,"active_installs":9,"downloaded":43,"rating":9,"num_ratings":44,"last_updated":45,"tested_up_to":23,"requires_at_least":46,"requires_php":25,"tags":47,"homepage":53,"download_link":54,"security_score":9,"vuln_count":34,"unpatched_count":34,"last_vuln_date":35,"fetched_at":36},"init-view-count","Init View Count – AI-Powered, Trending, REST API","1.19.3","\u003Cp>\u003Cstrong>Init View Count\u003C\u002Fstrong> is a fast, clean plugin to track post views without clutter. It:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Uses REST API and JS to count real views\u003C\u002Fli>\n\u003Cli>Prevents duplicate counts with session\u002Flocal storage\u003C\u002Fli>\n\u003Cli>Stores counts in meta keys like \u003Ccode>_init_view_count\u003C\u002Fcode>, \u003Ccode>_init_view_day_count\u003C\u002Fcode>, etc.\u003C\u002Fli>\n\u003Cli>Provides \u003Ccode>[init_view_count]\u003C\u002Fcode> and \u003Ccode>[init_view_list]\u003C\u002Fcode> shortcodes\u003C\u002Fli>\n\u003Cli>Includes \u003Ccode>[init_view_ranking]\u003C\u002Fcode> shortcode with tabbed ranking by time range\u003C\u002Fli>\n\u003Cli>Supports template overrides (like WooCommerce)\u003C\u002Fli>\n\u003Cli>Lightweight. No tracking, no admin bloat.\u003C\u002Fli>\n\u003Cli>Includes REST API to query most viewed posts\u003C\u002Fli>\n\u003Cli>Supports pagination in \u003Ccode>[init_view_list]\u003C\u002Fcode> via the \u003Ccode>page\u003C\u002Fcode> attribute\u003C\u002Fli>\n\u003Cli>Batch view tracking support to reduce REST requests on busy sites\u003C\u002Fli>\n\u003Cli>Optional strict IP-based filtering to block fake view requests posted directly to the REST endpoint\u003C\u002Fli>\n\u003Cli>Includes a Dashboard widget to monitor top viewed posts directly in wp-admin\u003C\u002Fli>\n\u003Cli>Learns site-wide traffic shape (hourly & weekday) via AI-powered smoothing\u003C\u002Fli>\n\u003Cli>Shapes cached and updated efficiently with minimal overhead\u003C\u002Fli>\n\u003Cli>Safe reset action to rebuild patterns automatically\u003C\u002Fli>\n\u003Cli>Fully integrated with Trending Engine v3 for uplift-based scoring\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This plugin is part of the \u003Ca href=\"https:\u002F\u002Fen.inithtml.com\u002Finit-plugin-suite-minimalist-powerful-and-free-wordpress-plugins\u002F\" rel=\"nofollow ugc\">Init Plugin Suite\u003C\u002Fa> — a collection of minimalist, fast, and developer-focused tools for WordPress.\u003C\u002Fp>\n\u003Cp>GitHub repository: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbrokensmile2103\u002Finit-view-count\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002Fbrokensmile2103\u002Finit-view-count\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Highlights\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>REST-first design — no jQuery or legacy Ajax\u003C\u002Fli>\n\u003Cli>View tracking powered by time + scroll detection\u003C\u002Fli>\n\u003Cli>Realtime display with optional animated counters\u003C\u002Fli>\n\u003Cli>Fully theme-compatible with overrideable templates\u003C\u002Fli>\n\u003Cli>Developer-friendly with rich filter support\u003C\u002Fli>\n\u003Cli>Optional \u003Ccode>[init_view_ranking]\u003C\u002Fcode> shortcode for tabbed view by day\u002Fweek\u002Fmonth\u002Ftotal\u003C\u002Fli>\n\u003Cli>Assets are only loaded when needed – perfect for performance-conscious themes\u003C\u002Fli>\n\u003Cli>Fully compatible with headless and SPA frameworks (REST-first + lazy)\u003C\u002Fli>\n\u003Cli>Supports batch mode: delay view requests and send in groups (configurable in settings)\u003C\u002Fli>\n\u003Cli>Includes optional Dashboard widget for quick admin overview of top viewed posts\u003C\u002Fli>\n\u003Cli>AI-powered Traffic Shape Learner – understands your site’s hourly & weekly rhythm\u003C\u002Fli>\n\u003Cli>Auto-integrated with Trending Engine v3 for seasonality-aware uplift detection\u003C\u002Fli>\n\u003Cli>Smart fallbacks (day \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> week \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> month \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> total) ensure rankings never run empty\u003C\u002Fli>\n\u003Cli>Ultra-light: only 1 write per increment + 1 rollup per day, cache-first design\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Shortcodes\u003C\u002Fh3>\n\u003Ch3>[init_view_count]\u003C\u002Fh3>\n\u003Cp>Shows current view count for a post. Only works inside a post loop.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Attributes:\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Ccode>field\u003C\u002Fcode>: \u003Ccode>total\u003C\u002Fcode> (default), \u003Ccode>day\u003C\u002Fcode>, \u003Ccode>week\u003C\u002Fcode>, \u003Ccode>month\u003C\u002Fcode> – which counter to display\u003Cbr \u002F>\n– \u003Ccode>format\u003C\u002Fcode>: \u003Ccode>formatted\u003C\u002Fcode> (default), \u003Ccode>raw\u003C\u002Fcode>, or \u003Ccode>short\u003C\u002Fcode> – controls number formatting\u003Cbr \u002F>\n– \u003Ccode>time\u003C\u002Fcode>: \u003Ccode>true\u003C\u002Fcode> to show time diff from post date (e.g. “3 days ago”)\u003Cbr \u002F>\n– \u003Ccode>icon\u003C\u002Fcode>: \u003Ccode>true\u003C\u002Fcode> to display a small SVG icon before the count\u003Cbr \u002F>\n– \u003Ccode>schema\u003C\u002Fcode>: \u003Ccode>true\u003C\u002Fcode> to output schema.org microdata (InteractionCounter)\u003Cbr \u002F>\n– \u003Ccode>class\u003C\u002Fcode>: add a custom CSS class to the outer wrapper\u003C\u002Fp>\n\u003Ch3>[init_view_list]\u003C\u002Fh3>\n\u003Cp>Show list of most viewed posts.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Attributes:\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Ccode>number\u003C\u002Fcode>: Number of posts to show (default: 5)\u003Cbr \u002F>\n– \u003Ccode>page\u003C\u002Fcode>: Show a specific page of results (default: 1)\u003Cbr \u002F>\n– \u003Ccode>post_type\u003C\u002Fcode>: Type of post (default: post)\u003Cbr \u002F>\n– \u003Ccode>template\u003C\u002Fcode>: \u003Ccode>sidebar\u003C\u002Fcode> (default), \u003Ccode>full\u003C\u002Fcode>, \u003Ccode>grid\u003C\u002Fcode>, \u003Ccode>details\u003C\u002Fcode> (can be overridden)\u003Cbr \u002F>\n– \u003Ccode>title\u003C\u002Fcode>: Title above list. Set to empty (\u003Ccode>title=\"\"\u003C\u002Fcode>) to hide\u003Cbr \u002F>\n– \u003Ccode>class\u003C\u002Fcode>: Custom class added to wrapper\u003Cbr \u002F>\n– \u003Ccode>orderby\u003C\u002Fcode>: Sort field (default: meta_value_num)\u003Cbr \u002F>\n– \u003Ccode>order\u003C\u002Fcode>: ASC or DESC (default: DESC)\u003Cbr \u002F>\n– \u003Ccode>range\u003C\u002Fcode>: \u003Ccode>total\u003C\u002Fcode>, \u003Ccode>day\u003C\u002Fcode>, \u003Ccode>week\u003C\u002Fcode>, \u003Ccode>month\u003C\u002Fcode>, \u003Ccode>trending\u003C\u002Fcode>\u003Cbr \u002F>\n– \u003Ccode>category\u003C\u002Fcode>: Filter by category slug\u003Cbr \u002F>\n– \u003Ccode>tag\u003C\u002Fcode>: Filter by tag slug\u003Cbr \u002F>\n– \u003Ccode>empty\u003C\u002Fcode>: Message to show if no posts found\u003C\u002Fp>\n\u003Ch3>[init_view_ranking]\u003C\u002Fh3>\n\u003Cp>Show tabbed ranking of most viewed posts. Uses REST API and JavaScript for dynamic loading. Optimized for SPA\u002Fheadless usage.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Attributes:\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Ccode>tabs\u003C\u002Fcode>: Comma-separated list of ranges. Available: \u003Ccode>total\u003C\u002Fcode>, \u003Ccode>day\u003C\u002Fcode>, \u003Ccode>week\u003C\u002Fcode>, \u003Ccode>month\u003C\u002Fcode> (default: all)\u003Cbr \u002F>\n– \u003Ccode>number\u003C\u002Fcode>: Number of posts per tab (default: 5)\u003Cbr \u002F>\n– \u003Ccode>class\u003C\u002Fcode>: Custom class for outer wrapper\u003C\u002Fp>\n\u003Cp>This shortcode automatically enqueues required JS and uses skeleton loaders while fetching data.\u003C\u002Fp>\n\u003Ch3>REST API\u003C\u002Fh3>\n\u003Cp>This plugin exposes two REST endpoints to interact with view counts: one for recording views and another for retrieving top posts.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>POST \u002Fwp-json\u002Finitvico\u002Fv1\u002Fcount\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nRecord one or more views. Accepts a single post ID or an array of post IDs.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Parameters:\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Ccode>post_id\u003C\u002Fcode> — \u003Cem>(int|array)\u003C\u002Fem> Required. One or more post IDs to increment view count for.\u003C\u002Fp>\n\u003Cp>This endpoint checks if the post is published, belongs to a supported post type, and applies delay\u002Fscroll config (via JavaScript). It updates total and optionally day\u002Fweek\u002Fmonth view counters.\u003C\u002Fp>\n\u003Cp>Note: The number of post IDs processed per request is limited based on the batch setting in plugin options.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>GET \u002Fwp-json\u002Finitvico\u002Fv1\u002Ftop\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nRetrieve the most viewed posts, ranked by view count.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Parameters:\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Ccode>range\u003C\u002Fcode> — \u003Cem>(string)\u003C\u002Fem> \u003Ccode>total\u003C\u002Fcode>, \u003Ccode>day\u003C\u002Fcode>, \u003Ccode>week\u003C\u002Fcode>, \u003Ccode>month\u003C\u002Fcode>. Defaults to \u003Ccode>total\u003C\u002Fcode>.\u003Cbr \u002F>\n– \u003Ccode>post_type\u003C\u002Fcode> — \u003Cem>(string)\u003C\u002Fem> Post type to query. Defaults to \u003Ccode>post\u003C\u002Fcode>.\u003Cbr \u002F>\n– \u003Ccode>number\u003C\u002Fcode> — \u003Cem>(int)\u003C\u002Fem> Number of posts to return. Default: \u003Ccode>5\u003C\u002Fcode>.\u003Cbr \u002F>\n– \u003Ccode>page\u003C\u002Fcode> — \u003Cem>(int)\u003C\u002Fem> Pagination offset. Default: \u003Ccode>1\u003C\u002Fcode>.\u003Cbr \u002F>\n– \u003Ccode>fields\u003C\u002Fcode> — \u003Cem>(string)\u003C\u002Fem> \u003Ccode>minimal\u003C\u002Fcode> (id, title, link) or \u003Ccode>full\u003C\u002Fcode> (includes excerpt, thumbnail, type, date, etc.)\u003Cbr \u002F>\n– \u003Ccode>tax\u003C\u002Fcode> — \u003Cem>(string)\u003C\u002Fem> Optional. Taxonomy slug (e.g. \u003Ccode>category\u003C\u002Fcode>).\u003Cbr \u002F>\n– \u003Ccode>terms\u003C\u002Fcode> — \u003Cem>(string)\u003C\u002Fem> Comma-separated term slugs or IDs.\u003Cbr \u002F>\n– \u003Ccode>no_cache\u003C\u002Fcode> — \u003Cem>(bool)\u003C\u002Fem> If \u003Ccode>1\u003C\u002Fcode>, disables transient caching.\u003C\u002Fp>\n\u003Cp>This endpoint supports filtering and caching, and can be extended to support custom output formats.\u003C\u002Fp>\n\u003Ch3>Filters for Developers\u003C\u002Fh3>\n\u003Cp>This plugin provides multiple filters to help developers customize behavior and output in both REST API and shortcode use cases.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_view_count_should_count\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nAllow or prevent counting views for a specific post.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> REST \u003Ccode>\u002Fcount\u003C\u002Fcode>\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>bool $should_count\u003C\u002Fcode>, \u003Ccode>int $post_id\u003C\u002Fcode>, \u003Ccode>WP_REST_Request $request\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_view_count_meta_key\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nChange the meta key used to read or write view counts.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> REST & Shortcodes\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>string $meta_key\u003C\u002Fcode>, \u003Ccode>int|null $post_id\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_view_count_after_counted\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nRun custom logic after view count has been incremented.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> REST \u003Ccode>\u002Fcount\u003C\u002Fcode>\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>int $post_id\u003C\u002Fcode>, \u003Ccode>array $updated\u003C\u002Fcode>, \u003Ccode>WP_REST_Request $request\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_view_count_api_top_args\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nCustomize WP_Query arguments used for \u003Ccode>\u002Ftop\u003C\u002Fcode> endpoint.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> REST \u003Ccode>\u002Ftop\u003C\u002Fcode>\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>array $args\u003C\u002Fcode>, \u003Ccode>WP_REST_Request $request\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_view_count_api_top_item\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nModify each item before it’s returned in the \u003Ccode>\u002Ftop\u003C\u002Fcode> response.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> REST \u003Ccode>\u002Ftop\u003C\u002Fcode>\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>array $item\u003C\u002Fcode>, \u003Ccode>WP_Post $post\u003C\u002Fcode>, \u003Ccode>WP_REST_Request $request\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_view_count_api_top_cache_time\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nAdjust cache time (in seconds) for \u003Ccode>\u002Ftop\u003C\u002Fcode> results.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> REST \u003Ccode>\u002Ftop\u003C\u002Fcode>\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>int $ttl\u003C\u002Fcode>, \u003Ccode>WP_REST_Request $request\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_view_count_top_post_types\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nCustomize the list of post types returned by the \u003Ccode>\u002Ftop\u003C\u002Fcode> endpoint.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> REST \u003Ccode>\u002Ftop\u003C\u002Fcode>\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>array $post_types\u003C\u002Fcode>, \u003Ccode>WP_REST_Request $request\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_view_count_query_args\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nFilter WP_Query args for \u003Ccode>[init_view_list]\u003C\u002Fcode> shortcode.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> \u003Ccode>[init_view_list]\u003C\u002Fcode>\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>array $args\u003C\u002Fcode>, \u003Ccode>array $atts\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_view_count_empty_output\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nCustomize the HTML output when no posts are found.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> \u003Ccode>[init_view_list]\u003C\u002Fcode>\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>string $output\u003C\u002Fcode>, \u003Ccode>array $atts\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_view_count_view_list_atts\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nModify shortcode attributes before WP_Query is run.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> \u003Ccode>[init_view_list]\u003C\u002Fcode>\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>array $atts\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_view_count_default_shortcode\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nCustomize the default shortcode used when auto-inserting view count into post content.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> \u003Ccode>[init_view_count]\u003C\u002Fcode> auto-insert\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>string $shortcode\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_view_count_auto_insert_enabled\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nControl whether auto-insert is enabled for a given context.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> \u003Ccode>[init_view_count]\u003C\u002Fcode> auto-insert\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>bool $enabled\u003C\u002Fcode>, \u003Ccode>string $position\u003C\u002Fcode>, \u003Ccode>string $post_type\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_view_count_engagement_meta_keys\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nChange the meta keys used to retrieve \u003Ccode>like\u003C\u002Fcode> and \u003Ccode>share\u003C\u002Fcode> counts when calculating engagement quality.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> Engagement algorithm\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>array $meta_keys\u003C\u002Fcode> (\u003Ccode>likes\u003C\u002Fcode>, \u003Ccode>shares\u003C\u002Fcode>), \u003Ccode>int $post_id\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_view_count_trending_post_types\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nOverride the list of post types used by the Trending cron calculation.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> Cron Trending\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>array $post_types\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_view_count_trending_component_weights\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nAdjust weights for Trending score components.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> Trending algorithm\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>array $weights\u003C\u002Fcode> (\u003Ccode>velocity\u003C\u002Fcode>, \u003Ccode>engagement\u003C\u002Fcode>, \u003Ccode>freshness\u003C\u002Fcode>, \u003Ccode>momentum\u003C\u002Fcode>)\u003C\u002Fp>\n\u003Ch3>Template Override\u003C\u002Fh3>\n\u003Cp>To customize output layout, copy any template file into your theme:\u003C\u002Fp>\n\u003Cp>Example: \u003Ccode>your-theme\u002Finit-view-count\u002Fview-list-grid.php\u003C\u002Fcode>\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the GPLv2 or later.\u003Cbr \u002F>\nYou are free to use, modify, and distribute it under the same license.\u003C\u002Fp>\n","Count post views accurately via REST API with customizable display. Lightweight, fast, and extensible. Includes shortcode with multiple layouts.",1810,3,"2026-03-04T15:27:00.000Z","5.5",[48,49,50,51,52],"post-views","rest-api","shortcode","trending-posts","view-counter","https:\u002F\u002Finithtml.com\u002Fplugin\u002Finit-view-count\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Finit-view-count.1.19.3.zip",{"slug":56,"name":57,"version":58,"author":5,"author_profile":6,"description":59,"short_description":60,"active_installs":61,"downloaded":62,"rating":34,"num_ratings":34,"last_updated":63,"tested_up_to":23,"requires_at_least":46,"requires_php":25,"tags":64,"homepage":70,"download_link":71,"security_score":9,"vuln_count":34,"unpatched_count":34,"last_vuln_date":35,"fetched_at":36},"init-fx-engine","Init FX Engine – Interactive, Event-Driven, Lightweight","1.6.1","\u003Cp>\u003Cstrong>Init FX Engine\u003C\u002Fstrong> brings modern, interactive visual effects to your WordPress site — from fireworks to snowfall, emoji rain, and more. All effects are fully customizable, and can be triggered via keywords, shortcodes, or special events.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>🎉 Celebrate milestones with fireworks or cannon blasts\u003Cbr \u002F>\n  💬 Let users experience emoji reactions and heart rain in comments\u003Cbr \u002F>\n  ❄️ Schedule snowfall automatically or set your own custom dates\u003Cbr \u002F>\n  ⚙️ Lightweight, fully customizable engine with intuitive UI\u003Cbr \u002F>\n  🖤 Grayscale mode for solemn occasions or national mourning\u003Cbr \u002F>\n  ⏳ Animated preloaders to enrich user experience\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>Not just an effect plugin — this is an \u003Cstrong>FX Engine\u003C\u002Fstrong> for WordPress.\u003C\u002Fp>\n\u003Cp>This plugin is part of the \u003Ca href=\"https:\u002F\u002Fen.inithtml.com\u002Finit-plugin-suite-minimalist-powerful-and-free-wordpress-plugins\u002F\" rel=\"nofollow ugc\">Init Plugin Suite\u003C\u002Fa> — a collection of minimalist, fast, and developer-focused tools for WordPress.\u003C\u002Fp>\n\u003Cp>GitHub repository: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbrokensmile2103\u002Finit-fx-engine\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002Fbrokensmile2103\u002Finit-fx-engine\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Highlights:\u003C\u002Fstrong>\u003Cbr \u002F>\n– Interactive visual effects: Firework, Emoji Rain, Heart Rain, Cannon Blast, Starlight, Celebration Burst\u003Cbr \u002F>\n– Preloader (loading screen) with 6 styles: Dot Dot Dot, Bar, Logo, Flower, Spinner, Emoji\u003Cbr \u002F>\n– Supports gradient or solid background for preloader\u003Cbr \u002F>\n– Auto-fetch favicon for logo-based animation\u003Cbr \u002F>\n– Snowfall effect with date scheduler (auto\u002Fcustom)\u003Cbr \u002F>\n– Grayscale mode (manual or scheduled)\u003Cbr \u002F>\n– Shortcode \u003Ccode>[init-fx-ambient]\u003C\u002Fcode> for ambient background animation\u003Cbr \u002F>\n– Keywords to trigger effects inside comments or post content\u003Cbr \u002F>\n– Real-time preview of effects in settings page\u003Cbr \u002F>\n– Lightweight, extensible, and multilingual-ready\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the GPLv2 or later.\u003Cbr \u002F>\nYou are free to use, modify, and distribute it under the same license.\u003C\u002Fp>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cp>This plugin includes these open-source libraries:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>canvas-confetti — \u003Ca href=\"https:\u002F\u002Fwww.kirilv.com\u002Fcanvas-confetti\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Fwww.kirilv.com\u002Fcanvas-confetti\u002F\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>particles.js — \u003Ca href=\"https:\u002F\u002Fvincentgarreau.com\u002Fparticles.js\u002F\" rel=\"nofollow ugc\">https:\u002F\u002Fvincentgarreau.com\u002Fparticles.js\u002F\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Both are MIT licensed and bundled with the plugin.\u003C\u002Fp>\n","Bring your WordPress site to life with interactive visual effects triggered by keywords, comments, and special occasions.",90,1026,"2025-12-25T05:28:00.000Z",[65,66,67,68,69],"animation","comment","confetti","effect","interaction","https:\u002F\u002Finithtml.com\u002Fplugin\u002Finit-fx-engine\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Finit-fx-engine.1.6.1.zip",{"slug":73,"name":74,"version":75,"author":5,"author_profile":6,"description":76,"short_description":77,"active_installs":78,"downloaded":79,"rating":9,"num_ratings":80,"last_updated":81,"tested_up_to":23,"requires_at_least":46,"requires_php":25,"tags":82,"homepage":86,"download_link":87,"security_score":9,"vuln_count":34,"unpatched_count":34,"last_vuln_date":35,"fetched_at":88},"init-embed-posts","Init Embed Posts – Stylish, Fast, Portable","1.6","\u003Cp>Init Embed Posts lets you embed WordPress content externally – with beautiful cards, real-time REST API data, and zero friction.\u003C\u002Fp>\n\u003Cp>Instead of using iframes or clunky oEmbed, this plugin gives you clean \u003Ccode>\u003Cdiv>\u003C\u002Fcode> + \u003Ccode>\u003Cscript>\u003C\u002Fcode> snippets, which load the post or product dynamically using WordPress REST API. Designed for speed, style, and full control – using pure JavaScript and smart caching.\u003C\u002Fp>\n\u003Cp>This plugin is part of the \u003Ca href=\"https:\u002F\u002Fen.inithtml.com\u002Finit-plugin-suite-minimalist-powerful-and-free-wordpress-plugins\u002F\" rel=\"nofollow ugc\">Init Plugin Suite\u003C\u002Fa> — a collection of minimalist, fast, and developer-focused tools for WordPress.\u003C\u002Fp>\n\u003Cp>GitHub repository: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbrokensmile2103\u002Finit-embed-posts\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002Fbrokensmile2103\u002Finit-embed-posts\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Embed any public post or WooCommerce product\u003C\u002Fli>\n\u003Cli>Works anywhere: raw HTML, CMS, blog, landing page…\u003C\u002Fli>\n\u003Cli>Beautiful card layout:\n\u003Cul>\n\u003Cli>Site name + favicon\u003C\u002Fli>\n\u003Cli>Title, excerpt, date (for posts)\u003C\u002Fli>\n\u003Cli>Featured image, horizontal gallery (optional)\u003C\u002Fli>\n\u003Cli>Product name, price, sale price with strikethrough\u003C\u002Fli>\n\u003Cli>“Add to cart” styled button (optional)\u003C\u002Fli>\n\u003Cli>Auto dark mode, adapts to embedding site\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Hover effects and modern UI\u003C\u002Fli>\n\u003Cli>Skeleton loader while waiting for data\u003C\u002Fli>\n\u003Cli>JS-only, no iframe, no jQuery, no dependency\u003C\u002Fli>\n\u003Cli>Modal UI to generate personalized embed code\u003C\u002Fli>\n\u003Cli>Smart \u003Ccode>\u003Cscript>\u003C\u002Fcode> switching:\n\u003Cul>\n\u003Cli>\u003Ccode>init-embed.js\u003C\u002Fcode> for posts\u003C\u002Fli>\n\u003Cli>\u003Ccode>init-embed-product.js\u003C\u002Fcode> for Woo products\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Embed attributes:\n\u003Cul>\n\u003Cli>\u003Ccode>data-theme=\"light|dark|auto\"\u003C\u002Fcode> – force or auto-detect theme\u003C\u002Fli>\n\u003Cli>\u003Ccode>data-image\u003C\u002Fcode>, \u003Ccode>data-featured\u003C\u002Fcode>, \u003Ccode>data-cart\u003C\u002Fcode> – control content\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Cached REST API (immutable, 1 year)\u003C\u002Fli>\n\u003Cli>Developer filters to customize data and HTML\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Filters for Developers\u003C\u002Fh3>\n\u003Cp>These filters give you full control over how data is rendered and returned.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>REST response filters:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Ccode>init_plugin_suite_embed_posts_rest_response\u003C\u002Fcode>\u003Cbr \u002F>\nModify REST API response for posts.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>init_plugin_suite_embed_products_rest_response\u003C\u002Fcode>\u003Cbr \u002F>\nModify REST API response for Woo products.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>init_plugin_suite_embed_posts_view_count_keys\u003C\u002Fcode>\u003Cbr \u002F>\nCustomize the list of post meta keys used to detect view count. Supports array of meta keys, ordered by priority.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Excerpt filters:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Ccode>init_plugin_suite_embed_posts_excerpt\u003C\u002Fcode>\u003Cbr \u002F>\nCustomize excerpt for posts.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>init_plugin_suite_embed_products_excerpt\u003C\u002Fcode>\u003Cbr \u002F>\nCustomize excerpt for products.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Image control:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Ccode>init_plugin_suite_embed_posts_images\u003C\u002Fcode>\u003Cbr \u002F>\nFilter image list for embedded post.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>init_plugin_suite_embed_products_images\u003C\u002Fcode>\u003Cbr \u002F>\nFilter image list for embedded product.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>init_plugin_suite_embed_posts_extracted_images\u003C\u002Fcode>\u003Cbr \u002F>\nFilter raw image URLs extracted from post content.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Favicon:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Ccode>init_plugin_suite_embed_posts_favicon_url\u003C\u002Fcode>\u003Cbr \u002F>\nOverride favicon for posts.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>init_plugin_suite_embed_products_favicon_url\u003C\u002Fcode>\u003Cbr \u002F>\nOverride favicon for products.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>HTML output filters:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>init_plugin_suite_embed_posts_shortcode_html\u003C\u002Fcode>\u003Cbr \u002F>\nCustomize HTML output of the \u003Ccode>[init_embed_code]\u003C\u002Fcode> shortcode. Allows complete control over button markup, styling, and attributes.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Auto-insert locations:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>init_embed_insert_locations\u003C\u002Fcode>\u003Cbr \u002F>\nCustomize or filter valid auto-insert positions (e.g., after title, before content, etc).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the GPLv2 or later.\u003Cbr \u002F>\nYou are free to use, modify, and distribute it under the same license.\u003C\u002Fp>\n","Embed WordPress posts or products anywhere – like a Twitter Card. No iframe. No oEmbed. Just pure JS, full control, and beautiful design.",80,920,2,"",[83,84,49,31,85],"embed","post-preview","wordpress-card","https:\u002F\u002Finithtml.com\u002Fplugin\u002Finit-embed-posts\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Finit-embed-posts.1.6.zip","2026-03-15T10:48:56.248Z",{"slug":90,"name":91,"version":92,"author":5,"author_profile":6,"description":93,"short_description":94,"active_installs":95,"downloaded":96,"rating":34,"num_ratings":34,"last_updated":97,"tested_up_to":23,"requires_at_least":46,"requires_php":25,"tags":98,"homepage":104,"download_link":105,"security_score":9,"vuln_count":34,"unpatched_count":34,"last_vuln_date":35,"fetched_at":36},"init-ad-engine","Init Ad Engine – Flexible, Multi-Format, Secure","1.4","\u003Cp>\u003Cstrong>Init Ad Engine\u003C\u002Fstrong> lets you insert various ad formats into your WordPress site with zero coding required.\u003C\u002Fp>\n\u003Cp>Built for flexibility and performance:\u003Cbr \u002F>\n– Tabbed admin UI with clear separation by device type\u003Cbr \u002F>\n– All styles are inline or embedded – no external CSS files\u003Cbr \u002F>\n– Multiple ad formats supported: popups, sticky bars, floating ads, popunder, before\u002Fafter content\u003Cbr \u002F>\n– Optional fallback HTML\u002FJS code when no image is provided\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Available ad positions:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Desktop (PC):\u003C\u002Fstrong>\u003Cbr \u002F>\nBillboard, Balloon Left\u002FRight, Float Left\u002FRight, Catfish Top\u002FBottom, Popup Center, Before\u002FAfter Content\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Mobile:\u003C\u002Fstrong>\u003Cbr \u002F>\nMini Billboard, Sticky Top\u002FBottom, Popup Center, Before\u002FAfter Content\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Special:\u003C\u002Fstrong>\u003Cbr \u002F>\nPopunder (opens new tab on first click), Global header\u002Ffooter code injection\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This plugin is part of the \u003Ca href=\"https:\u002F\u002Fen.inithtml.com\u002Finit-plugin-suite-minimalist-powerful-and-free-wordpress-plugins\u002F\" rel=\"nofollow ugc\">Init Plugin Suite\u003C\u002Fa> — a collection of minimalist, fast, and developer-focused tools for WordPress.\u003C\u002Fp>\n\u003Cp>GitHub repository: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbrokensmile2103\u002Finit-ad-engine\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002Fbrokensmile2103\u002Finit-ad-engine\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>20+ configurable ad positions\u003C\u002Fli>\n\u003Cli>Popunder with cooldown and click threshold\u003C\u002Fli>\n\u003Cli>Exit-intent or delay-based popup behavior\u003C\u002Fli>\n\u003Cli>Global \u003Ccode>\u003Chead>\u003C\u002Fcode> and \u003Ccode>\u003C\u002Fbody>\u003C\u002Fcode> injection fields\u003C\u002Fli>\n\u003Cli>Fallback HTML\u002FJS ad code per position\u003C\u002Fli>\n\u003Cli>Minimalist inline CSS for fast load\u003C\u002Fli>\n\u003Cli>Responsive support for all device types\u003C\u002Fli>\n\u003Cli>Clean admin UI with media uploader\u003C\u002Fli>\n\u003Cli>Affiliate Gate with flexible display logic (always-on, expire-after-click, random %, every X pages)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Filters for Developers\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Ccode>init_plugin_suite_ad_engine_use_kses\u003C\u002Fcode>\u003Cbr \u002F>\nControl whether ad snippets are escaped via \u003Ccode>wp_kses\u003C\u002Fcode>. Default: \u003Ccode>true\u003C\u002Fcode>.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>init_plugin_suite_ad_engine_allowed_tags\u003C\u002Fcode>\u003Cbr \u002F>\nExtend or modify the allow-list of permitted tags\u002Fattributes for ad snippets.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>init_plugin_suite_ad_engine_disable_all_ads\u003C\u002Fcode>\u003Cbr \u002F>\nDisable all ad injections globally. Default: \u003Ccode>false\u003C\u002Fcode>.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>init_ad_engine_should_enqueue_affiliate_gate\u003C\u002Fcode>\u003Cbr \u002F>\nControl whether the Affiliate Gate scripts should be enqueued.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Security Notes\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Ad snippets entered in the plugin settings are considered user-provided content.  \u003C\u002Fli>\n\u003Cli>By default, all snippets are escaped at render time using \u003Ccode>wp_kses\u003C\u002Fcode> with a restricted allow-list of tags and attributes.  \u003C\u002Fli>\n\u003Cli>Developers can disable escaping via the \u003Ccode>init_plugin_suite_ad_engine_use_kses\u003C\u002Fcode> filter if they explicitly trust their input.  \u003C\u002Fli>\n\u003Cli>All ad injections can be globally disabled via the \u003Ccode>init_plugin_suite_ad_engine_disable_all_ads\u003C\u002Fcode> filter.  \u003C\u002Fli>\n\u003Cli>Only administrators with the \u003Ccode>manage_options\u003C\u002Fcode> capability can configure or modify global ad settings.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the GPLv2 or later.\u003Cbr \u002F>\nYou are free to use, modify, and distribute it under the same license.\u003C\u002Fp>\n","A lightweight and flexible ad engine for WordPress. Place banners, popups, sticky ads, and popunders across desktop and mobile with full control.",70,582,"2025-11-14T16:23:00.000Z",[99,100,101,102,103],"ads","banner","content-locking","popunder","popup","https:\u002F\u002Finithtml.com\u002Fplugin\u002Finit-ad-engine\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Finit-ad-engine.1.4.zip",{"slug":107,"name":108,"version":109,"author":5,"author_profile":6,"description":110,"short_description":111,"active_installs":112,"downloaded":113,"rating":34,"num_ratings":34,"last_updated":114,"tested_up_to":23,"requires_at_least":46,"requires_php":25,"tags":115,"homepage":120,"download_link":121,"security_score":9,"vuln_count":34,"unpatched_count":34,"last_vuln_date":35,"fetched_at":36},"init-chat-engine","Init Chat Engine – Real-Time, Community, Extensible","1.3.0","\u003Cp>Init Chat Engine is a clean and minimal frontend chatbox plugin, designed for homepage or site-wide communication with comprehensive administrative controls.\u003C\u002Fp>\n\u003Cp>This plugin is the core user system behind the \u003Ca href=\"https:\u002F\u002Fen.inithtml.com\u002Finit-plugin-suite-minimalist-powerful-and-free-wordpress-plugins\u002F\" rel=\"nofollow ugc\">Init Plugin Suite\u003C\u002Fa> – optimized for frontend-first interaction, extensibility, and real-time gamification.\u003C\u002Fp>\n\u003Cp>GitHub repository: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbrokensmile2103\u002Finit-chat-engine\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002Fbrokensmile2103\u002Finit-chat-engine\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Key Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Frontend Experience:\u003C\u002Fstrong>\u003Cbr \u002F>\n– Built with 100% REST API and Vanilla JS\u003Cbr \u002F>\n– No jQuery, no bloat – blazing fast\u003Cbr \u002F>\n– Fully embeddable via \u003Ccode>[init_chatbox]\u003C\u002Fcode> shortcode\u003Cbr \u002F>\n– Guest messaging support (optional)\u003Cbr \u002F>\n– Smart polling system (adaptive 3.5–10s based on activity)\u003Cbr \u002F>\n– Browser notifications when new messages arrive\u003Cbr \u002F>\n– Scroll-up to load history, scroll-down to auto-scroll\u003Cbr \u002F>\n– Optimistic sending & “new message” jump button\u003Cbr \u002F>\n– Clean UI with customizable themes\u003Cbr \u002F>\n– Template override supported (\u003Ccode>chatbox.php\u003C\u002Fcode>)\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Administrative Control:\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Cstrong>Complete Settings Panel\u003C\u002Fstrong> – Basic, Security, and Advanced configurations\u003Cbr \u002F>\n– \u003Cstrong>Message Management\u003C\u002Fstrong> – Search, view, delete messages with pagination\u003Cbr \u002F>\n– \u003Cstrong>User Moderation\u003C\u002Fstrong> – Ban\u002Funban users by IP or user ID with expiration\u003Cbr \u002F>\n– \u003Cstrong>Rate Limiting\u003C\u002Fstrong> – Prevent spam with configurable message limits\u003Cbr \u002F>\n– \u003Cstrong>Word Filtering\u003C\u002Fstrong> – Block messages containing prohibited words\u003Cbr \u002F>\n– \u003Cstrong>Statistics Dashboard\u003C\u002Fstrong> – View chat activity, user engagement, and trends\u003Cbr \u002F>\n– \u003Cstrong>Cleanup Tools\u003C\u002Fstrong> – Automatic and manual cleanup of old messages\u003Cbr \u002F>\n– \u003Cstrong>Custom CSS Support\u003C\u002Fstrong> – Full styling customization options\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Security & Moderation:\u003C\u002Fstrong>\u003Cbr \u002F>\n– IP-based and user-based banning system\u003Cbr \u002F>\n– Configurable rate limiting (messages per minute)\u003Cbr \u002F>\n– Word filtering with custom blocked word lists\u003Cbr \u002F>\n– Message moderation queue (optional)\u003Cbr \u002F>\n– Automatic cleanup of old messages and expired bans\u003Cbr \u002F>\n– Admin override capabilities\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Multilingual Ready:\u003C\u002Fstrong>\u003Cbr \u002F>\n– Translation-ready with full \u003Ccode>.pot\u003C\u002Fcode> file included\u003Cbr \u002F>\n– Vietnamese translation included\u003Cbr \u002F>\n– Easy to translate to any language\u003C\u002Fp>\n\u003Cp>Perfect for community-based sites, forums, fanpages, manga readers, SaaS dashboards, customer support, or any interactive chat widget.\u003C\u002Fp>\n\u003Ch3>Shortcode Attributes\u003C\u002Fh3>\n\u003Cp>Shortcode \u003Ccode>[init_chatbox]\u003C\u002Fcode> supports the following attributes:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>height\u003C\u002Fcode> – Set chat height (e.g., \u003Ccode>height=\"400px\"\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>\u003Ccode>width\u003C\u002Fcode> – Set chat width (e.g., \u003Ccode>width=\"100%\"\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>\u003Ccode>theme\u003C\u002Fcode> – Apply custom theme (e.g., \u003Ccode>theme=\"dark\"\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>\u003Ccode>show_avatars\u003C\u002Fcode> – Override avatar setting (\u003Ccode>true\u003C\u002Fcode>\u002F\u003Ccode>false\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>\u003Ccode>show_timestamps\u003C\u002Fcode> – Override timestamp setting (\u003Ccode>true\u003C\u002Fcode>\u002F\u003Ccode>false\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>\u003Ccode>title\u003C\u002Fcode> – Add custom chat title\u003C\u002Fli>\n\u003Cli>\u003Ccode>class\u003C\u002Fcode> – Add custom CSS classes\u003C\u002Fli>\n\u003Cli>\u003Ccode>id\u003C\u002Fcode> – Set custom container ID\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Example: \u003Ccode>[init_chatbox height=\"500px\" title=\"Community Chat\" theme=\"modern\"]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Ch3>Filters for Developers\u003C\u002Fh3>\n\u003Cp>This plugin provides filters and actions to allow developers to extend word filtering, message processing, and chat behavior without modifying core files.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_chat_engine_word_filter_strategy\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nModify word filtering strategy (\u003Ccode>substring\u003C\u002Fcode>, \u003Ccode>word\u003C\u002Fcode>, \u003Ccode>regex\u003C\u002Fcode>).\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> Message validation\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>string $strategy\u003C\u002Fcode>, \u003Ccode>array $settings\u003C\u002Fcode>, \u003Ccode>string $message\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_chat_engine_blocked_words\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nModify the blocked-words list before validation.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> Message validation\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>array $blocked_words\u003C\u002Fcode>, \u003Ccode>array $settings\u003C\u002Fcode>, \u003Ccode>string $message\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_chat_engine_bypass_filter\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nBypass filtering under custom conditions (VIP, internal users, etc.).\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> Message validation\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>bool $bypass\u003C\u002Fcode>, \u003Ccode>string $message\u003C\u002Fcode>, \u003Ccode>WP_User|null $user\u003C\u002Fcode>, \u003Ccode>array $settings\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_chat_engine_word_block_hit\u003C\u002Fcode>\u003C\u002Fstrong> \u003Cem>(action)\u003C\u002Fem>\u003Cbr \u002F>\nTriggered when a word filter rule blocks a message.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> Message validation\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>string $blocked_word\u003C\u002Fcode>, \u003Ccode>string $message\u003C\u002Fcode>, \u003Ccode>string $strategy\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_chat_engine_enrich_message_row\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nExtend chat message data (add flags, metadata, user info, etc.).\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> Backend DB \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> JSON output\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>array $message_row\u003C\u002Fcode>, \u003Ccode>WP_User|null $user\u003C\u002Fcode>\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the GPLv2 or later.\u003Cbr \u002F>\nYou are free to use, modify, and distribute it under the same license.\u003C\u002Fp>\n","A lightweight, real-time community chat system built with REST API and Vanilla JS. No jQuery, no reload. Full admin panel with moderation tools.",50,1160,"2026-03-02T13:35:00.000Z",[116,117,118,119,50],"chat","community","lightweight","realtime","https:\u002F\u002Finithtml.com\u002Fplugin\u002Finit-chat-engine\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Finit-chat-engine.1.3.0.zip",{"slug":123,"name":124,"version":125,"author":5,"author_profile":6,"description":126,"short_description":127,"active_installs":112,"downloaded":128,"rating":34,"num_ratings":34,"last_updated":81,"tested_up_to":23,"requires_at_least":46,"requires_php":25,"tags":129,"homepage":135,"download_link":136,"security_score":9,"vuln_count":34,"unpatched_count":34,"last_vuln_date":35,"fetched_at":88},"init-reading-position","Init Reading Position – Remember, Return, Continue","1.2","\u003Cp>Init Reading Position enhances the reading experience by remembering how far a visitor has read on a post.\u003Cbr \u002F>\nWhen they return, it automatically scrolls back to where they left off.\u003C\u002Fp>\n\u003Cp>Perfect for:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Long-form articles\u003C\u002Fli>\n\u003Cli>Tutorials or guides\u003C\u002Fli>\n\u003Cli>Web novels or manga\u003C\u002Fli>\n\u003Cli>Any content where readers often stop and come back later\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This plugin is part of the \u003Ca href=\"https:\u002F\u002Fen.inithtml.com\u002Finit-plugin-suite-minimalist-powerful-and-free-wordpress-plugins\u002F\" rel=\"nofollow ugc\">Init Plugin Suite\u003C\u002Fa> — a collection of minimalist, fast, and developer-focused tools for WordPress.\u003C\u002Fp>\n\u003Cp>GitHub repository: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbrokensmile2103\u002Finit-reading-position\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002Fbrokensmile2103\u002Finit-reading-position\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Saves scroll position using localStorage (guests) or user_meta (logged-in users)\u003C\u002Fli>\n\u003Cli>Smart device-based sync: remembers position separately for PC, Mobile, and Tablet\u003C\u002Fli>\n\u003Cli>Automatically scrolls back on page load\u003C\u002Fli>\n\u003Cli>Lightweight, no jQuery, no bloat\u003C\u002Fli>\n\u003Cli>Easy to extend via filters\u003C\u002Fli>\n\u003Cli>Optional settings page to control which post types are enabled\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the GPLv2 or later.\u003Cbr \u002F>\nYou are free to use, modify, and distribute it under the same license.\u003C\u002Fp>\n","Remembers reading position and auto-scrolls when returning. Works for guests (localStorage) and logged-in users (user meta, per device).",389,[130,131,132,133,134],"reading","reading-progress","resume-reading","scroll","usermeta","https:\u002F\u002Finithtml.com\u002Fplugin\u002Finit-reading-position\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Finit-reading-position.1.2.zip",{"slug":138,"name":139,"version":92,"author":5,"author_profile":6,"description":140,"short_description":141,"active_installs":112,"downloaded":142,"rating":34,"num_ratings":34,"last_updated":143,"tested_up_to":23,"requires_at_least":46,"requires_php":25,"tags":144,"homepage":149,"download_link":150,"security_score":9,"vuln_count":34,"unpatched_count":34,"last_vuln_date":35,"fetched_at":36},"init-recent-comments","Init Recent Comments – Templated, Modern, Minimal","\u003Cp>\u003Cstrong>Init Recent Comments\u003C\u002Fstrong> is a developer-friendly plugin that lets you display the latest comments anywhere via a simple shortcode. It uses clean HTML, minimal CSS, and fully customizable templates.\u003C\u002Fp>\n\u003Cp>No widgets, no bloated options. Just lightweight, extendable code — made for real sites.\u003C\u002Fp>\n\u003Cp>Key design goals:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Templated rendering with override support from themes\u003C\u002Fli>\n\u003Cli>Clean CSS you can disable or replace\u003C\u002Fli>\n\u003Cli>REST-ready architecture (future-proof)\u003C\u002Fli>\n\u003Cli>No jQuery, no nonsense\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Perfect for blogs, news sites, or anyone who wants a better way to show active discussions.\u003C\u002Fp>\n\u003Cp>This plugin is part of the \u003Ca href=\"https:\u002F\u002Fen.inithtml.com\u002Finit-plugin-suite-minimalist-powerful-and-free-wordpress-plugins\u002F\" rel=\"nofollow ugc\">Init Plugin Suite\u003C\u002Fa> — a collection of minimalist, fast, and developer-focused tools for WordPress.\u003C\u002Fp>\n\u003Cp>GitHub repository: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbrokensmile2103\u002Finit-recent-comments\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002Fbrokensmile2103\u002Finit-recent-comments\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Simple shortcode: \u003Ccode>[init_recent_comments]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Template-based rendering (\u003Ccode>comment-item.php\u003C\u002Fcode>, \u003Ccode>wrapper.php\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>CSS can be disabled to use your theme’s design\u003C\u002Fli>\n\u003Cli>No widgets, no jQuery, no frontend bloat\u003C\u002Fli>\n\u003Cli>Developer-ready: extend with filters, REST, and lazy loading (planned)\u003C\u002Fli>\n\u003Cli>Translation-ready (\u003Ccode>.pot\u003C\u002Fcode> included)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cp>Use the shortcode anywhere:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[init_recent_comments number=\"5\" maxheight=\"400px\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Attributes:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>number\u003C\u002Fcode> – Total comments to show (default: 5)\u003C\u002Fli>\n\u003Cli>\u003Ccode>maxheight\u003C\u002Fcode> – Optional max height with scroll and hidden scrollbar (example: \u003Ccode>300px\u003C\u002Fcode>)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>To override templates, create the folder in your theme:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>your-theme\u002F\n└── init-recent-comments\u002F\n    ├── wrapper.php\n    └── comment-item.php\u003Ch3>Filters for Developers\u003C\u002Fh3>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>This plugin provides multiple filters to help developers customize caching behavior and performance for recent comments, reviews, and total comment count queries.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_recent_comments_ttl\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nControl the cache TTL (in seconds) for recent comments.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> Recent Comments Query\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>int $ttl\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_recent_comments_query_args\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nAllows developers to modify or extend the WP_Comment query arguments before the query runs.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> Recent Comments Query\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>array $args\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_recent_reviews_ttl\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nControl the cache TTL (in seconds) for recent reviews.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> Recent Reviews Query\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>int $ttl\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_total_comments_ttl\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nControl the cache TTL (in seconds) for total approved comment counts by post type.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> Total Comments Query\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>int $ttl\u003C\u002Fcode>, \u003Ccode>array $post_types\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_total_by_posts_ttl\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nControl the cache TTL (in seconds) for total approved comment counts across multiple post IDs.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> Total by Post IDs Query\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>int $ttl\u003C\u002Fcode>, \u003Ccode>array $post_ids\u003C\u002Fcode>\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the GPLv2 or later.\u003Cbr \u002F>\nYou are free to use, modify, and distribute it under the same license.\u003C\u002Fp>\n","Display recent comments with customizable templates and clean CSS. Lightweight, flexible, and built for modern WordPress sites.",506,"2025-11-05T11:35:00.000Z",[145,146,50,147,148],"comments","recent-comments","template","widget","https:\u002F\u002Finithtml.com\u002Fplugin\u002Finit-recent-comments\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Finit-recent-comments.1.4.zip",{"slug":152,"name":153,"version":154,"author":5,"author_profile":6,"description":155,"short_description":156,"active_installs":157,"downloaded":158,"rating":34,"num_ratings":34,"last_updated":159,"tested_up_to":23,"requires_at_least":46,"requires_php":25,"tags":160,"homepage":166,"download_link":167,"security_score":9,"vuln_count":34,"unpatched_count":34,"last_vuln_date":35,"fetched_at":36},"init-user-engine","Init User Engine – Gamified, Fast, Frontend-First","1.4.6","\u003Cp>\u003Cstrong>Init User Engine\u003C\u002Fstrong> is a lightweight, no-bloat user system for modern WordPress sites. It’s designed for maximum frontend flexibility and gamified user engagement. All dynamic interfaces are rendered via JavaScript with real-time REST API interaction.\u003C\u002Fp>\n\u003Cp>No jQuery. Minimal settings. Smart by default.\u003C\u002Fp>\n\u003Cp>What you get:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Display user avatar and dashboard via shortcode\u003C\u002Fli>\n\u003Cli>Show level, EXP, Coin\u002FCash, and full user wallet\u003C\u002Fli>\n\u003Cli>Let users check-in daily and receive timed rewards\u003C\u002Fli>\n\u003Cli>Auto-track referral registrations with reward system\u003C\u002Fli>\n\u003Cli>Allow users to buy VIP status using in-site currency\u003C\u002Fli>\n\u003Cli>Built-in inbox for notifications (uses custom DB table)\u003C\u002Fli>\n\u003Cli>Custom avatar support with upload & preview modal\u003C\u002Fli>\n\u003Cli>Send custom notifications to selected users or all members from wp-admin\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This plugin is the core user system behind the \u003Ca href=\"https:\u002F\u002Fen.inithtml.com\u002Finit-plugin-suite-minimalist-powerful-and-free-wordpress-plugins\u002F\" rel=\"nofollow ugc\">Init Plugin Suite\u003C\u002Fa> – optimized for frontend-first interaction, extensibility, and real-time gamification.\u003C\u002Fp>\n\u003Cp>GitHub repository: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbrokensmile2103\u002Finit-user-engine\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002Fbrokensmile2103\u002Finit-user-engine\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Avatar shortcode \u003Ccode>[init_user_engine]\u003C\u002Fcode> + modal dashboard  \u003C\u002Fli>\n\u003Cli>Avatar system with upload, preview, and revert support  \u003C\u002Fli>\n\u003Cli>EXP & Level system with hookable progression logic  \u003C\u002Fli>\n\u003Cli>Coin & Cash wallet system with transaction logs  \u003C\u002Fli>\n\u003Cli>Daily check-in with streak milestones & online bonus timer  \u003C\u002Fli>\n\u003Cli>Inbox system with pagination, read\u002Fclaim\u002Fdelete  \u003C\u002Fli>\n\u003Cli>VIP membership system with Coin-based purchase & expiry  \u003C\u002Fli>\n\u003Cli>Referral module with cookie-based signup tracking  \u003C\u002Fli>\n\u003Cli>Redeem Code \u002F Gift Code module – code in, rewards out\u003C\u002Fli>\n\u003Cli>REST API for all features (read\u002Fwrite\u002Fmodify)  \u003C\u002Fli>\n\u003Cli>Action\u002Ffilter hooks for full customization  \u003C\u002Fli>\n\u003Cli>Pure Vanilla JS frontend – no jQuery, no server bloat  \u003C\u002Fli>\n\u003Cli>Admin notification panel to send messages to selected users or all members\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Developer Hooks\u003C\u002Fh3>\n\u003Ch3>Filters\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_online_minutes\u003C\u002Fcode> – Modify required online minutes after check-in  \u003C\u002Fli>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_vip_prices\u003C\u002Fcode> – Modify VIP package prices  \u003C\u002Fli>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_referral_rewards\u003C\u002Fcode> – Modify referral rewards  \u003C\u002Fli>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_localized_data\u003C\u002Fcode> – Modify frontend JS data  \u003C\u002Fli>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_calculated_coin_amount\u003C\u002Fcode> – Modify Coin reward before apply  \u003C\u002Fli>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_calculated_exp_amount\u003C\u002Fcode> – Modify EXP reward before apply  \u003C\u002Fli>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_exp_required\u003C\u002Fcode> – Modify EXP required per level  \u003C\u002Fli>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_checkin_milestones\u003C\u002Fcode> – Set milestone streak days  \u003C\u002Fli>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_format_inbox\u003C\u002Fcode> – Modify formatted inbox data  \u003C\u002Fli>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_render_level_badge\u003C\u002Fcode> – Customize level badge HTML  \u003C\u002Fli>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_inbox_insert_data\u003C\u002Fcode> – Modify inbox data before inserting into database  \u003C\u002Fli>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_validate_register_fields\u003C\u002Fcode> – Validate or modify registration fields before account creation  \u003C\u002Fli>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_after_register\u003C\u002Fcode> – Hook after successful user registration (pass user ID and submitted data)  \u003C\u002Fli>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_daily_tasks\u003C\u002Fcode> – Add or modify daily task list and logic  \u003C\u002Fli>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_captcha_bank\u003C\u002Fcode> – Extend or modify the internal captcha question bank used for fallback validation  \u003C\u002Fli>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_format_log_message\u003C\u002Fcode> – Customize transaction log message display with access to entry data, source, type, and amount  \u003C\u002Fli>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_should_keep_original\u003C\u002Fcode> – Override decision to keep original uploaded avatar (GIF or other formats)  \u003C\u002Fli>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_vip_expire_soon_threshold\u003C\u002Fcode> – Modify the threshold (in seconds) used to determine when VIP is considered close to expiration  \u003C\u002Fli>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_body_vip_classes\u003C\u002Fcode> – Add, remove, or modify VIP-related CSS classes applied to the \u003Ccode>\u003Cbody>\u003C\u002Fcode> element\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Actions\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_level_up\u003C\u002Fcode> – When user levels up  \u003C\u002Fli>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_exp_added\u003C\u002Fcode> – After EXP is added  \u003C\u002Fli>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_transaction_logged\u003C\u002Fcode> – After Coin\u002FCash is logged  \u003C\u002Fli>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_exp_logged\u003C\u002Fcode> – After EXP log is recorded  \u003C\u002Fli>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_inbox_inserted\u003C\u002Fcode> – After new inbox message  \u003C\u002Fli>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_referral_completed\u003C\u002Fcode> – When referral is completed  \u003C\u002Fli>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_after_checkin\u003C\u002Fcode> – After user check-in  \u003C\u002Fli>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_after_claim_reward\u003C\u002Fcode> – After user claims reward  \u003C\u002Fli>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_vip_purchased\u003C\u002Fcode> – After VIP is purchased  \u003C\u002Fli>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_add_exp\u003C\u002Fcode> – Triggered when adding EXP via hook  \u003C\u002Fli>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_add_coin\u003C\u002Fcode> – Triggered when adding Coin via hook  \u003C\u002Fli>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_coin_changed\u003C\u002Fcode> – After user’s Coin balance is updated  \u003C\u002Fli>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_cash_changed\u003C\u002Fcode> – After user’s Cash balance is updated  \u003C\u002Fli>\n\u003Cli>\u003Ccode>init_plugin_suite_user_engine_admin_send_notice\u003C\u002Fcode> – When admin sends notification via wp-admin.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>REST API Endpoints\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Base:\u003C\u002Fstrong> \u003Ccode>\u002Fwp-json\u002Finituser\u002Fv1\u002F\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>POST \u002Fregister\u003C\u002Fcode> – Create a new user account  \u003C\u002Fli>\n\u003Cli>\u003Ccode>POST \u002Fcheckin\u003C\u002Fcode> – Daily check-in  \u003C\u002Fli>\n\u003Cli>\u003Ccode>POST \u002Fclaim-reward\u003C\u002Fcode> – Claim reward after online duration  \u003C\u002Fli>\n\u003Cli>\u003Ccode>GET  \u002Ftransactions\u003C\u002Fcode> – Get Coin\u002FCash transaction log  \u003C\u002Fli>\n\u003Cli>\u003Ccode>GET  \u002Fexp-log\u003C\u002Fcode> – Get EXP log  \u003C\u002Fli>\n\u003Cli>\u003Ccode>GET  \u002Finbox\u003C\u002Fcode> – Get inbox messages  \u003C\u002Fli>\n\u003Cli>\u003Ccode>POST \u002Finbox\u002Fmark-read\u003C\u002Fcode> – Mark a message as read  \u003C\u002Fli>\n\u003Cli>\u003Ccode>POST \u002Finbox\u002Fmark-all-read\u003C\u002Fcode> – Mark all as read  \u003C\u002Fli>\n\u003Cli>\u003Ccode>POST \u002Finbox\u002Fdelete\u003C\u002Fcode> – Delete a single message  \u003C\u002Fli>\n\u003Cli>\u003Ccode>POST \u002Finbox\u002Fdelete-all\u003C\u002Fcode> – Delete all messages  \u003C\u002Fli>\n\u003Cli>\u003Ccode>POST \u002Fvip\u002Fpurchase\u003C\u002Fcode> – Purchase VIP package  \u003C\u002Fli>\n\u003Cli>\u003Ccode>GET  \u002Freferral-log\u003C\u002Fcode> – Get referral history  \u003C\u002Fli>\n\u003Cli>\u003Ccode>POST \u002Favatar\u003C\u002Fcode> – Upload new avatar  \u003C\u002Fli>\n\u003Cli>\u003Ccode>POST \u002Favatar\u002Fremove\u003C\u002Fcode> – Remove custom avatar and revert to default  \u003C\u002Fli>\n\u003Cli>\u003Ccode>GET  \u002Fprofile\u002Fme\u003C\u002Fcode> – Get current user profile  \u003C\u002Fli>\n\u003Cli>\u003Ccode>POST \u002Fprofile\u002Fupdate\u003C\u002Fcode> – Update profile information\u003C\u002Fli>\n\u003Cli>\u003Ccode>GET  \u002Fdaily-tasks\u003C\u002Fcode> – Get list of completed daily tasks and rewards\u003C\u002Fli>\n\u003Cli>\u003Ccode>POST \u002Fexchange\u003C\u002Fcode> – Convert Cash \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Coin based on exchange rate\u003C\u002Fli>\n\u003Cli>\u003Ccode>POST \u002Fredeem-code\u003C\u002Fcode> – Redeem gift code (returns Coin\u002FCash rewards)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the GPLv2 or later.\u003Cbr \u002F>\nYou are free to use, modify, and distribute it under the same license.\u003C\u002Fp>\n","Gamified user engine with EXP levels, Coin\u002FCash wallet, check-in, VIP, inbox, and referral – powered by REST API and Vanilla JS.",40,2475,"2026-02-07T02:15:00.000Z",[161,162,163,164,165],"check-in","level","referral","user","vip","https:\u002F\u002Finithtml.com\u002Fplugin\u002Finit-user-engine\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Finit-user-engine.1.4.6.zip",{"slug":169,"name":170,"version":171,"author":5,"author_profile":6,"description":172,"short_description":173,"active_installs":10,"downloaded":174,"rating":34,"num_ratings":34,"last_updated":175,"tested_up_to":23,"requires_at_least":46,"requires_php":25,"tags":176,"homepage":182,"download_link":183,"security_score":9,"vuln_count":34,"unpatched_count":34,"last_vuln_date":35,"fetched_at":36},"init-pulse-for-discord","Init Pulse For Discord – Webhooks, Roles, Instant","1.0","\u003Cp>\u003Cstrong>Init Pulse For Discord\u003C\u002Fstrong> sends automatic notifications to your Discord channel whenever a post is published or updated.\u003C\u002Fp>\n\u003Cp>This plugin is part of the \u003Ca href=\"https:\u002F\u002Fen.inithtml.com\u002Finit-plugin-suite-minimalist-powerful-and-free-wordpress-plugins\u002F\" rel=\"nofollow ugc\">Init Plugin Suite\u003C\u002Fa> — a collection of minimalist, fast, and developer-focused tools for WordPress.\u003C\u002Fp>\n\u003Cp>GitHub repository: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbrokensmile2103\u002Finit-pulse-for-discord\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002Fbrokensmile2103\u002Finit-pulse-for-discord\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Perfect for:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Blog \u002F community announcements  \u003C\u002Fli>\n\u003Cli>Internal editorial workflow  \u003C\u002Fli>\n\u003Cli>Discord-driven audiences  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Straightforward configuration:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Paste your webhook URL  \u003C\u002Fli>\n\u003Cli>(Optional) Configure Discord role IDs inside \u003Cstrong>Categories\u003C\u002Fstrong> or \u003Cstrong>Tags\u003C\u002Fstrong>  \u003C\u002Fli>\n\u003Cli>Done — your server receives updates instantly  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Clean, minimal, and built for performance — no bloat, no external SDKs.\u003C\u002Fp>\n\u003Cp>Key design goals:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Minimal setup (Webhook + 1 settings page)\u003C\u002Fli>\n\u003Cli>No database clutter\u003C\u002Fli>\n\u003Cli>No JS\u002FCSS overhead on frontend\u003C\u002Fli>\n\u003Cli>Role-aware mentions through taxonomies\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Auto-send notifications when posts are \u003Cstrong>published\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Optional notifications when posts are \u003Cstrong>updated\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Role tagging based on Categories & Tags\u003Cbr \u002F>\n\u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> When a post is in that taxonomy, that role is mentioned\u003C\u002Fli>\n\u003Cli>Custom message template with placeholders:\n\u003Cul>\n\u003Cli>\u003Ccode>{title}\u003C\u002Fcode> — post title\u003C\u002Fli>\n\u003Cli>\u003Ccode>{title_url}\u003C\u002Fcode> — markdown title linking to URL\u003C\u002Fli>\n\u003Cli>\u003Ccode>{url}\u003C\u002Fcode> — post URL\u003C\u002Fli>\n\u003Cli>\u003Ccode>{excerpt}\u003C\u002Fcode> — trimmed excerpt\u003C\u002Fli>\n\u003Cli>\u003Ccode>{site_name}\u003C\u002Fcode> — your site’s name\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Optional featured image embed\u003C\u002Fli>\n\u003Cli>Retry logic & timeout controls\u003C\u002Fli>\n\u003Cli>No action removals — plays well with all other plugins\u003C\u002Fli>\n\u003Cli>Compact, modern codebase\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cp>Navigate to:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Init Pulse For Discord\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Available fields:\u003C\u002Fp>\n\u003Cp>  Field\u003Cbr \u002F>\n  Purpose\u003C\u002Fp>\n\u003Cp>  Webhook URL\u003Cbr \u002F>\n  Where notifications are sent\u003C\u002Fp>\n\u003Cp>  Username\u003Cbr \u002F>\n  Display name of your bot\u003C\u002Fp>\n\u003Cp>  Avatar URL\u003Cbr \u002F>\n  Custom bot avatar (optional)\u003C\u002Fp>\n\u003Cp>  Include Featured Image\u003Cbr \u002F>\n  Adds featured image as embed\u003C\u002Fp>\n\u003Cp>  Timeout \u002F Retries\u003Cbr \u002F>\n  Reliability controls\u003C\u002Fp>\n\u003Cp>  Message Template\u003Cbr \u002F>\n  Markdown-ready content\u003C\u002Fp>\n\u003Cp>Role IDs can be configured in:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Posts \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Categories \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Edit  \u003C\u002Fli>\n\u003Cli>Posts \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Tags \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Edit  \u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Example mention result:\u003C\u002Fp>\n\u003Cp>\u003C@&123456789012345678> New post published!\u003C\u002Fp>\n\u003Ch3>Filters for Developers\u003C\u002Fh3>\n\u003Cpre>\u003Ccode>init_plugin_suite_pulse_for_discord_payload  \n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Modify the final webhook payload before sending.\u003Cbr \u002F>\nParams: \u003Ccode>array $payload\u003C\u002Fcode>, \u003Ccode>int $post_id\u003C\u002Fcode>, \u003Ccode>string $context\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cp>add_filter(‘init_plugin_suite_pulse_for_discord_payload’, function($payload){\u003Cbr \u002F>\n    $payload[‘content’] .= “\\nCustom footer”;\u003Cbr \u002F>\n    return $payload;\u003Cbr \u002F>\n});\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the GPLv2 or later.\u003Cbr \u002F>\nYou are free to use, modify, and distribute it under the same license.\u003C\u002Fp>\n","Send WordPress post notifications to Discord using webhooks. Lightweight, fast, role-aware, and built for modern WordPress sites.",205,"2025-11-26T06:00:00.000Z",[177,178,179,180,181],"automation","discord","notifications","publish","webhook","https:\u002F\u002Finithtml.com\u002Fplugin\u002Finit-pulse-for-discord\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Finit-pulse-for-discord.1.0.zip",{"slug":185,"name":186,"version":187,"author":5,"author_profile":6,"description":188,"short_description":189,"active_installs":10,"downloaded":190,"rating":34,"num_ratings":34,"last_updated":191,"tested_up_to":23,"requires_at_least":46,"requires_php":25,"tags":192,"homepage":198,"download_link":199,"security_score":9,"vuln_count":34,"unpatched_count":34,"last_vuln_date":35,"fetched_at":36},"init-review-system","Init Review System – Reactions, Multi-Criteria, Guest-Friendly","1.16","\u003Cp>\u003Cstrong>Init Review System\u003C\u002Fstrong> adds a clean and customizable 5-star rating system to your WordPress site. Votes are stored via REST API, tracked with \u003Ccode>localStorage\u003C\u002Fcode>, and the average score is auto-calculated and optionally displayed with schema markup.\u003C\u002Fp>\n\u003Cp>Built to be lightweight, developer-friendly, and easy to integrate into any theme or custom UI. Now with \u003Cstrong>multi-criteria reviews\u003C\u002Fstrong> and an \u003Cstrong>emoji reactions system\u003C\u002Fstrong> for richer user interaction.\u003C\u002Fp>\n\u003Cp>This plugin is part of the \u003Ca href=\"https:\u002F\u002Fen.inithtml.com\u002Finit-plugin-suite-minimalist-powerful-and-free-wordpress-plugins\u002F\" rel=\"nofollow ugc\">Init Plugin Suite\u003C\u002Fa> — a collection of minimalist, fast, and developer-focused tools for WordPress.\u003C\u002Fp>\n\u003Cp>GitHub repository: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbrokensmile2103\u002Finit-review-system\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002Fbrokensmile2103\u002Finit-review-system\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Highlights:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>5-star voting via frontend\u003C\u002Fli>\n\u003Cli>\u003Cstrong>NEW: Multi-criteria review support\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>NEW: Emoji Reactions with Login Enforcement\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Average score display\u003C\u002Fli>\n\u003Cli>Optional login requirement\u003C\u002Fli>\n\u003Cli>Optional strict IP checking\u003C\u002Fli>\n\u003Cli>REST API for vote submission\u003C\u002Fli>\n\u003Cli>JSON-LD schema for SEO\u003C\u002Fli>\n\u003Cli>Works with any post type\u003C\u002Fli>\n\u003Cli>Minimal, theme-friendly UI\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>5-star rating system\u003C\u002Fli>\n\u003Cli>Multi-criteria review scoring (up to 5 custom criteria)\u003C\u002Fli>\n\u003Cli>Emoji-based reactions bar with live counts (requires login)\u003C\u002Fli>\n\u003Cli>REST API endpoint for reactions: \u003Ccode>\u002Fwp-json\u002Finitrsys\u002Fv1\u002Freactions\u002Ftoggle\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Reactions stored in both post meta and dedicated user\u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">↔\u003C\u002Fspan>post mapping table\u003C\u002Fli>\n\u003Cli>Accessibility-ready with \u003Ccode>aria-pressed\u003C\u002Fcode> + \u003Ccode>aria-live\u003C\u002Fcode> updates\u003C\u002Fli>\n\u003Cli>Shortcode-based integration\u003C\u002Fli>\n\u003Cli>Auto-insert blocks before\u002Fafter content or comments\u003C\u002Fli>\n\u003Cli>Optional login + IP check to prevent abuse\u003C\u002Fli>\n\u003Cli>REST API endpoint: \u003Ccode>\u002Fwp-json\u002Finitrsys\u002Fv1\u002Fvote\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Developer filters and extensible architecture\u003C\u002Fli>\n\u003Cli>No jQuery, only minimal assets loaded when needed\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Ch3>[init_review_system]\u003C\u002Fh3>\n\u003Cp>Displays interactive 5-star voting block.\u003C\u002Fp>\n\u003Cp>Attributes:\u003Cbr \u002F>\n– \u003Ccode>id\u003C\u002Fcode>: Post ID (default: current post)\u003Cbr \u002F>\n– \u003Ccode>class\u003C\u002Fcode>: Custom CSS class\u003Cbr \u002F>\n– \u003Ccode>schema\u003C\u002Fcode>: \u003Ccode>true|false\u003C\u002Fcode> – Output JSON-LD schema markup\u003C\u002Fp>\n\u003Ch3>[init_review_score]\u003C\u002Fh3>\n\u003Cp>Displays average score (read-only).\u003C\u002Fp>\n\u003Cp>Attributes:\u003Cbr \u002F>\n– \u003Ccode>id\u003C\u002Fcode>: Post ID (default: current post)\u003Cbr \u002F>\n– \u003Ccode>icon\u003C\u002Fcode>: \u003Ccode>true|false\u003C\u002Fcode> – Show star icon (default: false)\u003Cbr \u002F>\n– \u003Ccode>sub\u003C\u002Fcode>: \u003Ccode>true|false\u003C\u002Fcode> – Show \u003Ccode>\u002F5\u003C\u002Fcode> subtext (default: true)\u003Cbr \u002F>\n– \u003Ccode>class\u003C\u002Fcode>: Custom CSS class\u003Cbr \u002F>\n– \u003Ccode>hide_if_empty\u003C\u002Fcode>: \u003Ccode>true|false\u003C\u002Fcode> – Hide if no reviews (default: false)\u003C\u002Fp>\n\u003Ch3>[init_review_criteria]\u003C\u002Fh3>\n\u003Cp>Displays multi-criteria review block.\u003C\u002Fp>\n\u003Cp>Attributes:\u003Cbr \u002F>\n– \u003Ccode>id\u003C\u002Fcode>: Post ID (default: current post)\u003Cbr \u002F>\n– \u003Ccode>class\u003C\u002Fcode>: Custom CSS class\u003Cbr \u002F>\n– \u003Ccode>schema\u003C\u002Fcode>: \u003Ccode>true|false\u003C\u002Fcode> – Output schema markup (default: false)\u003Cbr \u002F>\n– \u003Ccode>per_page\u003C\u002Fcode>: Number of reviews to show (default: 0 = all)\u003Cbr \u002F>\n– \u003Ccode>paged\u003C\u002Fcode>: Current review page number (default: 1)\u003C\u002Fp>\n\u003Ch3>[init_reactions]\u003C\u002Fh3>\n\u003Cp>Displays emoji reactions bar under a post.\u003C\u002Fp>\n\u003Cp>Attributes:\u003Cbr \u002F>\n– \u003Ccode>id\u003C\u002Fcode>: Post ID (default: current post)\u003Cbr \u002F>\n– \u003Ccode>class\u003C\u002Fcode>: Custom CSS class\u003Cbr \u002F>\n– \u003Ccode>require_login\u003C\u002Fcode>: Always true (login required)\u003C\u002Fp>\n\u003Ch3>Filters for Developers\u003C\u002Fh3>\n\u003Cp>This plugin provides filters and actions to let developers customize auto-insert behavior, schema output, review permissions, and REST API logic.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_review_system_auto_insert_enabled_score\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nEnable or disable automatic score output (before\u002Fafter content).\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> Frontend filter\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>bool $enabled\u003C\u002Fcode>, \u003Ccode>string $position\u003C\u002Fcode>, \u003Ccode>string $post_type\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_review_system_auto_insert_enabled_vote\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nEnable or disable automatic voting block insertion.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> Frontend filter\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>bool $enabled\u003C\u002Fcode>, \u003Ccode>string $position\u003C\u002Fcode>, \u003Ccode>string $post_type\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_review_system_default_score_shortcode\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nChange the default shortcode used for score auto-insertion.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> Frontend\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>string $shortcode\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_review_system_default_vote_shortcode\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nChange the default shortcode used for voting block auto-insertion.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> Frontend\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>string $shortcode\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_review_system_require_login\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nForce login for submitting reviews, even if disabled in settings.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> REST \u003Ccode>\u002Fsubmit-criteria-review\u003C\u002Fcode>\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>bool $require_login\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_review_system_min_len_for_ws_check\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nAdjust minimum length threshold for triggering no-whitespace check.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> Backend + JS precheck\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>int $threshold\u003C\u002Fcode> (default \u003Ccode>20\u003C\u002Fcode>)\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_review_system_repetition_threshold\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nAdjust repetition threshold for detecting excessive word repetition.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> Backend + JS precheck\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>int $threshold\u003C\u002Fcode> (default \u003Ccode>8\u003C\u002Fcode>)\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_review_system_schema_type\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nCustomize schema.org type (e.g., \u003Ccode>Book\u003C\u002Fcode>, \u003Ccode>Product\u003C\u002Fcode>, \u003Ccode>Course\u003C\u002Fcode>).\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> Shortcode output\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>string $type\u003C\u002Fcode>, \u003Ccode>string $post_type\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_review_system_schema_data\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nModify JSON-LD schema output array.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> Shortcode output\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>array $data\u003C\u002Fcode>, \u003Ccode>int $post_id\u003C\u002Fcode>, \u003Ccode>string $schema_type\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_review_system_after_vote\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nRun custom logic after a single-star vote is submitted.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> REST \u003Ccode>\u002Fvote\u003C\u002Fcode>\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>int $post_id\u003C\u002Fcode>, \u003Ccode>float $score\u003C\u002Fcode>, \u003Ccode>float $avg_score\u003C\u002Fcode>, \u003Ccode>int $total_votes\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_review_system_after_criteria_review\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nTrigger custom logic after a multi-criteria review is submitted.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> REST \u003Ccode>\u002Fsubmit-criteria-review\u003C\u002Fcode>\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>int $post_id\u003C\u002Fcode>, \u003Ccode>int $user_id\u003C\u002Fcode>, \u003Ccode>float $avg_score\u003C\u002Fcode>, \u003Ccode>string $review_content\u003C\u002Fcode>, \u003Ccode>array $scores\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_review_system_get_reaction_types\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nCustomize available reaction types (labels + emojis).\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> Reactions system\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>array $types\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_review_system_reaction_meta_key\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nCustomize the meta key used for storing reaction counts.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> Reaction counts storage\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>string $meta_key\u003C\u002Fcode>, \u003Ccode>string $rx_key\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>init_plugin_suite_review_system_ttl\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nSet TTL (in seconds) for object cache on review queries. Defaults to \u003Ccode>0\u003C\u002Fcode> (cache disabled). Set a value greater than \u003Ccode>0\u003C\u002Fcode> to enable caching via \u003Ccode>wp_cache_set\u003C\u002Fcode> with group \u003Ccode>init_review_system\u003C\u002Fcode>.\u003Cbr \u002F>\n\u003Cstrong>Applies to:\u003C\u002Fstrong> REST get reviews, get total reviews\u003Cbr \u002F>\n\u003Cstrong>Params:\u003C\u002Fstrong> \u003Ccode>int $ttl\u003C\u002Fcode> (default \u003Ccode>0\u003C\u002Fcode>)\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the GPLv2 or later.\u003Cbr \u002F>\nYou are free to use, modify, and distribute it under the same license.\u003C\u002Fp>\n","Fast 5-star rating plugin with schema, REST API, shortcode control, localStorage voting. Now with multi-criteria review support.",1530,"2026-03-01T13:04:00.000Z",[193,194,195,196,197],"rating","reaction","review","schema","vote","https:\u002F\u002Finithtml.com\u002Fplugin\u002Finit-review-system\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Finit-review-system.1.16.zip",{"slug":201,"name":202,"version":203,"author":5,"author_profile":6,"description":204,"short_description":205,"active_installs":206,"downloaded":207,"rating":34,"num_ratings":34,"last_updated":208,"tested_up_to":23,"requires_at_least":209,"requires_php":25,"tags":210,"homepage":216,"download_link":217,"security_score":9,"vuln_count":34,"unpatched_count":34,"last_vuln_date":35,"fetched_at":36},"init-content-protector","Init Content Protector – Anti-Copy, Anti-Scrape, Encrypt-All","1.3","\u003Cp>\u003Cstrong>Init Content Protector\u003C\u002Fstrong> is a powerful yet lightweight plugin that safeguards your post content from unauthorized copying, scraping tools, and inspection via browser developer tools.\u003C\u002Fp>\n\u003Cp>This plugin is part of the \u003Ca href=\"https:\u002F\u002Fen.inithtml.com\u002Finit-plugin-suite-minimalist-powerful-and-free-wordpress-plugins\u002F\" rel=\"nofollow ugc\">Init Plugin Suite\u003C\u002Fa> — a collection of minimalist, fast, and developer-focused tools for WordPress.\u003C\u002Fp>\n\u003Cp>GitHub repository: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbrokensmile2103\u002Finit-content-protector\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002Fbrokensmile2103\u002Finit-content-protector\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features:\u003C\u002Fstrong>\u003Cbr \u002F>\n– JavaScript-based copy protection (blocks selection, right-click, print, DevTools access)\u003Cbr \u002F>\n– Full content encryption with client-side decryption using CryptoJS\u003Cbr \u002F>\n– Keyword cloaking using CSS pseudo-elements\u003Cbr \u002F>\n– Invisible noise injection to confuse crawlers\u003Cbr \u002F>\n– Per-post type configuration\u003Cbr \u002F>\n– Custom encryption key per site\u003Cbr \u002F>\n– Custom content selector support\u003C\u002Fp>\n\u003Cp>Use this plugin to harden your site’s content visibility while maintaining a smooth reading experience for real users.\u003C\u002Fp>\n\u003Ch3>Source Code\u003C\u002Fh3>\n\u003Cp>This plugin uses \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbrix\u002Fcrypto-js\" rel=\"nofollow ugc\">CryptoJS\u003C\u002Fa> for encryption.\u003Cbr \u002F>\n– Minified version: \u003Ccode>assets\u002Fjs\u002Fcrypto-js.min.js\u003C\u002Fcode>\u003Cbr \u002F>\n– Source version: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbrix\u002Fcrypto-js\" rel=\"nofollow ugc\">GitHub Repo\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the GPLv2 or later.\u003Cbr \u002F>\nYou are free to use, modify, and distribute it under the same license.\u003C\u002Fp>\n","Protect your content from copying, scraping, and inspection using JS blocking, keyword cloaking, noise injection, and optional full encryption.",20,407,"2025-11-14T14:17:00.000Z","5.7",[211,212,213,214,215],"anti-copy","anti-scraping","content-protection","copy-protection","encryption","https:\u002F\u002Finithtml.com\u002Fplugin\u002Finit-content-protector\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Finit-content-protector.1.3.zip"]