{"id":253860,"date":"2025-09-30T04:17:57","date_gmt":"2025-09-30T04:17:57","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/init-recent-comments\/"},"modified":"2025-11-05T11:35:24","modified_gmt":"2025-11-05T11:35:24","slug":"init-recent-comments","status":"publish","type":"plugin","link":"https:\/\/zul.wordpress.org\/plugins\/init-recent-comments\/","author":14479633,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.4","stable_tag":"1.4","tested":"6.9.4","requires":"5.5","requires_php":"7.4","requires_plugins":null,"header_name":"Init Recent Comments","header_author":"Init HTML","header_description":"Display recent comments with customizable templates and clean CSS. Lightweight, flexible, and built for modern WordPress sites.","assets_banners_color":"90cc52","last_updated":"2025-11-05 11:35:24","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/inithtml.com\/plugin\/init-recent-comments\/","header_author_uri":"https:\/\/inithtml.com\/","rating":0,"author_block_rating":0,"active_installs":40,"downloads":551,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0":{"tag":"1.0","author":"brokensmile.2103","date":"2025-09-30 04:21:37"},"1.1":{"tag":"1.1","author":"brokensmile.2103","date":"2025-10-01 05:20:42"},"1.2":{"tag":"1.2","author":"brokensmile.2103","date":"2025-10-12 08:30:45"},"1.3":{"tag":"1.3","author":"brokensmile.2103","date":"2025-11-03 14:00:02"},"1.4":{"tag":"1.4","author":"brokensmile.2103","date":"2025-11-05 11:35:24"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3370090,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3370090,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3370090,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3370090,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0","1.1","1.2","1.3","1.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3370090,"resolution":"1","location":"assets","locale":""}},"screenshots":{"1":"Settings page with CSS toggle"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[107,4429,80,975,162],"plugin_category":[43,44],"plugin_contributors":[242666],"plugin_business_model":[],"class_list":["post-253860","plugin","type-plugin","status-publish","hentry","plugin_tags-comments","plugin_tags-recent-comments","plugin_tags-shortcode","plugin_tags-template","plugin_tags-widget","plugin_category-customization","plugin_category-discussion-and-community","plugin_contributors-brokensmile2103-1","plugin_committers-brokensmile2103-1"],"banners":{"banner":"https:\/\/ps.w.org\/init-recent-comments\/assets\/banner-772x250.png?rev=3370090","banner_2x":"https:\/\/ps.w.org\/init-recent-comments\/assets\/banner-1544x500.png?rev=3370090","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/init-recent-comments\/assets\/icon-128x128.png?rev=3370090","icon_2x":"https:\/\/ps.w.org\/init-recent-comments\/assets\/icon-256x256.png?rev=3370090","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/init-recent-comments\/assets\/screenshot-1.png?rev=3370090","caption":"Settings page with CSS toggle"}],"raw_content":"<!--section=description-->\n<p><strong>Init Recent Comments<\/strong> 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.<\/p>\n\n<p>No widgets, no bloated options. Just lightweight, extendable code \u2014 made for real sites.<\/p>\n\n<p>Key design goals:<\/p>\n\n<ul>\n<li>Templated rendering with override support from themes<\/li>\n<li>Clean CSS you can disable or replace<\/li>\n<li>REST-ready architecture (future-proof)<\/li>\n<li>No jQuery, no nonsense<\/li>\n<\/ul>\n\n<p>Perfect for blogs, news sites, or anyone who wants a better way to show active discussions.<\/p>\n\n<p>This plugin is part of the <a href=\"https:\/\/en.inithtml.com\/init-plugin-suite-minimalist-powerful-and-free-wordpress-plugins\/\">Init Plugin Suite<\/a> \u2014 a collection of minimalist, fast, and developer-focused tools for WordPress.<\/p>\n\n<p>GitHub repository: <a href=\"https:\/\/github.com\/brokensmile2103\/init-recent-comments\">https:\/\/github.com\/brokensmile2103\/init-recent-comments<\/a><\/p>\n\n<h3>Features<\/h3>\n\n<ul>\n<li>Simple shortcode: <code>[init_recent_comments]<\/code><\/li>\n<li>Template-based rendering (<code>comment-item.php<\/code>, <code>wrapper.php<\/code>)<\/li>\n<li>CSS can be disabled to use your theme's design<\/li>\n<li>No widgets, no jQuery, no frontend bloat<\/li>\n<li>Developer-ready: extend with filters, REST, and lazy loading (planned)<\/li>\n<li>Translation-ready (<code>.pot<\/code> included)<\/li>\n<\/ul>\n\n<h3>Usage<\/h3>\n\n<p>Use the shortcode anywhere:<\/p>\n\n<pre><code>[init_recent_comments number=\"5\" maxheight=\"400px\"]\n<\/code><\/pre>\n\n<p>Attributes:<\/p>\n\n<ul>\n<li><code>number<\/code> \u2013 Total comments to show (default: 5)<\/li>\n<li><code>maxheight<\/code> \u2013 Optional max height with scroll and hidden scrollbar (example: <code>300px<\/code>)<\/li>\n<\/ul>\n\n<p>To override templates, create the folder in your theme:<\/p>\n\n<pre><code>your-theme\/\n\u2514\u2500\u2500 init-recent-comments\/\n    \u251c\u2500\u2500 wrapper.php\n    \u2514\u2500\u2500 comment-item.php&lt;h3&gt;Filters for Developers&lt;\/h3&gt;\n<\/code><\/pre>\n\n<p>This plugin provides multiple filters to help developers customize caching behavior and performance for recent comments, reviews, and total comment count queries.<\/p>\n\n<p><strong><code>init_plugin_suite_recent_comments_ttl<\/code><\/strong><br \/>\nControl the cache TTL (in seconds) for recent comments.<br \/>\n<strong>Applies to:<\/strong> Recent Comments Query<br \/>\n<strong>Params:<\/strong> <code>int $ttl<\/code><\/p>\n\n<p><strong><code>init_plugin_suite_recent_comments_query_args<\/code><\/strong><br \/>\nAllows developers to modify or extend the WP_Comment query arguments before the query runs.<br \/>\n<strong>Applies to:<\/strong> Recent Comments Query<br \/>\n<strong>Params:<\/strong> <code>array $args<\/code><\/p>\n\n<p><strong><code>init_plugin_suite_recent_reviews_ttl<\/code><\/strong><br \/>\nControl the cache TTL (in seconds) for recent reviews.<br \/>\n<strong>Applies to:<\/strong> Recent Reviews Query<br \/>\n<strong>Params:<\/strong> <code>int $ttl<\/code><\/p>\n\n<p><strong><code>init_plugin_suite_total_comments_ttl<\/code><\/strong><br \/>\nControl the cache TTL (in seconds) for total approved comment counts by post type.<br \/>\n<strong>Applies to:<\/strong> Total Comments Query<br \/>\n<strong>Params:<\/strong> <code>int $ttl<\/code>, <code>array $post_types<\/code><\/p>\n\n<p><strong><code>init_plugin_suite_total_by_posts_ttl<\/code><\/strong><br \/>\nControl the cache TTL (in seconds) for total approved comment counts across multiple post IDs.<br \/>\n<strong>Applies to:<\/strong> Total by Post IDs Query<br \/>\n<strong>Params:<\/strong> <code>int $ttl<\/code>, <code>array $post_ids<\/code><\/p>\n\n<h3>License<\/h3>\n\n<p>This plugin is licensed under the GPLv2 or later.<br \/>\nYou are free to use, modify, and distribute it under the same license.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate via <strong>Plugins \u2192 Init Recent Comments<\/strong><\/li>\n<li>Use the shortcode <code>[init_recent_comments]<\/code> in any page or widget<\/li>\n<li>Optional: Visit <strong>Settings \u2192 Init Recent Comments<\/strong> to disable built-in CSS<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='can%20i%20disable%20the%20plugin%E2%80%99s%20css%3F'><h3>Can I disable the plugin\u2019s CSS?<\/h3><\/dt>\n<dd><p>Yes! Go to <strong>Settings \u2192 Init Recent Comments<\/strong> and check the box to disable built-in styling.<\/p><\/dd>\n<dt id='can%20i%20customize%20the%20comment%20html%3F'><h3>Can I customize the comment HTML?<\/h3><\/dt>\n<dd><p>Absolutely. Copy <code>templates\/comment-item.php<\/code> and <code>templates\/wrapper.php<\/code> to your theme to override the output.<\/p><\/dd>\n<dt id='will%20this%20plugin%20slow%20down%20my%20site%3F'><h3>Will this plugin slow down my site?<\/h3><\/dt>\n<dd><p>No. It uses <code>get_comments()<\/code> with sane defaults, no extra queries, no JavaScript.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.4 \u2013 November 5, 2025<\/h4>\n\n<ul>\n<li>Introduced new user-specific shortcodes:\n\n<ul>\n<li><code>[init_plugin_suite_user_recent_comments]<\/code> \u2014 display recent comments made by a specific user<\/li>\n<li><code>[init_plugin_suite_user_recent_reviews]<\/code> \u2014 display recent reviews made by a specific user<\/li>\n<li>Backward-compat maintained: <code>[init_user_recent_comments]<\/code> and <code>[init_user_recent_reviews]<\/code><\/li>\n<\/ul><\/li>\n<li>Both shortcodes reuse existing template system (wrapper.php \/ review-wrapper.php), ensuring UI consistency<\/li>\n<li>Fully supports pagination, theme mode, max height, and query argument overriding through filters<\/li>\n<li>Added new helpers for fetching user data:\n\n<ul>\n<li><code>init_plugin_suite_recent_comments_get_user_comments()<\/code><\/li>\n<li><code>init_plugin_suite_recent_comments_get_user_reviews()<\/code><\/li>\n<\/ul><\/li>\n<li>Implemented separate cache groups for user comments &amp; user reviews\n\n<ul>\n<li>TTL fully customizable via filters (<code>init_plugin_suite_user_recent_comments_ttl<\/code>, <code>init_plugin_suite_user_recent_reviews_ttl<\/code>)<\/li>\n<\/ul><\/li>\n<li>Updated review item template:\n\n<ul>\n<li>Display reviewer name and avatar resolved from <code>user_id<\/code> instead of relying on non-existing <code>author_name<\/code><\/li>\n<li>Fallback support for anonymous reviewers<\/li>\n<\/ul><\/li>\n<li>Internal improvements and cleanup for code reliability and maintainability<\/li>\n<\/ul>\n\n<h4>1.3 \u2013 November 4, 2025<\/h4>\n\n<ul>\n<li>Added new filter <code>init_plugin_suite_recent_comments_query_args<\/code> allows developers to modify or extend the comment query args before running <code>get_comments()<\/code><\/li>\n<li>Improved recent comments retrieval function:\n\n<ul>\n<li>Supports overriding query parameters via filter (e.g., filter by <code>post_type<\/code>, change <code>number<\/code>, include <code>meta_query<\/code>, etc.)<\/li>\n<li>Maintains full backward compatibility<\/li>\n<\/ul><\/li>\n<li>UI update for Reply-to context:\n\n<ul>\n<li>Recent comment items now display \"Replying to {Author}\" when the comment has a parent<\/li>\n<li>Added minimal CSS styling (non-intrusive, inherits container background)<\/li>\n<\/ul><\/li>\n<li>Codebase refinements:\n\n<ul>\n<li>Minor internal cleanups for readability and maintainability<\/li>\n<li>Consistent filter naming across features to match the plugin's prefix standard<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h4>1.2 \u2013 October 12, 2025<\/h4>\n\n<ul>\n<li>Enhanced caching flexibility for existing functions:\n\n<ul>\n<li>Added TTL filter support to init_plugin_suite_recent_comments_get_comments()<\/li>\n<li>Added TTL filter support to init_plugin_suite_recent_comments_get_reviews()<\/li>\n<li>Added TTL filter support to init_plugin_suite_recent_comments_get_total_comments()<\/li>\n<\/ul><\/li>\n<li>Introduced new helper function init_plugin_suite_recent_comments_get_total_by_posts() for counting total approved comments across multiple post IDs<\/li>\n<li>Separated cache group for comment totals (<code>init_comment_totals<\/code>) to improve cache isolation and performance<\/li>\n<li>Developers can now customize cache durations via filters<\/li>\n<li>Default TTL values remain unchanged (0 for comments\/reviews, 5 minutes for totals)<\/li>\n<li>Minor internal optimizations for stability and consistency<\/li>\n<\/ul>\n\n<h4>1.1 \u2013 October 1, 2025<\/h4>\n\n<ul>\n<li>Added new shortcode <code>[init_recent_reviews]<\/code> for displaying recent reviews  <\/li>\n<li>Introduced prefixed shortcodes <code>[init_plugin_suite_recent_comments]<\/code> and <code>[init_plugin_suite_recent_reviews]<\/code> for better naming consistency  <\/li>\n<li>Maintained backward compatibility: old shortcodes <code>[init_recent_comments]<\/code> and <code>[init_recent_reviews]<\/code> still work  <\/li>\n<li>Added template override support for review wrapper (<code>init-recent-comments\/review-wrapper.php<\/code>)  <\/li>\n<li>Unified CSS handling and options across both comments and reviews shortcodes  <\/li>\n<\/ul>\n\n<h4>1.0 \u2013 June 16, 2025<\/h4>\n\n<ul>\n<li>Initial release  <\/li>\n<li>Static shortcode <code>[init_recent_comments]<\/code>  <\/li>\n<li>Basic settings page to toggle CSS  <\/li>\n<li>Template override support  <\/li>\n<li>Clean CSS with disable option<\/li>\n<\/ul>","raw_excerpt":"Display recent comments with customizable templates and clean CSS. Lightweight, flexible, and built for modern WordPress sites.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/zul.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/253860","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zul.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/zul.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/zul.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=253860"}],"author":[{"embeddable":true,"href":"https:\/\/zul.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/brokensmile2103-1"}],"wp:attachment":[{"href":"https:\/\/zul.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=253860"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/zul.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=253860"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/zul.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=253860"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/zul.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=253860"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/zul.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=253860"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/zul.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=253860"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}