[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fCYGp32JoGPH9AoArk3xx1okZrSmBsRQoln8eNSyEChE":3,"$fGn8-dVfVXuYKRlQH-iZn9EKDzvHGdc-GiiLjodpnf3o":386,"$fRzdcclZdkc82qOv_upzcH27usJsEir8gT0OxOt533_Y":391},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"discovery_status":31,"vulnerabilities":32,"developer":33,"crawl_stats":29,"alternatives":41,"analysis":144,"fingerprints":365},"advanced-random-posts-widget","Advanced Random Posts Widget","2.2.1","Ga Satrya","https:\u002F\u002Fprofiles.wordpress.org\u002Fsatrya\u002F","\u003Ch4>Notice\u003C\u002Fh4>\n\u003Cp>This plugin is no longer supported, please use \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Frecent-posts-widget-extended\u002F\" rel=\"ugc\">Recent posts widget Extended\u003C\u002Fa> instead.\u003C\u002Fp>\n\u003Cp>This plugin will enable a custom, flexible and advanced random posts. It allows you to display a list of random posts via shortcode or widget with thumbnail, excerpt and post date, also you can display it from all or specific or multiple taxonomy.\u003C\u002Fp>\n\u003Ch4>Features Include\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Allow you to set title url.\u003C\u002Fli>\n\u003Cli>Display thumbnails, with customizable size and alignment.\u003C\u002Fli>\n\u003Cli>Display excerpt, with customizable length.\u003C\u002Fli>\n\u003Cli>Display from all, specific or multiple category.\u003C\u002Fli>\n\u003Cli>Display from all, specific or multiple tag.\u003C\u002Fli>\n\u003Cli>Display from all, specific or multiple taxonomy.\u003C\u002Fli>\n\u003Cli>Display post date.\u003C\u002Fli>\n\u003Cli>Display post modified date.\u003C\u002Fli>\n\u003Cli>Post types.\u003C\u002Fli>\n\u003Cli>Post status.\u003C\u002Fli>\n\u003Cli>Allow you to set custom css class per widget.\u003C\u002Fli>\n\u003Cli>Add custom html or text before and\u002For after random posts.\u003C\u002Fli>\n\u003Cli>Multiple widgets.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Support Me\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Purchase or download my \u003Ca href=\"https:\u002F\u002Fwp.idenovasi.com\u002F\" rel=\"nofollow ugc\">WordPress themes\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>Purchase my \u003Ca href=\"https:\u002F\u002Fwww.fiverr.com\u002Fidenovasi\" rel=\"nofollow ugc\">Services\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>Try another \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fidenovasi\u002F#content-plugins\" rel=\"nofollow ugc\">WordPress plugin\u003C\u002Fa> from me.\u003C\u002Fli>\n\u003Cli>Contribute on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fidenovasi\u002Fadvanced-random-posts-widget\" rel=\"nofollow ugc\">Github\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Shorcode Explanation\u003C\u002Fh3>\n\u003Cp>Explanation of shortcode options:\u003C\u002Fp>\n\u003Cp>Basic shortcode\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[arpw]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Display 10 random posts\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[arpw limit=\"10\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Display with thumbnail and set the size\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[arpw thumbnail=\"true\" thumbnail_size=\"arpw-thumbnail\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Display posts based on category by id\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[arpw thumbnail=\"true\" cat=\"10\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Display portfolio post type\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[arpw post_type=\"portfolio\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Here’s the full default shortcode arguments\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>title=\"\"\noffset=\"\"\nlimit=\"5\"\npost_type=\"post\"\npost_status=\"publish\"\nignore_sticky=\"1\"\ntaxonomy=\"\"\ncat=\"\"\ntag=\"\"\nthumbnail=\"false\"\nthumbnail_size=\"arpw-thumbnail\"\nthumbnail_align=\"left\"\nexcerpt=\"false\"\nexcerpt_length=\"10\"\ndate=\"false\"\ndate_modified=\"false\"\ndate_relative=\"false\"\ncss_class=\"\"\nbefore=\"\"\nafter=\"\"\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Provides flexible and advanced random posts. Display it via shortcode or widget with thumbnails, post excerpt, and much more!",10000,216931,80,39,"2023-08-05T11:11:00.000Z","6.1.10","4.5","",[20,21,22,23,24],"random-posts","sidebar","thumbnail","widget","widgets","https:\u002F\u002Fgithub.com\u002Fidenovasi\u002Fadvanced-random-posts-widget","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-random-posts-widget.2.2.1.zip",85,0,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":34,"display_name":7,"profile_url":8,"plugin_count":35,"total_installs":36,"avg_security_score":37,"avg_patch_time_days":38,"trust_score":39,"computed_at":40},"satrya",7,41010,89,524,71,"2026-05-19T17:11:30.866Z",[42,61,80,105,123],{"slug":43,"name":44,"version":45,"author":46,"author_profile":47,"description":48,"short_description":49,"active_installs":50,"downloaded":51,"rating":50,"num_ratings":52,"last_updated":53,"tested_up_to":54,"requires_at_least":55,"requires_php":18,"tags":56,"homepage":59,"download_link":60,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"recent-post-widget-thumbnail","Recent Post Widget Thumbnail","1.0.3","fervillz","https:\u002F\u002Fprofiles.wordpress.org\u002Ffervillz\u002F","\u003Cp>This plugin will empower a custom, adaptable and easy to use recent posts widget, you can show it by means of widget. Permits you to show a list of the latest posts with thumbnail, excerpt and post date.\u003C\u002Fp>\n","Gives adaptable and highly organized recent posts. Show it through widget with thumbnails, post excerpt, post date.",100,8473,1,"2016-04-05T01:39:00.000Z","4.4.34","3.9",[57,21,58,23,24],"recent-posts","thumbnails","http:\u002F\u002Ffernandovillamorjr.com\u002Fplugins\u002Fabout-us-widget\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frecent-post-widget-thumbnail.1.0.3.zip",{"slug":62,"name":63,"version":64,"author":65,"author_profile":66,"description":67,"short_description":68,"active_installs":69,"downloaded":70,"rating":50,"num_ratings":71,"last_updated":72,"tested_up_to":73,"requires_at_least":74,"requires_php":18,"tags":75,"homepage":77,"download_link":78,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":79},"wp-advanced-posts-widget","WP Advanced Posts Widget","1.0.1","Lazar Momcilovic","https:\u002F\u002Fprofiles.wordpress.org\u002Flakialex\u002F","\u003Cp>WP Advanced Posts Widget is a no fuss WordPress widget to showcase your latest, trending and popular posts. It’s lightweight, simple to use and powerful in features.\u003C\u002Fp>\n","WP Advanced Posts Widget is a no fuss WordPress widget to showcase your latest, trending and popular posts. It's lightweight, simple to use and p &hellip;",10,1380,2,"2019-09-05T19:38:00.000Z","5.2.24","5.0",[76,21,58,23,24],"posts","https:\u002F\u002Fgithub.com\u002FlakiAlex\u002Fwp-advanced-posts-widget","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-advanced-posts-widget.zip","2026-03-15T15:16:48.613Z",{"slug":81,"name":82,"version":83,"author":84,"author_profile":85,"description":86,"short_description":87,"active_installs":88,"downloaded":89,"rating":90,"num_ratings":91,"last_updated":92,"tested_up_to":93,"requires_at_least":94,"requires_php":95,"tags":96,"homepage":100,"download_link":101,"security_score":102,"vuln_count":103,"unpatched_count":28,"last_vuln_date":104,"fetched_at":30},"custom-sidebars","Custom Sidebars – Dynamic Sidebar Classic Widget Area Manager","3.38","WebFactory","https:\u002F\u002Fprofiles.wordpress.org\u002Fwebfactory\u002F","\u003Cp>\u003Cstrong>Manage and replace sidebars and other classic widget areas on your site with Custom Sidebars, a flexible widget area manager.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Make custom sidebar configurations and be able to choose what classic widgets display on each page or post of your site.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Need to make a \u003Cstrong>widget sticky\u003C\u002Fstrong> or fixed? Try our free \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsticky-menu-or-anything-on-scroll\u002F\" rel=\"ugc\">WP Sticky Anything\u003C\u002Fa> plugin.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Custom Sidebars works ONLY with the classic widgets screen that was used in WordPress before version 5.8. If you want to use it with version 5.8 (and above) you have to install the official \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fclassic-widgets\u002F\" rel=\"ugc\">Classic Widgets\u003C\u002Fa> plugin, or enable the classic widgets interface yourself. Once the classic widgets screen is activated the plugin will work the same as before.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Having problems setting up SSL or generating an SSL certificate? Install the free \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwp-force-ssl\u002F\" rel=\"ugc\">WP Force SSL\u003C\u002Fa> plugin.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Display Different Sidebars on Pages and Posts\u003C\u002Fh4>\n\u003Cp>Custom Sidebars allows you to dynamically display custom widget configurations on any page, post, category, post type, or archive page.\u003C\u002Fp>\n\u003Cp>★★★★★\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>“Custom Sidebars will go on my “essential plugins” list from now on. I am pleased by how easy it was to figure out and by how many options are available in the free version.” – \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fmonkeyhateclean\" rel=\"nofollow ugc\">monkeyhateclean\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>★★★★★\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>“This plugin does exactly what it says. It’s light, integrates well into WordPress and gives you tons of possibilities.” – \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fdarknova11\" rel=\"nofollow ugc\">DarkNova\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>Every part of Custom Sidebars integrates seamlessly with the Widgets menu for simplicity and control. No confusing settings pages or added menu items, just simple core integration.\u003C\u002Fp>\n\u003Ch4>A Simple Flexible Sidebar Manager\u003C\u002Fh4>\n\u003Cp>** Custom Sidebars Includes: **\u003Cbr \u002F>\n* Unlimited custom widget configurations\u003Cbr \u002F>\n* Set custom widgets for individual posts and pages, categories, post types, and archives\u003Cbr \u002F>\n* Seamless integration with the WordPress Widgets menu\u003Cbr \u002F>\n* Works with well-coded themes and doesn’t slow down your site\u003Cbr \u002F>\n* Set individual widget visibility – for guests, by user role, by post type, for special pages or categories\u003Cbr \u002F>\n* Author specific sidebars – display a custom sidebar for each of your authors\u003Cbr \u002F>\n* Clone and sync widget settings – quickly edit complex configurations\u003Cbr \u002F>\n* Import and export custom sidebars – backup and share sidebars\u003C\u002Fp>\n\u003Cp>Install Custom Sidebars and see for yourself why it’s the most popular widget extension plugin available for WordPress with over 200,000 active installs.\u003C\u002Fp>\n\u003Ch3>Contact and Credits\u003C\u002Fh3>\n\u003Cp>Original development completed by \u003Ca href=\"http:\u002F\u002Fmarquex.es\u002F\" rel=\"nofollow ugc\">Javier Marquez\u003C\u002Fa>.\u003C\u002Fp>\n","Flexible sidebars for custom classic widget configurations on any page or post. Create custom sidebars with ease!",100000,5199843,94,1028,"2025-12-03T19:20:00.000Z","6.9.4","4.6","5.6",[97,98,99,21,23],"classic-widgets","custom-sidebar","dynamic-widgets","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcustom-sidebars\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcustom-sidebars.3.38.zip",98,3,"2017-10-04 00:00:00",{"slug":106,"name":107,"version":108,"author":109,"author_profile":110,"description":111,"short_description":112,"active_installs":88,"downloaded":113,"rating":114,"num_ratings":115,"last_updated":116,"tested_up_to":117,"requires_at_least":94,"requires_php":118,"tags":119,"homepage":121,"download_link":122,"security_score":50,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"recent-posts-widget-with-thumbnails","Recent Posts Widget With Thumbnails","7.1.1","Kybernetik Services","https:\u002F\u002Fprofiles.wordpress.org\u002Fkybernetikservices\u002F","\u003Cp>List the most recent posts with post titles, thumbnails, excerpts, authors, categories, dates and more!\u003C\u002Fp>\n\u003Cp>Although the plugin is built only for widget areas users reported that it \u003Cstrong>works in Elementor\u003C\u002Fstrong> and \u003Cstrong>works in Oxygen\u003C\u002Fstrong>. Whether it runs in other page builders is unknown. Please let me know in which \u003Cstrong>page builder\u003C\u002Fstrong> you were able to use the plugin successfully.\u003C\u002Fp>\n\u003Cp>The plugin does not collect any personal data, so it is \u003Cstrong>ready for EU General Data Protection Regulation (GDPR) compliance\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch4>Lightweight, simple and effective\u003C\u002Fh4>\n\u003Cp>No huge widget with hundreds of options. This plugin is based on the well-known WordPress default widget ‘Recent Posts’ and extended to display more information about the posts like e.g. thumbnails, excerpts and assigned categories. And it provides more options to build custom-taylored posts lists.\u003C\u002Fp>\n\u003Cp>The thumbnails will be built from the featured image of a post or of the first image in the post content. If there is neither a featured image nor a content image then you can define a default thumbnail.\u003C\u002Fp>\n\u003Cp>You can set the width and height of the thumbnails in the list. The thumbnails appear left-aligned to the post titles in left-to-right languages. In right-to-left languages they appear right-aligned.\u003C\u002Fp>\n\u003Ch4>Custom Post Type\u003C\u002Fh4>\n\u003Cp>If you want to list custom post types with the featured image, please check out our plugin \u003Ca href=\"https:\u002F\u002Fwww.kybernetik-services.com\u002Fshop\u002Fwordpress\u002Fplugin\u002Fultimate-post-list-pro\u002F?utm_source=wordpress_org&utm_medium=plugin&utm_campaign=recent-post-widgets-with-thumbnail&utm_content=readme\" rel=\"nofollow ugc\">Ultimate Post List Pro\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Demo\u003C\u002Fh4>\n\u003Cp>You want to test Recent Posts Widget With Thumbnails before installing on your site? Try it out on your individual and free playground site and \u003Ca href=\"https:\u002F\u002Fplayground.wordpress.net\u002F?theme=twentytwentyone&plugin=recent-posts-widget-with-thumbnails\" rel=\"nofollow ugc\">click here\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>What users wrote\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>“This plugin performs a simple task but one that I find to be invaluable.”\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Fsimple-but-invaluable-plugin\u002F\" rel=\"ugc\">reviews\u003C\u002Fa> by funkster on July 1, 2025\u003C\u002Fli>\n\u003Cli>\u003Cstrong>“I just want to say thank you for developing such a good plugin.”\u003C\u002Fstrong> in the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Fthanks-for-developing-such-a-great-plugin-4\u002F\" rel=\"ugc\">reviews\u003C\u002Fa> by modelaid on July 3, 2024\u003C\u002Fli>\n\u003Cli>\u003Cstrong>“Excellent plugin!”\u003C\u002Fstrong> in the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Fexcellent-plugin-8567\u002F\" rel=\"ugc\">reviews\u003C\u002Fa> by mystnick on April 18, 2023\u003C\u002Fli>\n\u003Cli>\u003Cstrong>“… one of the dynamic and smart, yet admin and user optimized widget plugins …”\u003C\u002Fstrong> in \u003Ca href=\"https:\u002F\u002Fwww.sktthemes.org\u002Fwordpress-plugins\u002Fadd-widgets-wordpress-website\u002F\" rel=\"nofollow ugc\">How to Add Widgets and Start Using Them in WordPress Website?\u003C\u002Fa> by SKT Posts Themes on September 3, 2020\u003C\u002Fli>\n\u003Cli>\u003Cstrong>“بهترین افزونه های نمایش آخرین نوشته ها در وردپرس”\u003C\u002Fstrong> in \u003Ca href=\"https:\u002F\u002Fmodirwp.com\u002F%D8%A7%D9%81%D8%B2%D9%88%D9%86%D9%87-recent-posts-widget-with-thumbnails\u002F\" rel=\"nofollow ugc\">ابزارک آخرین نوشته وردپرس\u003C\u002Fa> by Ghodsi on December 16, 2019\u003C\u002Fli>\n\u003Cli>\u003Cstrong>“Another good all around widget, suitable for most projects”\u003C\u002Fstrong> in \u003Ca href=\"https:\u002F\u002Fhowto-wordpress-tips.com\u002Ffree-wordpress-recent-posts-widget\u002F\" rel=\"nofollow ugc\">Free WordPress recent posts widget – Which one is the best?\u003C\u002Fa> on December 3, 2019\u003C\u002Fli>\n\u003Cli>\u003Cstrong>“In just a few clicks, your website will look considerably more established and professional.”\u003C\u002Fstrong> in \u003Ca href=\"https:\u002F\u002Fblog.hubspot.com\u002Fwebsite\u002Fwordpress-thumbnail-plugins\" rel=\"nofollow ugc\">3 Best WordPress Thumbnail Plugins to Manage Images Perfectly\u003C\u002Fa> by HubSpot Staff on October 29, 2019\u003C\u002Fli>\n\u003Cli>\u003Cstrong>The best of the recent posts widgets\u003C\u002Fstrong> in the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Fthe-best-of-the-recent-posts-widget\u002F\" rel=\"ugc\">reviews\u003C\u002Fa> by noddemix on June 13, 2019\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Number 8\u003C\u002Fstrong> in \u003Ca href=\"https:\u002F\u002Fideiasdig.com\u002F14-plugins-para-otimizar-seu-site\u002F#8Recent_Posts_Widget_With_Thumbnails\" rel=\"nofollow ugc\">14 Plugins para Otimizar seu Site\u003C\u002Fa> by Ideias Dig on November 8, 2018\u003C\u002Fli>\n\u003Cli>\u003Cstrong>“Truly EXCELLENT Plugin!”\u003C\u002Fstrong> in the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Ftruly-excellent-plugin\u002F\" rel=\"ugc\">reviews\u003C\u002Fa> by dnuttal on October 11, 2018\u003C\u002Fli>\n\u003Cli>\u003Cstrong>“Easier than making an egg, seriously.”\u003C\u002Fstrong> in the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Feasier-than-making-an-egg-seriously\u002F\" rel=\"ugc\">reviews\u003C\u002Fa> by djackofall on October 2, 2017\u003C\u002Fli>\n\u003Cli>\u003Cstrong>“This plugin is INCREDIBLE”\u003C\u002Fstrong> in the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Fdo-you-also-have-one-for-most-popular-posts\u002F\" rel=\"ugc\">reviews\u003C\u002Fa> by lucio7 on August 25, 2017\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Widgets Users Will Love\u003C\u002Fstrong> in \u003Ca href=\"https:\u002F\u002Fspeckyboy.com\u002Ffree-wordpress-widget-plugins\u002F\" rel=\"nofollow ugc\">10 Ultra-Useful Free WordPress Widget Plugins\u003C\u002Fa> by Eric Karkovack on June 16, 2017\u003C\u002Fli>\n\u003Cli>\u003Cstrong>listed\u003C\u002Fstrong> in \u003Ca href=\"https:\u002F\u002Fwpteamsupport.com\u002Fwordpress-plugins-engage-visitors\u002F\" rel=\"nofollow ugc\">20 WordPress Plugins that Steals Attention to Engage Visitors of Your Site\u003C\u002Fa> by WP Team Support on March 6, 2017\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Number 1\u003C\u002Fstrong> in \u003Ca href=\"https:\u002F\u002Fwww.nimbusthemes.com\u002F8-essential-wordpress-widgets-to-supercharge-your-website\u002F\" rel=\"nofollow ugc\">8 essential WordPress widgets to supercharge your website\u003C\u002Fa> by Rafay Ansari on January 31, 2017\u003C\u002Fli>\n\u003Cli>\u003Cstrong>“Excellent (after trying a few)!”\u003C\u002Fstrong> in the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Fexcellent-after-trying-a-few\u002F\" rel=\"ugc\">reviews\u003C\u002Fa> by giorgissimo on January 6, 2017\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>What users filmed\u003C\u002Fh4>\n\u003Cp>Some users published video tutorials on YouTube:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=dKoqcLBHhkM\" rel=\"nofollow ugc\">Class 09 – Working with Plugins (Recent Posts Widget With Thumbnails)\u003C\u002Fa> by WordPress Learning Bangladesh on March 7, 2017\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=qS9WIeaMb6s\" rel=\"nofollow ugc\">Recent Posts Widget With Thumbnails Setup Tutorial – WordPress Lesson and Tip\u003C\u002Fa> by Making a Website on April 17, 2016\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fyoutu.be\u002Fdqzz8NZc99Q\" rel=\"nofollow ugc\">Add Recent Posts Widget with Thumbnail – WordPress\u003C\u002Fa> by eMediaCoach on August 15, 2015\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Options you can set\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Title of the widget\u003C\u002Fli>\n\u003Cli>Number of listed posts\u003C\u002Fli>\n\u003Cli>Open post links in new windows\u003C\u002Fli>\n\u003Cli>Different options for post order and sorting\u003C\u002Fli>\n\u003Cli>Hide the current post in list\u003C\u002Fli>\n\u003Cli>Show only sticky posts\u003C\u002Fli>\n\u003Cli>Hide sticky posts\u003C\u002Fli>\n\u003Cli>Keep sticky posts on top of the list if not hidden\u003C\u002Fli>\n\u003Cli>Hide post title\u003C\u002Fli>\n\u003Cli>Maximum length of post title\u003C\u002Fli>\n\u003Cli>Show post author name\u003C\u002Fli>\n\u003Cli>Label for the author names\u003C\u002Fli>\n\u003Cli>Show post categories\u003C\u002Fli>\n\u003Cli>Show post category names as links to their archives\u003C\u002Fli>\n\u003Cli>Label for categories\u003C\u002Fli>\n\u003Cli>Show post date\u003C\u002Fli>\n\u003Cli>Show post excerpt\u003C\u002Fli>\n\u003Cli>Show number of comments\u003C\u002Fli>\n\u003Cli>Excerpt length\u003C\u002Fli>\n\u003Cli>Signs after excerpt\u003C\u002Fli>\n\u003Cli>Ignore post excerpt field as excerpt source (builds excerpts only from the post content)\u003C\u002Fli>\n\u003Cli>Ignore post content as excerpt source (builds excerpts only from the excerpt fields)\u003C\u002Fli>\n\u003Cli>Show posts of selected categories (or of all categories)\u003C\u002Fli>\n\u003Cli>Show post thumbnail (featured image)\u003C\u002Fli>\n\u003Cli>Registered thumbnail dimensions\u003C\u002Fli>\n\u003Cli>Thumbnail width in px\u003C\u002Fli>\n\u003Cli>Thumbnail height in px\u003C\u002Fli>\n\u003Cli>Keep the aspect ratio of thumbnails\u003C\u002Fli>\n\u003Cli>Try to take the first post image as thumbnail\u003C\u002Fli>\n\u003Cli>Only use the first post image as thumbnail\u003C\u002Fli>\n\u003Cli>Use default thumbnail if no thumbnail is available\u003C\u002Fli>\n\u003Cli>Always use default thumbnail\u003C\u002Fli>\n\u003Cli>Default thumbnail URL\u003C\u002Fli>\n\u003Cli>Alternative text of the default thumbnail\u003C\u002Fli>\n\u003Cli>Omit all alternative texts of the thumbnails for a better accessibility\u003C\u002Fli>\n\u003Cli>Print slugs of post categories in class attribute of LI elements\u003C\u002Fli>\n\u003Cli>Print inline CSS instead of creating a CSS file\u003C\u002Fli>\n\u003Cli>No CSS generation at all\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Useful hints for developers: Supported Hooks\u003C\u002Fh4>\n\u003Cp>The plugin considers the output of actions hooked on:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Ccode>rpwwt_widget_posts_args\u003C\u002Fcode>\n\u003Cul>\n\u003Cli>\u003Cstrong>passed argument:\u003C\u002Fstrong> the query arguments as an array\u003C\u002Fli>\n\u003Cli>\u003Cstrong>expected return value:\u003C\u002Fstrong> an array of query arguments\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Ccode>widget_title\u003C\u002Fcode>\n\u003Cul>\n\u003Cli>\u003Cstrong>passed arguments:\u003C\u002Fstrong>\n\u003Col>\n\u003Cli>the widget title as a string\u003C\u002Fli>\n\u003Cli>the widget settings as an array\u003C\u002Fli>\n\u003Cli>the widget base ID as a string\u003C\u002Fli>\n\u003C\u002Fol>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>expected return value:\u003C\u002Fstrong> a string\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Ccode>rpwwt_excerpt_length\u003C\u002Fcode>\n\u003Cul>\n\u003Cli>\u003Cstrong>passed argument:\u003C\u002Fstrong> the maximum number of characters for the post excerpt as an integer\u003C\u002Fli>\n\u003Cli>\u003Cstrong>expected return value:\u003C\u002Fstrong> an integer\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Ccode>rpwwt_excerpt_more\u003C\u002Fcode>\n\u003Cul>\n\u003Cli>\u003Cstrong>passed argument:\u003C\u002Fstrong> the string to append after the post excerpt\u003C\u002Fli>\n\u003Cli>\u003Cstrong>expected return value:\u003C\u002Fstrong> a string\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Ccode>rpwwt_the_excerpt\u003C\u002Fcode>\n\u003Cul>\n\u003Cli>\u003Cstrong>passed arguments:\u003C\u002Fstrong>\n\u003Col>\n\u003Cli>the content of the post excerpt field as a string\u003C\u002Fli>\n\u003Cli>the post object\u003C\u002Fli>\n\u003C\u002Fol>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>expected return value:\u003C\u002Fstrong> a string\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Ccode>the_excerpt\u003C\u002Fcode>\n\u003Cul>\n\u003Cli>\u003Cstrong>passed argument:\u003C\u002Fstrong> the post excerpt as a string\u003C\u002Fli>\n\u003Cli>\u003Cstrong>expected return value:\u003C\u002Fstrong> a string\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Ccode>rpwwt_categories\u003C\u002Fcode>\n\u003Cul>\n\u003Cli>\u003Cstrong>passed argument:\u003C\u002Fstrong> the category list of each post as a string\u003C\u002Fli>\n\u003Cli>\u003Cstrong>expected return value:\u003C\u002Fstrong> a string\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Ccode>rpwwt_list_cats\u003C\u002Fcode>\n\u003Cul>\n\u003Cli>\u003Cstrong>passed arguments:\u003C\u002Fstrong>\n\u003Col>\n\u003Cli>the category name as a string\u003C\u002Fli>\n\u003Cli>the category as an array\u003C\u002Fli>\n\u003C\u002Fol>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>expected return value:\u003C\u002Fstrong> a string\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Useful hints for developers: Available CSS Selectors\u003C\u002Fh4>\n\u003Cp>To design the list and its items, you can use these CSS selectors:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>.rpwwt-widget: the element which contains the post list\n.rpwwt-widget ul: the list which contains the list items\n.rpwwt-widget ul li: the list item in the list\n.rpwwt-widget ul li.rpwwt-sticky: the list item of a sticky post\n.rpwwt-widget ul li a: link in the list\n.rpwwt-widget ul li a img: linked image\n.rpwwt-widget ul li a span.rpwwt-post-title: the post title\n.rpwwt-widget ul li div.rpwwt-post-author: the post author\n.rpwwt-widget ul li div.rpwwt-post-categories: the post category list\n.rpwwt-widget ul li div.rpwwt-post-date: the post date\n.rpwwt-widget ul li div.rpwwt-post-excerpt: the post excerpt\n.rpwwt-widget ul li div.rpwwt-post-excerpt .rpwwt-post-excerpt-more: the \"more\" text following the excerpt.\n.rpwwt-widget ul li div.rpwwt-post-comments-number: the number of comments\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Languages\u003C\u002Fh4>\n\u003Cp>The user interface is available in several languages.\u003C\u002Fp>\n\u003Cp>Starting from version 7.1.0 the handling for translations are moved to \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Frecent-posts-widget-with-thumbnails\u002F\" rel=\"nofollow ugc\">translate.wordpress.org\u003C\u002Fa>.\u003Cbr \u002F>\nPlease help to translate into more languages, or you can re-work on the current translations if you think it’s needed.\u003Cbr \u002F>\nIf you have done your translation, please leave a comment in the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Frecent-posts-widget-with-thumbnails\" rel=\"ugc\">plugin’s support forum\u003C\u002Fa>. I’ll take care of the review and approval.\u003C\u002Fp>\n","List the most recent posts with post titles, thumbnails, excerpts, authors, categories, dates and more!",3603616,96,212,"2026-04-15T18:03:00.000Z","7.0","5.2",[120,57,21,58,23],"featured-image","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Frecent-posts-widget-with-thumbnails\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frecent-posts-widget-with-thumbnails.7.1.1.zip",{"slug":124,"name":125,"version":126,"author":127,"author_profile":128,"description":129,"short_description":130,"active_installs":88,"downloaded":131,"rating":132,"num_ratings":133,"last_updated":134,"tested_up_to":93,"requires_at_least":135,"requires_php":136,"tags":137,"homepage":18,"download_link":141,"security_score":142,"vuln_count":71,"unpatched_count":28,"last_vuln_date":143,"fetched_at":79},"widget-logic","Widget Logic","6.0.9","Widgetlogic.org","https:\u002F\u002Fprofiles.wordpress.org\u002Fwidgetlogics\u002F","\u003Cp>This plugin gives every widget an extra control field called “Widget logic” that lets you control the pages that the widget will appear on. The text field lets you use WP’s \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FConditional_Tags\" rel=\"nofollow ugc\">Conditional Tags\u003C\u002Fa>, or any general PHP code.\u003C\u002Fp>\n\u003Cp>The configuring and options are in the usual widget admin interface.\u003C\u002Fp>\n\u003Cp>BIG UPDATE:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>Now you can control widget in Gutenberg Widgets editor as well as in Classic Editor. It is just as easy as before but also in gutenberg view.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Pre-installed widgets let you add special widget with one click of the mouse. First pre-installed widget is Live Match that let you add widget of one random live football game with real time score updates (teams logos, livescore, minute of the match, tournament name). And more interesting widgets to come!\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>NOTE ON DEFAULT FUNCTIONS:\u003C\u002Fstrong> Widget Logic includes a whitelist of common WordPress conditional tags and safe functions. If you need additional WordPress functions that are not currently whitelisted, please create a topic in our \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fwidget-logic\u002F\" rel=\"ugc\">support forum\u003C\u002Fa> to request them. We regularly add commonly requested functions in new releases.\u003C\u002Fp>\n\u003Ch4>Configuration\u003C\u002Fh4>\n\u003Cp>Aside from logic against your widgets, there are three options added to the foot of the widget admin page (see screenshots).\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>Use ‘wp_reset_query’ fix — Many features of WP, as well as the many themes and plugins out there, can mess with the conditional tags, such that is_home is NOT true on the home page. This can often be fixed with a quick wp_reset_query() statement just before the widgets are called, and this option puts that in for you rather than having to resort to code editing\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Load logic — This option allows you to set the point in the page load at which your widget logic if first checked. Pre v.50 it was when the ‘wp_head’ trigger happened, ie during the creation of the HTML’s HEAD block. Many themes didn’t call wp_head, which was a problem. From v.50 it happens, by default, as early as possible, which is as soon as the plugin loads. You can now specify these ‘late load’ points (in chronological order):\u003C\u002Fp>\n\u003Cul>\n\u003Cli>after the theme loads (after_setup_theme trigger)\u003C\u002Fli>\n\u003Cli>when all PHP loaded (wp_loaded trigger)\u003C\u002Fli>\n\u003Cli>after query variables set (parse_query) – this is the default\u003C\u002Fli>\n\u003Cli>during page header (wp_head trigger)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You may need to delay the load if your logic depends on functions defined, eg in the theme functions.php file. Conversely you may want the load early so that the widget count is calculated correctly, eg to show an alternative layour or content when a sidebar has no widgets.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Don’t cache widget logic results — From v .58 the widget logic code should only execute once, but that might cause unexpected results with some themes, so this option is here to turn that behaviour off. (The truth\u002Ffalse of the code will be evaluated every time the sidebars_widgets filter is called.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Custom PHP Functions — From v.6.0.6 you can use the \u003Ccode>widget_logic_allowed_functions\u003C\u002Fcode> filter to add custom PHP functions that will be allowed in Widget Logic fields. By default, only WordPress conditional tags and a whitelist of safe functions are available. This filter allows you to extend the functionality and use your own custom functions.\u003C\u002Fp>\n\u003Cp>To add a custom function, add the following code to your theme’s \u003Ccode>functions.php\u003C\u002Fcode> file:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>`add_filter('widget_logic_allowed_functions', 'my_allowed_functions');\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>function my_allowed_functions($functions) {\u003Cbr \u002F>\n    $functions[] = ‘\u003Cem>my_custom_function_name\u003C\u002Fem>‘;\u003Cbr \u002F>\n    return $functions;\u003Cbr \u002F>\n}`\u003C\u002Fp>\n\u003Cp>You can add multiple functions by using one wrapper function:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>`add_filter('widget_logic_allowed_functions', 'my_allowed_functions');\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>function my_allowed_functions($functions) {\u003Cbr \u002F>\n    $functions[] = ‘is_special_page’;\u003Cbr \u002F>\n    $functions[] = ‘is_user_verified’;\u003Cbr \u002F>\n    $functions[] = ‘get_sidebar_title’;\u003Cbr \u002F>\n    return $functions;\u003Cbr \u002F>\n}`\u003C\u002Fp>\n\u003Cp>\u003Cstrong>IMPORTANT NOTE ON VARIABLES:\u003C\u002Fstrong> Widget Logic is designed to work with simple data types (strings, numbers, booleans). If you need to use complex variables, global state, or conditional logic that depends on many factors, create a custom function in your theme’s \u003Ccode>functions.php\u003C\u002Fcode> file and call it from Widget Logic:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Good approach (in functions.php):\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>`function is_special_page() {\nglobal $post;\n$special_ids = array(5, 10, 15);\n$conditions = some_complex_function();\n\nreturn is_page() && in_array($post->ID, $special_ids) && $conditions;\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>}`\u003C\u002Fp>\n\u003Cp>Then in Widget Logic field, simply use: \u003Ccode>is_special_page()\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Less ideal approach (in Widget Logic field):\u003C\u002Fstrong>\u003Cbr \u002F>\nAvoid putting complex logic directly in the Widget Logic field. Keep it simple and let your custom function handle the complexity. This keeps your widget settings clean and maintainable.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Interaction with External Services\u003C\u002Fh4>\n\u003Cp>Widget Logic uses the external service to obtain up-to-date information about the results of football matches. \u003Ca href=\"https:\u002F\u002Fwidgetlogic.org\" rel=\"nofollow ugc\">widgetlogic.org\u003C\u002Fa> is a source of sports information, that provides a wide range of information about football, including various leagues, tournaments, and championships from around the world.\u003C\u002Fp>\n\u003Cp>The functioning of the \u003Ca href=\"https:\u002F\u002Fwidgetlogic.org\" rel=\"nofollow ugc\">widgetlogic.org\u003C\u002Fa> service is based on delivering real-time data about selected matches without the need to refresh the page. This means that data is automatically updated without requiring page reload. This approach ensures users quick and uninterrupted access to the latest sports data without the effort of manually updating information, allowing them to stay informed about ongoing events in real-time.\u003C\u002Fp>\n\u003Ch3>Writing Logic Code\u003C\u002Fh3>\n\u003Cp>The text in the ‘Widget logic’ field can be full PHP code and should return ‘true’ when you need the widget to appear. If there is no ‘return’ in the text, an implicit ‘return’ is added to the start and a ‘;’ is added on the end. (This is just to make single statements like is_home() more convenient.)\u003C\u002Fp>\n\u003Ch4>The Basics\u003C\u002Fh4>\n\u003Cp>Make good use of \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FConditional_Tags\" rel=\"nofollow ugc\">WP’s own conditional tags\u003C\u002Fa>. You can vary and combine code using:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>!\u003C\u002Fcode> (NOT) to \u003Cstrong>reverse\u003C\u002Fstrong> the logic, eg \u003Ccode>!is_home()\u003C\u002Fcode> is TRUE when this is NOT the home page.\u003C\u002Fli>\n\u003Cli>\u003Ccode>||\u003C\u002Fcode> (OR) to \u003Cstrong>combine\u003C\u002Fstrong> conditions. \u003Ccode>X OR Y\u003C\u002Fcode> is TRUE when either X is true or Y is true.\u003C\u002Fli>\n\u003Cli>\u003Ccode>&&\u003C\u002Fcode> (AND) to make conditions \u003Cstrong>more specific\u003C\u002Fstrong>. \u003Ccode>X AND Y\u003C\u002Fcode> is TRUE when both X is true and Y is true.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>There are lots of great code examples on the WP forums, and on WP sites across the net. But the WP Codex is also full of good examples to adapt, such as \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FTemplate_Tags\u002Fin_category#Testing_if_a_post_is_in_a_descendant_category\" rel=\"nofollow ugc\">Test if post is in a descendent category\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Examples\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>is_home()\u003C\u002Fcode> — just the main blog page\u003C\u002Fli>\n\u003Cli>\u003Ccode>!is_page('about')\u003C\u002Fcode> — everywhere EXCEPT this specific WP ‘page’\u003C\u002Fli>\n\u003Cli>\u003Ccode>!is_user_logged_in()\u003C\u002Fcode> — shown when a user is not logged in\u003C\u002Fli>\n\u003Cli>\u003Ccode>is_category(array(5,9,10,11))\u003C\u002Fcode> — category page of one of the given category IDs\u003C\u002Fli>\n\u003Cli>\u003Ccode>is_single() && in_category('baked-goods')\u003C\u002Fcode> — single post that’s in the category with this slug\u003C\u002Fli>\n\u003Cli>\u003Ccode>current_user_can('level_10')\u003C\u002Fcode> — admin only widget\u003C\u002Fli>\n\u003Cli>\u003Ccode>strpos($_SERVER['HTTP_REFERER'], \"google.com\")!=false\u003C\u002Fcode> — widget to show when clicked through from a google search\u003C\u002Fli>\n\u003Cli>\u003Ccode>is_category() && custom_function_to_check_the_category()\u003C\u002Fcode> — category page that’s a descendent of category 5\u003C\u002Fli>\n\u003Cli>\u003Ccode>custom_function_from_functions_php_to_check_the_page()\u003C\u002Fcode> — WP page that is a child of page 77\u003C\u002Fli>\n\u003Cli>\u003Ccode>custom_function_from_functions_php_to_check_the_page_child_of(13)\u003C\u002Fcode> — home page OR the page that’s a child of page 13\u003C\u002Fli>\n\u003C\u002Ful>\n","Widget Logic lets you control on which pages widgets appear using WP's conditional tags.",3242040,88,188,"2026-01-15T09:43:00.000Z","3.0","5.4",[138,139,140,21,23],"blocks","conditional-tags","gutenberg-widgets","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwidget-logic.6.0.9.zip",95,"2025-06-09 00:00:00",{"attackSurface":145,"codeSignals":202,"taintFlows":352,"riskAssessment":353,"analyzedAt":364},{"hooks":146,"ajaxHandlers":193,"restRoutes":194,"shortcodes":195,"cronEvents":201,"entryPointCount":52,"unprotectedCount":28},[147,153,156,159,163,167,171,175,178,183,189],{"type":148,"name":149,"callback":150,"priority":52,"file":151,"line":152},"action","plugins_loaded","constants","arpw.php",37,{"type":148,"name":149,"callback":154,"priority":71,"file":151,"line":155},"i18n",40,{"type":148,"name":149,"callback":157,"priority":103,"file":151,"line":158},"includes",43,{"type":148,"name":160,"callback":161,"file":151,"line":162},"widgets_init","register_widget",46,{"type":148,"name":164,"callback":165,"file":151,"line":166},"init","register_image_size",49,{"type":148,"name":168,"callback":169,"file":151,"line":170},"wp_enqueue_scripts","plugin_style",52,{"type":148,"name":172,"callback":173,"file":151,"line":174},"admin_enqueue_scripts","admin_scripts",55,{"type":148,"name":176,"callback":173,"file":151,"line":177},"customize_controls_enqueue_scripts",56,{"type":148,"name":179,"callback":180,"priority":52,"file":181,"line":182},"arpw_before_loop","arpw_custom_css","includes\\functions.php",92,{"type":184,"name":185,"callback":186,"priority":69,"file":187,"line":188},"filter","image_resize_dimensions","arpw_upscale","includes\\resizer.php",64,{"type":148,"name":168,"callback":190,"file":191,"line":192},"arpw_default_style","includes\\widget.php",34,[],[],[196],{"tag":197,"callback":198,"file":199,"line":200},"arpw","arpw_shortcode","includes\\shortcode.php",23,[],{"dangerousFunctions":203,"sqlUsage":204,"outputEscaping":206,"fileOperations":28,"externalRequests":28,"nonceChecks":28,"capabilityChecks":28,"bundledLibraries":351},[],{"prepared":28,"raw":28,"locations":205},[],{"escaped":207,"rawEcho":37,"locations":208},54,[209,213,215,216,217,219,220,222,223,224,225,227,228,229,230,232,234,235,236,238,239,241,243,244,245,247,249,250,252,254,255,257,259,260,262,263,265,267,268,270,272,274,275,277,279,280,282,284,286,287,289,290,292,294,296,297,298,299,301,303,304,306,307,309,311,312,314,316,318,319,321,322,324,326,327,329,331,332,334,336,338,339,340,341,344,346,348,349,350],{"file":210,"line":211,"context":212},"includes\\form.php",47,"raw output",{"file":210,"line":214,"context":212},50,{"file":210,"line":214,"context":212},{"file":210,"line":207,"context":212},{"file":210,"line":218,"context":212},57,{"file":210,"line":218,"context":212},{"file":210,"line":221,"context":212},61,{"file":210,"line":188,"context":212},{"file":210,"line":188,"context":212},{"file":210,"line":188,"context":212},{"file":210,"line":226,"context":212},68,{"file":210,"line":39,"context":212},{"file":210,"line":39,"context":212},{"file":210,"line":39,"context":212},{"file":210,"line":231,"context":212},75,{"file":210,"line":233,"context":212},78,{"file":210,"line":233,"context":212},{"file":210,"line":233,"context":212},{"file":210,"line":237,"context":212},86,{"file":210,"line":237,"context":212},{"file":210,"line":240,"context":212},87,{"file":210,"line":242,"context":212},93,{"file":210,"line":114,"context":212},{"file":210,"line":114,"context":212},{"file":210,"line":246,"context":212},101,{"file":210,"line":248,"context":212},104,{"file":210,"line":248,"context":212},{"file":210,"line":251,"context":212},109,{"file":210,"line":253,"context":212},112,{"file":210,"line":253,"context":212},{"file":210,"line":256,"context":212},120,{"file":210,"line":258,"context":212},123,{"file":210,"line":258,"context":212},{"file":210,"line":261,"context":212},141,{"file":210,"line":261,"context":212},{"file":210,"line":264,"context":212},142,{"file":210,"line":266,"context":212},157,{"file":210,"line":266,"context":212},{"file":210,"line":269,"context":212},158,{"file":210,"line":271,"context":212},167,{"file":210,"line":273,"context":212},170,{"file":210,"line":273,"context":212},{"file":210,"line":276,"context":212},172,{"file":210,"line":278,"context":212},182,{"file":210,"line":278,"context":212},{"file":210,"line":281,"context":212},183,{"file":210,"line":283,"context":212},189,{"file":210,"line":285,"context":212},192,{"file":210,"line":285,"context":212},{"file":210,"line":288,"context":212},201,{"file":210,"line":288,"context":212},{"file":210,"line":291,"context":212},202,{"file":210,"line":293,"context":212},208,{"file":210,"line":295,"context":212},211,{"file":210,"line":295,"context":212},{"file":210,"line":115,"context":212},{"file":210,"line":115,"context":212},{"file":210,"line":300,"context":212},216,{"file":210,"line":302,"context":212},219,{"file":210,"line":302,"context":212},{"file":210,"line":305,"context":212},235,{"file":210,"line":305,"context":212},{"file":210,"line":308,"context":212},236,{"file":210,"line":310,"context":212},242,{"file":210,"line":310,"context":212},{"file":210,"line":313,"context":212},243,{"file":210,"line":315,"context":212},249,{"file":210,"line":317,"context":212},252,{"file":210,"line":317,"context":212},{"file":210,"line":320,"context":212},256,{"file":210,"line":320,"context":212},{"file":210,"line":323,"context":212},257,{"file":210,"line":325,"context":212},263,{"file":210,"line":325,"context":212},{"file":210,"line":328,"context":212},264,{"file":210,"line":330,"context":212},270,{"file":210,"line":330,"context":212},{"file":210,"line":333,"context":212},271,{"file":210,"line":335,"context":212},281,{"file":210,"line":337,"context":212},284,{"file":210,"line":337,"context":212},{"file":210,"line":337,"context":212},{"file":181,"line":132,"context":212},{"file":342,"line":343,"context":212},"includes\\posts.php",12,{"file":191,"line":345,"context":212},63,{"file":191,"line":347,"context":212},67,{"file":191,"line":39,"context":212},{"file":191,"line":231,"context":212},{"file":191,"line":233,"context":212},[],[],{"summary":354,"deductions":355},"The advanced-random-posts-widget plugin version 2.2.1 presents a generally good security posture, with no known vulnerabilities or critical code signals. The absence of external HTTP requests, file operations, and dangerous functions is commendable.  Furthermore, all SQL queries utilize prepared statements, and the plugin has a clean vulnerability history, indicating a consistent effort towards security by the developers.\n\nHowever, there are areas for improvement. The most significant concern is the low percentage of properly escaped output (38%), which could lead to cross-site scripting (XSS) vulnerabilities if user-supplied data is displayed without adequate sanitization. Additionally, the lack of nonce checks and capability checks, while not immediately exploitable due to the limited attack surface, is a missed opportunity for robust security.  The single shortcode represents an entry point that, without explicit checks, could potentially be abused in conjunction with the unescaped output.\n\nIn conclusion, the plugin is relatively secure due to its minimal attack surface and lack of known exploitable flaws. Nevertheless, the significant proportion of unescaped output is a notable weakness that warrants attention to prevent potential XSS attacks. Strengthening the security of the shortcode with appropriate checks would further enhance its overall safety.",[356,359,362],{"reason":357,"points":358},"Low percentage of properly escaped output",8,{"reason":360,"points":361},"Missing nonce checks",5,{"reason":363,"points":361},"Missing capability checks","2026-03-16T17:41:04.968Z",{"wat":366,"direct":377},{"assetPaths":367,"generatorPatterns":371,"scriptPaths":372,"versionParams":373},[368,369,370],"\u002Fwp-content\u002Fplugins\u002Fadvanced-random-posts-widget\u002Fassets\u002Fcss\u002Farpw-frontend.css","\u002Fwp-content\u002Fplugins\u002Fadvanced-random-posts-widget\u002Fassets\u002Fcss\u002Farpw-admin.css","\u002Fwp-content\u002Fplugins\u002Fadvanced-random-posts-widget\u002Fassets\u002Fjs\u002Fjquery-cookie.js",[],[370],[374,375,376],"advanced-random-posts-widget\u002Fassets\u002Fcss\u002Farpw-frontend.css?ver=","advanced-random-posts-widget\u002Fassets\u002Fcss\u002Farpw-admin.css?ver=","advanced-random-posts-widget\u002Fassets\u002Fjs\u002Fjquery-cookie.js?ver=",{"cssClasses":378,"htmlComments":380,"htmlAttributes":381,"restEndpoints":383,"jsGlobals":384,"shortcodeOutput":385},[379],"arpw-widget-random",[],[382],"data-arpw-widget-id",[],[],[],{"error":387,"url":388,"statusCode":389,"statusMessage":390,"message":390},true,"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fadvanced-random-posts-widget\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":392,"versions":393},19,[394,400,407,414,421,428,435,442,449,456,463,470,477,484,491,498,505,512,519],{"version":6,"download_url":26,"svn_tag_url":395,"released_at":29,"has_diff":396,"diff_files_changed":397,"diff_lines":29,"trac_diff_url":398,"vulnerabilities":399,"is_current":387},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fadvanced-random-posts-widget\u002Ftags\u002F2.2.1\u002F",false,[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fadvanced-random-posts-widget%2Ftags%2F2.2.0&new_path=%2Fadvanced-random-posts-widget%2Ftags%2F2.2.1",[],{"version":401,"download_url":402,"svn_tag_url":403,"released_at":29,"has_diff":396,"diff_files_changed":404,"diff_lines":29,"trac_diff_url":405,"vulnerabilities":406,"is_current":396},"2.2.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-random-posts-widget.2.2.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fadvanced-random-posts-widget\u002Ftags\u002F2.2.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fadvanced-random-posts-widget%2Ftags%2F2.1.1&new_path=%2Fadvanced-random-posts-widget%2Ftags%2F2.2.0",[],{"version":408,"download_url":409,"svn_tag_url":410,"released_at":29,"has_diff":396,"diff_files_changed":411,"diff_lines":29,"trac_diff_url":412,"vulnerabilities":413,"is_current":396},"2.1.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-random-posts-widget.2.1.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fadvanced-random-posts-widget\u002Ftags\u002F2.1.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fadvanced-random-posts-widget%2Ftags%2F2.1.0&new_path=%2Fadvanced-random-posts-widget%2Ftags%2F2.1.1",[],{"version":415,"download_url":416,"svn_tag_url":417,"released_at":29,"has_diff":396,"diff_files_changed":418,"diff_lines":29,"trac_diff_url":419,"vulnerabilities":420,"is_current":396},"2.1.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-random-posts-widget.2.1.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fadvanced-random-posts-widget\u002Ftags\u002F2.1.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fadvanced-random-posts-widget%2Ftags%2F2.0.7&new_path=%2Fadvanced-random-posts-widget%2Ftags%2F2.1.0",[],{"version":422,"download_url":423,"svn_tag_url":424,"released_at":29,"has_diff":396,"diff_files_changed":425,"diff_lines":29,"trac_diff_url":426,"vulnerabilities":427,"is_current":396},"2.0.7","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-random-posts-widget.2.0.7.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fadvanced-random-posts-widget\u002Ftags\u002F2.0.7\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fadvanced-random-posts-widget%2Ftags%2F2.0.6&new_path=%2Fadvanced-random-posts-widget%2Ftags%2F2.0.7",[],{"version":429,"download_url":430,"svn_tag_url":431,"released_at":29,"has_diff":396,"diff_files_changed":432,"diff_lines":29,"trac_diff_url":433,"vulnerabilities":434,"is_current":396},"2.0.6","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-random-posts-widget.2.0.6.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fadvanced-random-posts-widget\u002Ftags\u002F2.0.6\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fadvanced-random-posts-widget%2Ftags%2F2.0.5&new_path=%2Fadvanced-random-posts-widget%2Ftags%2F2.0.6",[],{"version":436,"download_url":437,"svn_tag_url":438,"released_at":29,"has_diff":396,"diff_files_changed":439,"diff_lines":29,"trac_diff_url":440,"vulnerabilities":441,"is_current":396},"2.0.5","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-random-posts-widget.2.0.5.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fadvanced-random-posts-widget\u002Ftags\u002F2.0.5\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fadvanced-random-posts-widget%2Ftags%2F2.0.4&new_path=%2Fadvanced-random-posts-widget%2Ftags%2F2.0.5",[],{"version":443,"download_url":444,"svn_tag_url":445,"released_at":29,"has_diff":396,"diff_files_changed":446,"diff_lines":29,"trac_diff_url":447,"vulnerabilities":448,"is_current":396},"2.0.4","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-random-posts-widget.2.0.4.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fadvanced-random-posts-widget\u002Ftags\u002F2.0.4\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fadvanced-random-posts-widget%2Ftags%2F2.0.3&new_path=%2Fadvanced-random-posts-widget%2Ftags%2F2.0.4",[],{"version":450,"download_url":451,"svn_tag_url":452,"released_at":29,"has_diff":396,"diff_files_changed":453,"diff_lines":29,"trac_diff_url":454,"vulnerabilities":455,"is_current":396},"2.0.3","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-random-posts-widget.2.0.3.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fadvanced-random-posts-widget\u002Ftags\u002F2.0.3\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fadvanced-random-posts-widget%2Ftags%2F2.0.2&new_path=%2Fadvanced-random-posts-widget%2Ftags%2F2.0.3",[],{"version":457,"download_url":458,"svn_tag_url":459,"released_at":29,"has_diff":396,"diff_files_changed":460,"diff_lines":29,"trac_diff_url":461,"vulnerabilities":462,"is_current":396},"2.0.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-random-posts-widget.2.0.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fadvanced-random-posts-widget\u002Ftags\u002F2.0.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fadvanced-random-posts-widget%2Ftags%2F2.0.1&new_path=%2Fadvanced-random-posts-widget%2Ftags%2F2.0.2",[],{"version":464,"download_url":465,"svn_tag_url":466,"released_at":29,"has_diff":396,"diff_files_changed":467,"diff_lines":29,"trac_diff_url":468,"vulnerabilities":469,"is_current":396},"2.0.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-random-posts-widget.2.0.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fadvanced-random-posts-widget\u002Ftags\u002F2.0.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fadvanced-random-posts-widget%2Ftags%2F2.0.0&new_path=%2Fadvanced-random-posts-widget%2Ftags%2F2.0.1",[],{"version":471,"download_url":472,"svn_tag_url":473,"released_at":29,"has_diff":396,"diff_files_changed":474,"diff_lines":29,"trac_diff_url":475,"vulnerabilities":476,"is_current":396},"2.0.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-random-posts-widget.2.0.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fadvanced-random-posts-widget\u002Ftags\u002F2.0.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fadvanced-random-posts-widget%2Ftags%2F1.5.1&new_path=%2Fadvanced-random-posts-widget%2Ftags%2F2.0.0",[],{"version":478,"download_url":479,"svn_tag_url":480,"released_at":29,"has_diff":396,"diff_files_changed":481,"diff_lines":29,"trac_diff_url":482,"vulnerabilities":483,"is_current":396},"1.5.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-random-posts-widget.1.5.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fadvanced-random-posts-widget\u002Ftags\u002F1.5.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fadvanced-random-posts-widget%2Ftags%2F1.5&new_path=%2Fadvanced-random-posts-widget%2Ftags%2F1.5.1",[],{"version":485,"download_url":486,"svn_tag_url":487,"released_at":29,"has_diff":396,"diff_files_changed":488,"diff_lines":29,"trac_diff_url":489,"vulnerabilities":490,"is_current":396},"1.5","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-random-posts-widget.1.5.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fadvanced-random-posts-widget\u002Ftags\u002F1.5\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fadvanced-random-posts-widget%2Ftags%2F1.4&new_path=%2Fadvanced-random-posts-widget%2Ftags%2F1.5",[],{"version":492,"download_url":493,"svn_tag_url":494,"released_at":29,"has_diff":396,"diff_files_changed":495,"diff_lines":29,"trac_diff_url":496,"vulnerabilities":497,"is_current":396},"1.4","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-random-posts-widget.1.4.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fadvanced-random-posts-widget\u002Ftags\u002F1.4\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fadvanced-random-posts-widget%2Ftags%2F1.3&new_path=%2Fadvanced-random-posts-widget%2Ftags%2F1.4",[],{"version":499,"download_url":500,"svn_tag_url":501,"released_at":29,"has_diff":396,"diff_files_changed":502,"diff_lines":29,"trac_diff_url":503,"vulnerabilities":504,"is_current":396},"1.3","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-random-posts-widget.1.3.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fadvanced-random-posts-widget\u002Ftags\u002F1.3\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fadvanced-random-posts-widget%2Ftags%2F1.2&new_path=%2Fadvanced-random-posts-widget%2Ftags%2F1.3",[],{"version":506,"download_url":507,"svn_tag_url":508,"released_at":29,"has_diff":396,"diff_files_changed":509,"diff_lines":29,"trac_diff_url":510,"vulnerabilities":511,"is_current":396},"1.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-random-posts-widget.1.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fadvanced-random-posts-widget\u002Ftags\u002F1.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fadvanced-random-posts-widget%2Ftags%2F1.1&new_path=%2Fadvanced-random-posts-widget%2Ftags%2F1.2",[],{"version":513,"download_url":514,"svn_tag_url":515,"released_at":29,"has_diff":396,"diff_files_changed":516,"diff_lines":29,"trac_diff_url":517,"vulnerabilities":518,"is_current":396},"1.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-random-posts-widget.1.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fadvanced-random-posts-widget\u002Ftags\u002F1.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fadvanced-random-posts-widget%2Ftags%2F1.0&new_path=%2Fadvanced-random-posts-widget%2Ftags%2F1.1",[],{"version":520,"download_url":521,"svn_tag_url":522,"released_at":29,"has_diff":396,"diff_files_changed":523,"diff_lines":29,"trac_diff_url":29,"vulnerabilities":524,"is_current":396},"1.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-random-posts-widget.1.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fadvanced-random-posts-widget\u002Ftags\u002F1.0\u002F",[],[]]