[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fFUf8Uhi0y1Tisb3gn9VLsnS3HMA8acYD_8-T2Zr3L3k":3,"$faXVeWXo2f8JDPceNrRVdzBqDUJ1MXJGs_-fofU4Qseo":286,"$f43yEsNDkjdbHy7T8HYRDtmD0td-98rULPPznx2VPWfE":291},{"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":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"discovery_status":30,"vulnerabilities":31,"developer":32,"crawl_stats":28,"alternatives":38,"analysis":133,"fingerprints":258},"sam-reading-time","Sam Reading Time","2.2","SAM Web Design Agency","https:\u002F\u002Fprofiles.wordpress.org\u002Fsamwda\u002F","\u003Cp>\u003Cstrong>Sam Reading Time (SRT)\u003C\u002Fstrong> is a lightweight and efficient plugin to show estimated reading time in WordPress posts using the \u003Ccode>[sam_reading_time]\u003C\u002Fcode> shortcode.\u003C\u002Fp>\n\u003Cp>Includes a minimal settings page directly accessible under the “Posts” admin menu.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features include:\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Ccode>[sam_reading_time]\u003C\u002Fcode> shortcode for displaying reading time\u003Cbr \u002F>\n– Settings panel for WPM (words per minute) speed and output format\u003Cbr \u002F>\n– Clean output: “Reading Time: 4 minutes”\u003Cbr \u002F>\n– Compatible with all post types\u003Cbr \u002F>\n– Easy to use and theme-friendly\u003Cbr \u002F>\n– No external dependencies or JS\u003Cbr \u002F>\n-SEO & Rich Snippets\u003Cbr \u002F>\n-Multilingual Support\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cp>Insert the shortcode anywhere inside your post or page content:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[sam_reading_time]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Or use it in template files like so:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>echo do_shortcode('[sam_reading_time]');\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Settings can be accessed via \u003Cstrong>Posts > Reading Time Settings\u003C\u002Fstrong>, where you can adjust:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Words-per-minute speed\u003C\u002Fli>\n\u003Cli>Prefix\u002Fsuffix text around reading time\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cp>Developed by SAM Web Design Agency – https:\u002F\u002Fsamwda.ir\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the GPLv2 or later.\u003Cbr \u002F>\nSee https:\u002F\u002Fwww.gnu.org\u002Flicenses\u002Fgpl-2.0.html for details.\u003C\u002Fp>\n","Display estimated reading time for your posts using a clean shortcode. Includes a lightweight settings panel under the \"Posts\" menu.",10,513,100,1,"2026-01-28T14:21:00.000Z","6.9.4","6.3","7.2",[20,21,22,23,24],"estimated-reading-time","post-meta","reading-time","shortcode","simple-plugin","https:\u002F\u002Fgithub.com\u002Fsamwda\u002Fsrt\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsam-reading-time.2.2.zip",0,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":33,"display_name":7,"profile_url":8,"plugin_count":34,"total_installs":11,"avg_security_score":13,"avg_patch_time_days":35,"trust_score":36,"computed_at":37},"samwda",2,30,94,"2026-05-20T05:33:13.472Z",[39,59,80,99,115],{"slug":40,"name":41,"version":42,"author":43,"author_profile":44,"description":45,"short_description":46,"active_installs":47,"downloaded":48,"rating":13,"num_ratings":49,"last_updated":50,"tested_up_to":16,"requires_at_least":51,"requires_php":52,"tags":53,"homepage":57,"download_link":58,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"wp-reading-progress","WP Reading Progress","1.7.0","Joeri van Veen","https:\u002F\u002Fprofiles.wordpress.org\u002Fruigehond\u002F","\u003Cp>The reading progress bar is a great user experience on longreads. Especially if it accurately depicts the reading progress in the article text, and nothing else. This is standard on single blog posts and enabled by default.\u003C\u002Fp>\n\u003Cp>Customization:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>Location top of screen, bottom of screen or below sticky elements.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Select post types you wish the bar to appear, or individual posts.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Choose color of the reading progress bar.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Have the bar start at 0% even when part of the article is visible.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Behaviour:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>The reading progress bar has smooth initializing since part of the text may already be visible, after that a lightweight update-function ensures quick response while scrolling.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>The bar can attach itself to multiple (sticky) elements that you define as an admin, the first visible element will be used.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>When there is no (longer a) visible element to attach to, the bar displays at the top.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Use \u003Ccode>dir=rtl\u003C\u002Fcode> on your html tag to have the bar display correctly for right-to-left languages.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Estimated reading time (beta)\u003C\u002Fp>\n\u003Cp>Since 1.6.0 this plugin has rudimentary estimated reading time functionality, for when your theme does not support it out of the box.\u003Cbr \u002F>\nThere are some potential issues, some of which cannot be fixed in a plugin. If it does not work for you, switch it off. It will have no effect on the plugin then.\u003C\u002Fp>\n\u003Cp>This is my 6th WordPress plugin but my first one freely available to everybody. I hope you enjoy using it as much as I enjoy building it!\u003C\u002Fp>\n\u003Cp>Regards,\u003Cbr \u002F>\nJoeri\u003C\u002Fp>\n","Light weight fully customizable reading progress bar. Sticks to top, bottom or sticky menu, with fallback for small screens. Includes ert (beta).",3000,49907,19,"2026-02-11T12:10:00.000Z","4.9","5.6",[20,54,55,56],"progress","progressbar","reading","https:\u002F\u002Fgithub.com\u002Fjoerivanveen\u002Fwp-reading-progress","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-reading-progress.1.7.0.zip",{"slug":60,"name":61,"version":62,"author":63,"author_profile":64,"description":65,"short_description":66,"active_installs":67,"downloaded":68,"rating":13,"num_ratings":34,"last_updated":69,"tested_up_to":70,"requires_at_least":71,"requires_php":72,"tags":73,"homepage":77,"download_link":78,"security_score":79,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"lp-estimated-reading-time","LP Estimated Reading Time","1.0","layerpoint","https:\u002F\u002Fprofiles.wordpress.org\u002Flayerpoint\u002F","\u003Cp>Let your readers know how much time the blog post will take for reading. This plugin creates an estimated reading time of your posts that is inserted above the content or by using a shortcode. Automatically updates the read time based on the updates the blog post recieves.\u003C\u002Fp>\n\u003Cp>The plugin is completely customizable using the Dashboard Settings. You can activte or deactivate the plugin, style it with the default classes or add your own custom classes. You can also set an estimated number of words read per minute. You can additionally add extra content before and after the estimated reading time as per your needs.\u003C\u002Fp>\n","Displays an estimated reading time of your blog posts",50,3851,"2016-02-11T11:07:00.000Z","4.4.34","4.0","",[74,20,22,75,76],"estimated","time","time-to-read","http:\u002F\u002Flayerpoint.com\u002Festimated-reading-time","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flp-estimated-reading-time.1.1.zip",85,{"slug":81,"name":82,"version":83,"author":84,"author_profile":85,"description":86,"short_description":87,"active_installs":35,"downloaded":88,"rating":27,"num_ratings":27,"last_updated":89,"tested_up_to":16,"requires_at_least":90,"requires_php":91,"tags":92,"homepage":96,"download_link":97,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":98},"current-post-shortcode","Current Post Shortcode","3.1.0","Md Forid Uddin","https:\u002F\u002Fprofiles.wordpress.org\u002Fmdforiduddin\u002F","\u003Cp>The “Current Post Shortcode” plugin allows you to display post titles and custom field values using simple shortcodes. You can display the current post’s title or meta information, or specify a post ID to retrieve data from a specific post.\u003C\u002Fp>\n\u003Ch4>Display Current Post Title and Meta Information:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Post Title:\u003C\u002Fstrong> \u003Ccode>[current_post]\u003C\u002Fcode>  \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Outputs the current post title, e.g., “Hello World”\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Post Meta\u003C\u002Fstrong> (Custom Field): \u003Ccode>[current_post meta=\"custom_field\"]\u003C\u002Fcode>  \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Outputs the value of the custom field\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Display Data from a Specific Post ID:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Post Title:\u003C\u002Fstrong> \u003Ccode>[current_post id=\"123\"]\u003C\u002Fcode>  \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Outputs the title of the post with ID “123”\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Post Meta\u003C\u002Fstrong> (Custom Field): \u003Ccode>[current_post id=\"123\" meta=\"custom_field\"]\u003C\u002Fcode>  \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Outputs the value of the custom field in the post with ID “123”\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Display Fallback Meta Value:\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>[current_post meta=\"custom_field\" default=\"Default Value\"]  \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Displays \"Default Value\" if the custom field is empty\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Display Default Value for Zero Meta Value:\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>[current_post meta=\"custom_field\" default=\"Default Value\" skip=\"true\"]  \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Displays \"Default Value\" if the custom field value is zero\n\u003C\u002Fcode>\u003C\u002Fpre>\n","The Current Post Shortcode plugin allows you to display the current post's title and metadata using simple shortcodes.",604,"2026-01-13T19:05:00.000Z","6.7","7.4",[93,94,21,95,23],"current-post","custom-field","post-title","https:\u002F\u002Fgithub.com\u002Fmdforiduddin\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcurrent-post-shortcode.3.1.0.zip","2026-04-06T09:54:40.288Z",{"slug":100,"name":101,"version":62,"author":102,"author_profile":103,"description":104,"short_description":105,"active_installs":11,"downloaded":106,"rating":27,"num_ratings":27,"last_updated":107,"tested_up_to":16,"requires_at_least":108,"requires_php":109,"tags":110,"homepage":113,"download_link":114,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"article-read-time","Article Read Time","Dhrumil Kumbhani","https:\u002F\u002Fprofiles.wordpress.org\u002Fdhrumilk\u002F","\u003Cp>Article Read Time is a lightweight and customizable WordPress plugin that automatically calculates and displays the estimated reading time for posts and pages.\u003C\u002Fp>\n\u003Cp>Adding reading time to your articles improves user experience, increases engagement, and helps visitors quickly decide whether they have enough time to read your content. Many modern blogs, news websites, and online magazines display reading time to enhance readability and reduce bounce rates — and now you can easily add this feature to your WordPress site.\u003C\u002Fp>\n\u003Cp>The plugin calculates the total word count of your post content (excluding HTML and shortcodes) and estimates the reading duration based on your configured Words Per Minute (WPM) setting. You can fully control how the reading time appears using custom formatting options.\u003C\u002Fp>\n\u003Ch4>Why Use Article Read Time?\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Improve user experience (UX)\u003C\u002Fli>\n\u003Cli>Increase content transparency\u003C\u002Fli>\n\u003Cli>Boost blog engagement\u003C\u002Fli>\n\u003Cli>Reduce bounce rate\u003C\u002Fli>\n\u003Cli>Encourage longer session duration\u003C\u002Fli>\n\u003Cli>Support better SEO performance\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Display reading time using shortcode\u003C\u002Fli>\n\u003Cli>Display reading time using template tag\u003C\u002Fli>\n\u003Cli>Adjustable Words Per Minute (WPM)\u003C\u002Fli>\n\u003Cli>Min–max interval option (e.g., 10–12 min read)\u003C\u002Fli>\n\u003Cli>Lower-than threshold custom format\u003C\u002Fli>\n\u003Cli>Fully customizable output format using %s placeholder\u003C\u002Fli>\n\u003Cli>Lightweight and performance optimized\u003C\u002Fli>\n\u003Cli>Secure and WordPress coding standards compliant\u003C\u002Fli>\n\u003Cli>Works with posts and pages\u003C\u002Fli>\n\u003Cli>No unnecessary scripts or frontend assets\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Flexible Formatting Options\u003C\u002Fh4>\n\u003Cp>You can configure the plugin to display:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Simple format: 5 min read\u003C\u002Fli>\n\u003Cli>Interval format: 10–12 min read\u003C\u002Fli>\n\u003Cli>Custom format for short articles (using Lower Than Threshold feature)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This makes it perfect for:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Blogs\u003C\u002Fli>\n\u003Cli>News websites\u003C\u002Fli>\n\u003Cli>Educational content\u003C\u002Fli>\n\u003Cli>Long-form articles\u003C\u002Fli>\n\u003Cli>Magazine-style websites\u003C\u002Fli>\n\u003Cli>Content publishing platforms\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Easy to Use\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Activate the plugin.\u003C\u002Fli>\n\u003Cli>Configure settings under Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Article Read Time.\u003C\u002Fli>\n\u003Cli>Add the shortcode \u003Ccode>[article_read_time]\u003C\u002Fcode> in any post or page.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Or use the template tag in your theme files:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php if ( function_exists( 'article_read_time' ) ) article_read_time(); ?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Article Read Time is built to be fast, secure, and flexible — giving content creators full control over how reading time is calculated and displayed.\u003C\u002Fp>\n\u003Cp>Features:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Enable or disable reading time display\u003C\u002Fli>\n\u003Cli>Customizable words per minute (WPM)\u003C\u002Fli>\n\u003Cli>Min–max interval display option (e.g., 10–12 minutes)\u003C\u002Fli>\n\u003Cli>Lower-than threshold format support\u003C\u002Fli>\n\u003Cli>Fully customizable output format\u003C\u002Fli>\n\u003Cli>Shortcode support\u003C\u002Fli>\n\u003Cli>Template tag support\u003C\u002Fli>\n\u003Cli>Lightweight and optimized\u003C\u002Fli>\n\u003Cli>Accessibility-friendly\u003C\u002Fli>\n\u003Cli>SEO-friendly\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The plugin calculates word count from post content, removes HTML and shortcodes, and generates accurate reading time estimates based on configured settings.\u003C\u002Fp>\n","Displays estimated article reading time using shortcode or template tag with customizable formats.",189,"2026-03-11T09:31:00.000Z","5.2","7.0",[100,111,112,22,23],"blog-reading-time","post-reading-time","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Farticle-read-time\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Farticle-read-time.1.0.zip",{"slug":116,"name":117,"version":118,"author":119,"author_profile":120,"description":121,"short_description":122,"active_installs":27,"downloaded":123,"rating":27,"num_ratings":27,"last_updated":124,"tested_up_to":125,"requires_at_least":126,"requires_php":91,"tags":127,"homepage":131,"download_link":132,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"anything-shortcodes","Anything Shortcodes","1.3.0","WPizard","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpizard\u002F","\u003Cp>A powerful WordPress plugin that lets you retrieve and display virtually any data in WordPress using simple shortcodes. Effortlessly pull information from posts, users, options, and more — with support for dynamic attribute parsing, flexible formatting, and customizable output wrapping.\u003C\u002Fp>\n\u003Cp>It supports:\u003Cbr \u002F>\n– Post Field\u003Cbr \u002F>\n– Post Meta\u003Cbr \u002F>\n– Term Field\u003Cbr \u002F>\n– Term Meta (coming soon)\u003Cbr \u002F>\n– User Field\u003Cbr \u002F>\n– User Meta\u003Cbr \u002F>\n– Link\u003Cbr \u002F>\n– Option\u003Cbr \u002F>\n– Function (whitelisted)\u003C\u002Fp>\n\u003Cp>You can also:\u003Cbr \u002F>\n– Apply custom formatting (date, datetime, number, capitalize, uppercase, lowercase, strip_tags, etc.)\u003Cbr \u002F>\n– Add before\u002Fafter text\u003Cbr \u002F>\n– Use fallback values\u003Cbr \u002F>\n– Use nested shortcodes inside attributes\u003Cbr \u002F>\n– Use URL parameters as values\u003Cbr \u002F>\n– Cache output\u003Cbr \u002F>\n– Secure and sanitize output\u003C\u002Fp>\n\u003Ch3>Shortcode Usage\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>General syntax:\u003C\u002Fstrong>\u003Cbr \u002F>\n    \u003Ccode>[anys type=\"TYPE\" name=\"KEY\" id=\"ID\" before=\"TEXT\" after=\"TEXT\" fallback=\"TEXT\" format=\"FORMAT\" delimiter=\"DELIMITER\"]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Attributes:\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Ccode>type\u003C\u002Fcode> — \u003Ccode>post-field\u003C\u002Fcode>, \u003Ccode>post-meta\u003C\u002Fcode>, \u003Ccode>user-field\u003C\u002Fcode>, \u003Ccode>user-meta\u003C\u002Fcode>, \u003Ccode>option\u003C\u002Fcode>, \u003Ccode>function\u003C\u002Fcode> (required)\u003Cbr \u002F>\n– \u003Ccode>name\u003C\u002Fcode> — The field name, meta key, option name, or function call (required)\u003Cbr \u002F>\n– \u003Ccode>id\u003C\u002Fcode> — Post ID or User ID (optional; defaults to current context)\u003Cbr \u002F>\n– \u003Ccode>before\u003C\u002Fcode> — Text to prepend before output (optional)\u003Cbr \u002F>\n– \u003Ccode>after\u003C\u002Fcode> — Text to append after output (optional)\u003Cbr \u002F>\n– \u003Ccode>fallback\u003C\u002Fcode> — Value if empty (optional)\u003Cbr \u002F>\n– \u003Ccode>format\u003C\u002Fcode> — Output formatting type (optional: \u003Ccode>date\u003C\u002Fcode>, \u003Ccode>datetime\u003C\u002Fcode>, \u003Ccode>number\u003C\u002Fcode>, \u003Ccode>capitalize\u003C\u002Fcode>, \u003Ccode>uppercase\u003C\u002Fcode>, \u003Ccode>lowercase\u003C\u002Fcode>, \u003Ccode>strip_tags\u003C\u002Fcode>, \u003Ccode>values\u003C\u002Fcode>, \u003Ccode>keys_values\u003C\u002Fcode>, etc.)\u003Cbr \u002F>\n– \u003Ccode>delimiter\u003C\u002Fcode> — Separator used to join multiple values (optional)\u003C\u002Fp>\n\u003Ch3>Supported Types and Examples\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Post Field\u003C\u002Fstrong>\u003Cbr \u002F>\nRetrieve standard post fields by name.\u003C\u002Fp>\n\u003Cp>Examples:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>[anys type=\"post-field\" name=\"post_title\"]\u003C\u002Fcode> — Shows the post title.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"post-field\" name=\"post_date\" format=\"date\"]\u003C\u002Fcode> — Shows the post publish date (formatted).\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"post-field\" name=\"post_author\" id=\"123\"]\u003C\u002Fcode> — Shows the author ID of post \u003Ccode>123\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"post-field\" name=\"post_content\" fallback=\"No content\"]\u003C\u002Fcode> — Shows the post content or fallback text.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Other fields supported: \u003Ccode>ID\u003C\u002Fcode>, \u003Ccode>post_name\u003C\u002Fcode>, \u003Ccode>post_excerpt\u003C\u002Fcode>, \u003Ccode>post_status\u003C\u002Fcode>, \u003Ccode>comment_status\u003C\u002Fcode>, \u003Ccode>ping_status\u003C\u002Fcode>, \u003Ccode>post_password\u003C\u002Fcode>, \u003Ccode>post_parent\u003C\u002Fcode>, \u003Ccode>menu_order\u003C\u002Fcode>, \u003Ccode>guid\u003C\u002Fcode>, \u003Ccode>post_type\u003C\u002Fcode>, \u003Ccode>post_mime_type\u003C\u002Fcode>, \u003Ccode>post_modified\u003C\u002Fcode>, \u003Ccode>post_modified_gmt\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Post Meta\u003C\u002Fstrong>\u003Cbr \u002F>\nRetrieve post meta by key.\u003C\u002Fp>\n\u003Cp>Examples:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>[anys type=\"post-meta\" name=\"my_meta_key\"]\u003C\u002Fcode> — Shows value of \u003Ccode>my_meta_key\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"post-meta\" name=\"price\" id=\"456\" format=\"number\"]\u003C\u002Fcode> — Shows the \u003Ccode>price\u003C\u002Fcode> of post \u003Ccode>456\u003C\u002Fcode>, formatted as number.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"post-meta\" name=\"release_date\" format=\"date\"]\u003C\u002Fcode> — Shows release date formatted as date.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Term Field\u003C\u002Fstrong>\u003Cbr \u002F>\nRetrieve standard term fields by name.\u003C\u002Fp>\n\u003Cp>Examples:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>[anys type=\"term-field\" name=\"name\"]\u003C\u002Fcode> — Shows the term name.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"term-field\" name=\"slug\"]\u003C\u002Fcode> — Shows the term slug.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"term-field\" name=\"term_id\" id=\"15\"]\u003C\u002Fcode> — Shows the ID of term \u003Ccode>15\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"term-field\" name=\"taxonomy\" id=\"15\"]\u003C\u002Fcode> — Shows the taxonomy of term \u003Ccode>15\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"term-field\" name=\"description\" fallback=\"No description\"]\u003C\u002Fcode> — Shows term description or fallback text.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"term-field\" name=\"count\" id=\"15\" format=\"number\"]\u003C\u002Fcode> — Shows the number of posts in term \u003Ccode>15\u003C\u002Fcode>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Other fields supported: \u003Ccode>term_group\u003C\u002Fcode>, \u003Ccode>parent\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Notes:\u003Cbr \u002F>\n– If no “id” is provided, it defaults to the current queried term (e.g., category\u002Ftag archive page).\u003Cbr \u002F>\n– Supports “before”, “after”, “fallback”, and “format” (for number, date, etc.).\u003C\u002Fp>\n\u003Cp>\u003Cstrong>User Field\u003C\u002Fstrong>\u003Cbr \u002F>\nRetrieve user standard fields.\u003C\u002Fp>\n\u003Cp>Examples:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>[anys type=\"user-field\" name=\"user_email\" id=\"12\"]\u003C\u002Fcode> — Shows email of user \u003Ccode>12\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"user-field\" name=\"display_name\"]\u003C\u002Fcode> — Shows current user display name.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"user-field\" name=\"user_registered\" format=\"date\"]\u003C\u002Fcode> — Shows user registration date.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Common user fields: \u003Ccode>ID\u003C\u002Fcode>, \u003Ccode>user_login\u003C\u002Fcode>, \u003Ccode>user_nicename\u003C\u002Fcode>, \u003Ccode>user_url\u003C\u002Fcode>, \u003Ccode>user_activation_key\u003C\u002Fcode>, \u003Ccode>user_status\u003C\u002Fcode>, \u003Ccode>description\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>User Meta\u003C\u002Fstrong>\u003Cbr \u002F>\nRetrieve user meta by key.\u003C\u002Fp>\n\u003Cp>Examples:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>[anys type=\"user-meta\" name=\"favorite_color\" id=\"12\"]\u003C\u002Fcode> — Shows favorite_color of user \u003Ccode>12\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"user-meta\" name=\"profile_phone\"]\u003C\u002Fcode> — Shows current user’s phone.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Link\u003C\u002Fstrong>\u003Cbr \u002F>\nRetrieve URLs or generate link anchors for common WordPress locations.\u003C\u002Fp>\n\u003Cp>Examples:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>[anys type=\"link\" name=\"logout\"]\u003C\u002Fcode> — Returns the logout URL.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"link\" name=\"logout\" redirect=\"\u002F\"]\u003C\u002Fcode> — Returns the logout URL and redirects to home after logout.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"link\" name=\"login\" redirect=\"\u002Fdashboard\"]\u003C\u002Fcode> — Returns the login URL with redirect to \u003Ccode>\u002Fdashboard\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"link\" name=\"register\"]\u003C\u002Fcode> — Returns the registration URL.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"link\" name=\"home\"]\u003C\u002Fcode> — Returns the home page URL.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"link\" name=\"siteurl\"]\u003C\u002Fcode> — Returns the main site URL.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"link\" name=\"admin\"]\u003C\u002Fcode> — Returns the WordPress admin URL.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"link\" name=\"profile\"]\u003C\u002Fcode> — Returns the user profile page URL.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"link\" name=\"post\" id=\"123\"]\u003C\u002Fcode> — Returns the permalink for post with ID \u003Ccode>123\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"link\" name=\"term\" id=\"45\"]\u003C\u002Fcode> — Returns the archive link for term with ID \u003Ccode>45\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"link\" name=\"current\"]\u003C\u002Fcode> — Returns the current page URL.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"link\" name=\"auth\"]\u003C\u002Fcode> — Dynamically returns the login or logout URL based on user status.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Formatting options:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>[anys type=\"link\" name=\"logout\" format=\"anchor\"]\u003C\u002Fcode> — Outputs a clickable link: \u003Ccode>\u003Ca href=\"...\">Logout\u003C\u002Fa>\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"link\" name=\"auth\" format=\"anchor\"]\u003C\u002Fcode> — Dynamically shows Login or Logout link depending on user state.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"link\" name=\"auth\" format=\"anchor\" label_logged_in=\"Sign Out\" label_logged_out=\"Sign In\"]\u003C\u002Fcode> — Customizes labels for both states.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Attributes supported:\u003Cbr \u002F>\n– \u003Ccode>name\u003C\u002Fcode>: The link type (e.g., \u003Ccode>logout\u003C\u002Fcode>, \u003Ccode>login\u003C\u002Fcode>, \u003Ccode>home\u003C\u002Fcode>, \u003Ccode>admin\u003C\u002Fcode>, etc.).\u003Cbr \u002F>\n– \u003Ccode>redirect\u003C\u002Fcode>: Optional redirect URL (used for login\u002Flogout links).\u003Cbr \u002F>\n– \u003Ccode>format\u003C\u002Fcode>: Either \u003Ccode>url\u003C\u002Fcode> (default) or \u003Ccode>anchor\u003C\u002Fcode> for clickable links.\u003Cbr \u002F>\n– \u003Ccode>target\u003C\u002Fcode>: Optional anchor target (e.g., \u003Ccode>_blank\u003C\u002Fcode>).\u003Cbr \u002F>\n– \u003Ccode>label\u003C\u002Fcode>: Optional link text (default varies by type).\u003Cbr \u002F>\n– \u003Ccode>label_logged_in\u003C\u002Fcode>: Custom label when the user is logged in (used with \u003Ccode>auth\u003C\u002Fcode>).\u003Cbr \u002F>\n– \u003Ccode>label_logged_out\u003C\u002Fcode>: Custom label when the user is logged out (used with \u003Ccode>auth\u003C\u002Fcode>).\u003Cbr \u002F>\n– \u003Ccode>id\u003C\u002Fcode>: Used for post and term links.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Option\u003C\u002Fstrong>\u003Cbr \u002F>\nRetrieve WordPress option values.\u003C\u002Fp>\n\u003Cp>Examples:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>[anys type=\"option\" name=\"blogname\"]\u003C\u002Fcode> — Shows site title.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"option\" name=\"admin_email\"]\u003C\u002Fcode> — Shows site admin email.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Function\u003C\u002Fstrong>\u003Cbr \u002F>\nExecute a whitelisted PHP function and optionally pass arguments.\u003C\u002Fp>\n\u003Cp>Examples:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>[anys type=\"function\" name=\"date_i18n, F j, Y\"]\u003C\u002Fcode> — Shows today’s date.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"function\" name=\"sanitize_text_field, (anys type='option' name='blogdescription')\"]\u003C\u002Fcode> — Sanitizes and shows site description.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"function\" name=\"date_i18n, F j, Y\" before=\"Today is \"]\u003C\u002Fcode> — Shows today’s date with custom prefix.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"function\" name=\"date_i18n, F j, Y\" after=\".\"]\u003C\u002Fcode> — Shows today’s date with custom suffix.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"function\" name=\"my_custom_function\" fallback=\"N\u002FA\"]\u003C\u002Fcode> — Shows output of custom function or fallback.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"function\" name=\"my_custom_function\" format=\"capitalize\"]\u003C\u002Fcode> — Shows output of custom function and automatically capitalizes the output (e.g., “hello world” \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> “Hello World”).\u003C\u002Fli>\n\u003Cli>\u003Ccode>[anys type=\"function\" name=\"my_custom_function\" delimiter=\", \"]\u003C\u002Fcode> — Shows output of custom function. If the function returns an array, the values are joined using the given delimiter (e.g., \u003Ccode>[\"apple\", \"banana\"]\u003C\u002Fcode> \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> “apple, banana”).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Notes:\u003Cbr \u002F>\n– Only functions whitelisted in plugin settings can be executed.\u003Cbr \u002F>\n– Arguments can include other \u003Ccode>[anys]\u003C\u002Fcode> shortcodes using \u003Ccode>()\u003C\u002Fcode> instead of \u003Ccode>[]\u003C\u002Fcode>.\u003Cbr \u002F>\n– Output can be formatted or wrapped with \u003Ccode>before\u003C\u002Fcode>\u002F\u003Ccode>after\u003C\u002Fcode> content and fallback.\u003C\u002Fp>\n\u003Ch3>Dynamic Attribute Parsing\u003C\u002Fh3>\n\u003Cp>Supports dynamic placeholders inside attribute values:\u003Cbr \u002F>\n– \u003Ccode>{get:param}\u003C\u002Fcode> — gets value from $_GET[‘param’]\u003Cbr \u002F>\n– \u003Ccode>{post:param}\u003C\u002Fcode> — gets value from $_POST[‘param’]\u003Cbr \u002F>\n– \u003Ccode>{func:function_name,arg1,arg2}\u003C\u002Fcode> — calls a whitelisted PHP function\u003Cbr \u002F>\n– \u003Ccode>{shortcode:(tag)}\u003C\u002Fcode> — parses nested shortcode (use \u003Ccode>()\u003C\u002Fcode> instead of \u003Ccode>[]\u003C\u002Fcode>)\u003Cbr \u002F>\n– \u003Ccode>{const:CONSTANT_NAME}\u003C\u002Fcode> — replaces with PHP constant value\u003C\u002Fp>\n\u003Cp>Example:\u003Cbr \u002F>\n    \u003Ccode>[anys type=\"post_field\" name=\"post_title\" id=\"{get:post_id}\" before=\"Title: \"]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Ch3>Formatting Options\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ccode>date\u003C\u002Fcode> — Format timestamps using WordPress date format.\u003C\u002Fli>\n\u003Cli>\u003Ccode>datetime\u003C\u002Fcode> — Format timestamps using WordPress date and time format.\u003C\u002Fli>\n\u003Cli>\u003Ccode>number\u003C\u002Fcode> — Localized number format.\u003C\u002Fli>\n\u003Cli>\u003Ccode>json\u003C\u002Fcode> — Encode value as JSON string.\u003C\u002Fli>\n\u003Cli>\u003Ccode>serialize\u003C\u002Fcode> — Serialize PHP value.\u003C\u002Fli>\n\u003Cli>\u003Ccode>unserialize\u003C\u002Fcode> — Unserialize string if serialized.\u003C\u002Fli>\n\u003Cli>\u003Ccode>print_r\u003C\u002Fcode> — Human-readable output of variable.\u003C\u002Fli>\n\u003Cli>\u003Ccode>var_export\u003C\u002Fcode> — Parsable string representation.\u003C\u002Fli>\n\u003Cli>\u003Ccode>implode\u003C\u002Fcode> — Join array values.\u003C\u002Fli>\n\u003Cli>\u003Ccode>values\u003C\u002Fcode> — Join array values only.\u003C\u002Fli>\n\u003Cli>\u003Ccode>keys\u003C\u002Fcode> — Join array keys only.\u003C\u002Fli>\n\u003Cli>\u003Ccode>keys_values\u003C\u002Fcode> — Join array key-value pairs.\u003C\u002Fli>\n\u003Cli>\u003Ccode>capitalize\u003C\u002Fcode> — Capitalize words.\u003C\u002Fli>\n\u003Cli>\u003Ccode>uppercase\u003C\u002Fcode> — Uppercase all characters.\u003C\u002Fli>\n\u003Cli>\u003Ccode>lowercase\u003C\u002Fcode> — Lowercase all characters.\u003C\u002Fli>\n\u003Cli>\u003Ccode>strip_tags\u003C\u002Fcode> — Remove HTML\u002FPHP tags.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Custom formats are supported via filters.\u003C\u002Fp>\n\u003Ch3>Hooks\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Filters\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Ccode>anys\u002Fattributes\u003C\u002Fcode> — Filter attributes before processing.\u003Cbr \u002F>\n– \u003Ccode>anys\u002F{type}\u002Fattributes\u003C\u002Fcode> — Filter attributes dynamically by type.\u003Cbr \u002F>\n– \u003Ccode>anys\u002Foutput\u003C\u002Fcode> — Filter final output.\u003Cbr \u002F>\n– \u003Ccode>anys\u002F{type}\u002Foutput\u003C\u002Fcode> — Filter output dynamically by type.\u003Cbr \u002F>\n– \u003Ccode>anys\u002Flink\u002Fhandlers\u003C\u002Fcode> – Filter link handlers.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Actions\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Ccode>anys\u002Foutput\u002Fbefore\u003C\u002Fcode> — Fires before output.\u003Cbr \u002F>\n– \u003Ccode>anys\u002F{type}\u002Foutput\u002Fbefore\u003C\u002Fcode> — Fires before output for specific type.\u003Cbr \u002F>\n– \u003Ccode>anys\u002F{type}\u002Fmissing\u003C\u002Fcode> — Fires when handler file missing.\u003Cbr \u002F>\n– \u003Ccode>anys\u002Foutput\u002Fafter\u003C\u002Fcode> — Fires after output.\u003Cbr \u002F>\n– \u003Ccode>anys\u002F{type}\u002Foutput\u002Fafter\u003C\u002Fcode> — Fires after output for specific type.\u003C\u002Fp>\n\u003Ch3>Security\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>All inputs sanitized using WordPress functions.\u003C\u002Fli>\n\u003Cli>Function calls restricted to whitelisted list.\u003C\u002Fli>\n\u003Cli>Outputs sanitized with \u003Ccode>wp_kses_post()\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Dynamic parsing uses caching for performance.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Support & Contribution\u003C\u002Fh3>\n\u003Cp>For bugs, feature requests, or contributions, open an issue or PR on the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fwpizard\u002Fanything-shortcodes\" rel=\"nofollow ugc\">plugin repository\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Thank you for using Anything Shortcodes!\u003C\u002Fp>\n","Retrieve and display any WordPress data with shortcodes — posts, users, options, and more, with flexible formatting and customization.",534,"2025-10-07T07:55:00.000Z","6.8.5","5.0",[128,129,21,23,130],"options","post","user","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fanything-shortcodes","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fanything-shortcodes.1.3.0.zip",{"attackSurface":134,"codeSignals":207,"taintFlows":247,"riskAssessment":248,"analyzedAt":257},{"hooks":135,"ajaxHandlers":199,"restRoutes":200,"shortcodes":201,"cronEvents":206,"entryPointCount":14,"unprotectedCount":27},[136,142,146,150,154,158,162,165,169,172,176,180,183,187,191,195],{"type":137,"name":138,"callback":139,"file":140,"line":141},"action","plugins_loaded","load_textdomain","sam-reading-time.php",35,{"type":137,"name":143,"callback":144,"file":140,"line":145},"admin_menu","add_admin_menu",41,{"type":137,"name":147,"callback":148,"file":140,"line":149},"admin_init","initialize_settings",42,{"type":137,"name":151,"callback":152,"file":140,"line":153},"wp_enqueue_scripts","enqueue_plugin_styles",45,{"type":137,"name":155,"callback":156,"file":140,"line":157},"admin_enqueue_scripts","enqueue_admin_styles",48,{"type":159,"name":160,"callback":161,"file":140,"line":67},"filter","manage_posts_columns","add_reading_time_column",{"type":159,"name":163,"callback":161,"file":140,"line":164},"manage_pages_columns",51,{"type":137,"name":166,"callback":167,"priority":11,"file":140,"line":168},"manage_posts_custom_column","show_reading_time_column",52,{"type":137,"name":170,"callback":167,"priority":11,"file":140,"line":171},"manage_pages_custom_column",53,{"type":137,"name":173,"callback":174,"file":140,"line":175},"init","add_cpt_reading_time_column_support",54,{"type":159,"name":177,"callback":178,"file":140,"line":179},"manage_edit-post_sortable_columns","make_reading_time_column_sortable",55,{"type":159,"name":181,"callback":178,"file":140,"line":182},"manage_edit-page_sortable_columns",56,{"type":137,"name":184,"callback":185,"file":140,"line":186},"pre_get_posts","reading_time_orderby_query",57,{"type":137,"name":188,"callback":189,"file":140,"line":190},"wp_head","add_time_required_jsonld",58,{"type":137,"name":192,"callback":193,"priority":11,"file":140,"line":194},"save_post","update_reading_time_meta",61,{"type":137,"name":196,"callback":197,"file":140,"line":198},"admin_head","closure",90,[],[],[202],{"tag":203,"callback":204,"file":140,"line":205},"sam_reading_time","display_reading_time_shortcode",38,[],{"dangerousFunctions":208,"sqlUsage":209,"outputEscaping":211,"fileOperations":27,"externalRequests":27,"nonceChecks":27,"capabilityChecks":14,"bundledLibraries":246},[],{"prepared":27,"raw":27,"locations":210},[],{"escaped":212,"rawEcho":213,"locations":214},17,15,[215,218,220,222,224,226,228,230,232,234,236,238,240,242,244],{"file":140,"line":216,"context":217},520,"raw output",{"file":140,"line":219,"context":217},529,{"file":140,"line":221,"context":217},549,{"file":140,"line":223,"context":217},558,{"file":140,"line":225,"context":217},567,{"file":140,"line":227,"context":217},575,{"file":140,"line":229,"context":217},576,{"file":140,"line":231,"context":217},585,{"file":140,"line":233,"context":217},594,{"file":140,"line":235,"context":217},610,{"file":140,"line":237,"context":217},630,{"file":140,"line":239,"context":217},631,{"file":140,"line":241,"context":217},639,{"file":140,"line":243,"context":217},640,{"file":140,"line":245,"context":217},826,[],[],{"summary":249,"deductions":250},"The \"sam-reading-time\" v2.2 plugin exhibits a generally strong security posture based on the provided static analysis. The absence of any recorded vulnerabilities, critical taint flows, dangerous functions, or direct SQL queries is highly positive. The plugin also utilizes prepared statements for its SQL queries and includes at least one capability check, demonstrating an awareness of basic security practices.  However, a significant concern is the 53% rate of properly escaped output. This means that over half of the plugin's output is not being properly sanitized, presenting a potential cross-site scripting (XSS) risk if user-supplied data is involved in these outputs. Additionally, the absence of nonce checks, while not directly linked to an identified attack vector in this analysis, is a common security measure that is missing and could be exploited in conjunction with other potential weaknesses.",[251,254],{"reason":252,"points":253},"Insufficient output escaping (53% proper)",7,{"reason":255,"points":256},"Missing nonce checks",5,"2026-03-16T23:15:13.887Z",{"wat":259,"direct":267},{"assetPaths":260,"generatorPatterns":262,"scriptPaths":263,"versionParams":264},[261],"\u002Fwp-content\u002Fplugins\u002Fsam-reading-time\u002Fsam-reading-time.js",[],[261],[265,266],"sam-reading-time\u002Fsam-reading-time.js?ver=","sam-reading-time.php?ver=",{"cssClasses":268,"htmlComments":271,"htmlAttributes":277,"restEndpoints":279,"jsGlobals":280,"shortcodeOutput":282},[269,270],"sam-settings-container","sam-reading-time-wrap",[272,273,274,275,276],"\u003C!-- Minimal admin panel polish — red theme (#d00) -->","\u003C!-- MINIMAL, RED-THEMED POLISH ONLY. -->","\u003C!-- The estimated reading time is calculated and displayed here -->","\u003C!-- Shortcode to display reading time -->","\u003C!-- Add schema.org JSON-LD for richer snippets -->",[278],"data-sam-reading-time",[],[281],"sam_reading_time_config",[283,284,285],"\u003Cspan class=\"sam-reading-time-wrap\">","Reading Time: "," minutes read\u003C\u002Fspan>",{"error":287,"url":288,"statusCode":289,"statusMessage":290,"message":290},true,"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fsam-reading-time\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":292,"versions":293},4,[294,300,307,314],{"version":6,"download_url":26,"svn_tag_url":295,"released_at":28,"has_diff":296,"diff_files_changed":297,"diff_lines":28,"trac_diff_url":298,"vulnerabilities":299,"is_current":287},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsam-reading-time\u002Ftags\u002F2.2\u002F",false,[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsam-reading-time%2Ftags%2F2.1&new_path=%2Fsam-reading-time%2Ftags%2F2.2",[],{"version":301,"download_url":302,"svn_tag_url":303,"released_at":28,"has_diff":296,"diff_files_changed":304,"diff_lines":28,"trac_diff_url":305,"vulnerabilities":306,"is_current":296},"2.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsam-reading-time.2.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsam-reading-time\u002Ftags\u002F2.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsam-reading-time%2Ftags%2F2.0&new_path=%2Fsam-reading-time%2Ftags%2F2.1",[],{"version":308,"download_url":309,"svn_tag_url":310,"released_at":28,"has_diff":296,"diff_files_changed":311,"diff_lines":28,"trac_diff_url":312,"vulnerabilities":313,"is_current":296},"2.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsam-reading-time.2.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsam-reading-time\u002Ftags\u002F2.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fsam-reading-time%2Ftags%2F1.0&new_path=%2Fsam-reading-time%2Ftags%2F2.0",[],{"version":62,"download_url":315,"svn_tag_url":316,"released_at":28,"has_diff":296,"diff_files_changed":317,"diff_lines":28,"trac_diff_url":28,"vulnerabilities":318,"is_current":296},"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsam-reading-time.1.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fsam-reading-time\u002Ftags\u002F1.0\u002F",[],[]]