[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fS8703QjfNvyU0V0GZJKxgn6dKMTE615ucOAVY8n_Vs4":3},{"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,"vulnerabilities":31,"developer":32,"crawl_stats":29,"alternatives":40,"analysis":139,"fingerprints":434},"my-reading-time-lite","My Reading Time Lite","1.0.3","Liton Arefin","https:\u002F\u002Fprofiles.wordpress.org\u002Flitonice13\u002F","\u003Cp>My Reading Time Lite let’s you easily add a reading time to your WordPress posts. The control panel is very easy to configure. You can edit the text and word count per minutes from the panel.\u003C\u002Fp>\n\u003Ch4>Features of the plugin\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Show on before Content\u003C\u002Fli>\n\u003Cli>Show on before Excerpt\u003C\u002Fli>\n\u003Cli>Exclude Images from Reading Time\u003C\u002Fli>\n\u003Cli>Include Shortcode Contents\u003C\u002Fli>\n\u003Cli>Manually Words selection on per minute\u003C\u002Fli>\n\u003Cli>After\u002FBefore Reading Label\u003C\u002Fli>\n\u003Cli>Reading Time Label\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>To use “My Reading Time Lite” you don’t need any other extra configuration. This plugin works fine with any Theme.\u003C\u002Fp>\n\u003Ch3>Liked My Reading Time Lite Plugin?\u003C\u002Fh3>\n\u003Cp>Rate us on \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fmy-reading-time-lite\u002Freviews\u002F#new-post\" rel=\"ugc\">WordPress Forum 🙂\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Ask your Question \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fmy-reading-time-lite\u002F\" rel=\"ugc\">WordPress plugin Support Page\u003C\u002Fa>\u003Cbr \u002F>\nGet Faster Support from \u003Ca href=\"https:\u002F\u002Fjeweltheme.com\u002Fcontact\" rel=\"nofollow ugc\">Our website contact form\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Source Code\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flitonarefin\u002Fmy-reading-time-lite\" rel=\"nofollow ugc\">Source Code\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fjeweltheme.com\u002Fcontact\u002F\" rel=\"nofollow ugc\">Support Forum\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fjeweltheme.com\u002Fcontact\u002F\" rel=\"nofollow ugc\">Pre-Sale Questions\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>✋Want More –\u003C\u002Fh3>\n\u003Cp>If you like our my-reading-time-lite plugin then why not check some other plugins that developed by us:\u003C\u002Fp>\n\u003Cp>🚀 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fadminify\u002F\" rel=\"ugc\">WP Adminify:\u003C\u002Fa> – The best WordPress Dashboard Customization plugin available in the market. With this plugin you will get 18+ modules like Dark Mode, Menu Editor, Folders, Dashboard Widget Manager, Login Customizer, Admin Columns, Activity Logs and many more.\u003C\u002Fp>\n\u003Cp>🚀 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fultimate-blocks-for-gutenberg\u002F\" rel=\"ugc\">Master Blocks:\u003C\u002Fa> – “Master Blocks” is a powerful WordPress plugin designed to enhance the functionality of the Gutenberg block editor. With this plugin, users can unlock a wide range of new blocks, offering greater flexibility and creativity when designing and customising their website’s content.\u003C\u002Fp>\n\u003Cp>🚀 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmaster-addons\u002F\" rel=\"ugc\">Master Addons:\u003C\u002Fa> – One of the best Elementor Addon plugin that packed with 70+ elements and extensions. You will get all essential elements to design any type Website.\u003C\u002Fp>\n\u003Cp>🚴🏻‍♂️ \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fimage-comparison-elementor-addon\u002F\" rel=\"ugc\">Image Comparison for Elementor:\u003C\u002Fa> – This plugin dedicatedly made for image comparison element. You will get a multiple variation for image comparison. Showcase your before after work easily with the help of this plugin.\u003C\u002Fp>\n\u003Cp>🍡 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwp-awesome-faq\u002F\" rel=\"ugc\">Master Accordion:\u003C\u002Fa> – If you are a default WordPress user and need a proper accordion plugin then Master Accordion is for you. You can add as much accordion as you need in multiple way.\u003C\u002Fp>\n\u003Cp>🏕 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fprettyphoto\u002F\" rel=\"ugc\">WordPress prettyPhoto:\u003C\u002Fa> – This plugin helps you to enable lightbox for your any media file, flash, YouTube, iframes and ajax. Just enable PreetyPhoto in your desired media file and you are done.\u003C\u002Fp>\n","Reading Time lite plugin enables an estimated reading time that inserted above or bottom in post. Insert anywhere using shortcode too.",10,2973,100,1,"2023-08-21T00:13:00.000Z","6.3.8","4.0","5.6",[20,21,22,23,24],"estimated-time","posts","reading-time","time","word-count","https:\u002F\u002Fjeweltheme.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmy-reading-time-lite.1.0.3.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":33,"display_name":7,"profile_url":8,"plugin_count":34,"total_installs":35,"avg_security_score":36,"avg_patch_time_days":37,"trust_score":38,"computed_at":39},"litonice13",45,42980,93,63,83,"2026-04-04T14:00:25.660Z",[41,61,83,102,121],{"slug":42,"name":43,"version":44,"author":45,"author_profile":46,"description":47,"short_description":48,"active_installs":49,"downloaded":50,"rating":51,"num_ratings":52,"last_updated":53,"tested_up_to":54,"requires_at_least":55,"requires_php":56,"tags":57,"homepage":58,"download_link":59,"security_score":60,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"reading-time-wp","Reading Time WP","2.0.17","yingles","https:\u002F\u002Fprofiles.wordpress.org\u002Fyingles\u002F","\u003Cp>WP Reading Time let’s you easily add an estimated reading time to your WordPress posts. Activating the plugin will automatically add the reading time to the beginning of your post’s content. This can be deactivated in the Reading Time settings which can be accessed from your Dashboard’s Settings menu. You can also edit the label and postfix from this menu.\u003C\u002Fp>\n\u003Cp>If you’d prefer more control over where you add your reading time you can use the the [rt_reading_time] shortcode to insert the time into a post. This shortcode also excepts values for label and postfix. These are optional. Ex. [rt_reading_time label=”Reading Time:” postfix=”minutes” postfix_singular=”minute”].\u003C\u002Fp>\n","Reading Time WP creates an estimated reading time of your posts that is inserted above the content or by using a shortcode.",30000,424094,96,20,"2024-11-17T15:46:00.000Z","6.7.5","3.0.1","",[20,21,22,23,24],"https:\u002F\u002Fjasonyingling.me\u002Freading-time-wp\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Freading-time-wp.2.0.17.zip",92,{"slug":62,"name":63,"version":64,"author":65,"author_profile":66,"description":67,"short_description":68,"active_installs":69,"downloaded":70,"rating":13,"num_ratings":71,"last_updated":72,"tested_up_to":54,"requires_at_least":73,"requires_php":56,"tags":74,"homepage":78,"download_link":79,"security_score":80,"vuln_count":81,"unpatched_count":28,"last_vuln_date":82,"fetched_at":30},"just-writing-statistics","Just Writing Statistics","5.4","Greg Ross","https:\u002F\u002Fprofiles.wordpress.org\u002Fgregross\u002F","\u003Cp>\u003Cstrong>Just Writing Statistics is a fork of WP Word Count\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Just Writing Statistics tells you exactly how many words you’ve written on your site with statistics by:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Top Content\u003C\u002Fli>\n\u003Cli>All Content\u003C\u002Fli>\n\u003Cli>Month\u003C\u002Fli>\n\u003Cli>Year\u003C\u002Fli>\n\u003Cli>Author\u003C\u002Fli>\n\u003Cli>Tags\u003C\u002Fli>\n\u003Cli>Categories\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Frequency (new!)\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Just Writing Statistics also has reading times for each post and page of your site. Find out how many hours of content you’ve written or let readers know how long your articles are. You can include reading time at the top of each of your posts automatically or use a shortcode.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Quickly see how many posts and pages you’ve created and how many total words they add up to.\u003C\u002Fli>\n\u003Cli>View and display estimated reading times for each piece of content on your site.\u003C\u002Fli>\n\u003Cli>Support for custom post types so you can monitor word counts from content created by your themes and plugins.\u003C\u002Fli>\n\u003Cli>View your writing output for each month broken down by post type.\u003C\u002Fli>\n\u003Cli>See all of your site author’s word counts with breakdowns by post type.\u003C\u002Fli>\n\u003C\u002Ful>\n","Calculate your writing statistics on your WordPress site.",1000,10253,4,"2025-02-26T02:47:00.000Z","4.6",[75,22,24,76,77],"authors","words","writing","https:\u002F\u002Ftoolstack.com\u002Fjust-writing-statistics","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fjust-writing-statistics.5.4.zip",90,3,"2025-03-27 00:00:00",{"slug":22,"name":84,"version":85,"author":86,"author_profile":87,"description":88,"short_description":89,"active_installs":90,"downloaded":91,"rating":92,"num_ratings":81,"last_updated":93,"tested_up_to":94,"requires_at_least":95,"requires_php":96,"tags":97,"homepage":100,"download_link":101,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"Reading Time","1.2.21","whiletrue","https:\u002F\u002Fprofiles.wordpress.org\u002Fwhiletrue\u002F","\u003Cp>Reading Time shows the estimated reading time of the post, in seconds or minutes.\u003Cbr \u002F>\nThe estimate is automatic; a custom value for a single post can be inserted using a Custom Field named “readingtime”.\u003C\u002Fp>\n\u003Cp>For more info: https:\u002F\u002Fwww.whiletrue.it\u002Freading-time-for-wordpress\u002F\u003C\u002Fp>\n","Reading Time shows the estimated reading time and puts an animated progress bar inside the post.",300,14589,74,"2024-03-21T15:54:00.000Z","6.5.8","2.9","7.0",[98,99,22,23,24],"estimate-time","reading","https:\u002F\u002Fwww.whiletrue.it","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Freading-time.1.2.21.zip",{"slug":103,"name":104,"version":105,"author":106,"author_profile":107,"description":108,"short_description":109,"active_installs":13,"downloaded":110,"rating":13,"num_ratings":111,"last_updated":112,"tested_up_to":113,"requires_at_least":114,"requires_php":96,"tags":115,"homepage":119,"download_link":120,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"timify","Timify","1.1.2","ThemeIM","https:\u002F\u002Fprofiles.wordpress.org\u002Fthemeim\u002F","\u003Cp>Timify is your one-stop solution for informing your readers about the last modified date, publish date, reading time, word count, post view count by IP address and date formate time ago of an article.\u003Cbr \u002F>\nTo maintain a proper engagement with your audience, it is important to add the last updated time of your post or page in WordPress.\u003Cbr \u002F>\nGoogle prefers articles that include update dates rather than publish dates. Timify will automatically generate the last update time of your articles.\u003Cbr \u002F>\nAnd you don’t have to write a single code. This makes it a lot easier to handle everything about timing.\u003Cbr \u002F>\nFurthermore, you can also edit the “Last Update” word according to your preference.\u003C\u002Fp>\n\u003Cp>And that’s not all, Timify allows you to add an estimating reading time for your WordPress blogs.\u003Cbr \u002F>\nRead Next: \u003Ca href=\"https:\u002F\u002Fthemeim.com\u002Fautomatic-plugin-updates-in-wordpress\" rel=\"nofollow ugc\">\u003Cstrong>How to Enable Automatic Plugin Updates\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>The estimating reading time will automatically appear at the beginning of your article as soon as you activate the plugin.\u003Cbr \u002F>\nYou can also deactivate the reading time from your dashboard. Labels and postfixes can be edited from the “Reading Time” section inside the settings.\u003Cbr \u002F>\nTimify allows you to have absolute control over the reading time placement.\u003Cbr \u002F>\nInsert and customize reading time into any post or page by using the [timify-post-reading-time] shortcode.\u003Cbr \u002F>\nThis shortcode is also compatible with label and postfix values. But, that’s optional and up to you to decide.\u003C\u002Fp>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002F8013PBmZ_NM?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Ch4>Features:\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Apply Date Time Format ( Date Time Filtering Purpose in published date)\u003Cbr \u002F>\nEX:  Default: April 13, 2021\u003Cbr \u002F>\nAfter Modification: 3 days ago.\u003C\u002Fli>\n\u003Cli>Apply the “Time Ago”  showing as your preferred recently published posts. Available time period: Minutes, hours,days, months.  \u003C\u002Fli>\n\u003Cli>Change the “Ago” Word .\u003C\u002Fli>\n\u003Cli>You can change the “Last Modified Label”\u003C\u002Fli>\n\u003Cli>You can position the “Last Modified Time” in 3 different ways. Before content, Replace the default published date or you can use the shortcode anywhere in the post page.\u003C\u002Fli>\n\u003Cli>Advanced method for changing the “Last modified date” position with the published date you should enter the css selector field.\u003C\u002Fli>\n\u003Cli>You can change the “Reading Time Label”\u003C\u002Fli>\n\u003Cli>You can position the “Reading Time” in 2 different ways. Before content  or you can use the shortcode anywhere in the post page.\u003C\u002Fli>\n\u003Cli>You can apply the settings for almost every post type including Custom post types (If there exist any in your system). \u003C\u002Fli>\n\u003Cli>You can align the “Last Modified Label” and  “Reading Time Label” in the single post page. \u003C\u002Fli>\n\u003Cli>You can disable or enable the plugin settings in individual posts in the post edit page.\u003C\u002Fli>\n\u003Cli>You can word count enable or disable in timify settings.\u003C\u002Fli>\n\u003Cli>You can post view enable or disable in timify stttings.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>ABOUT THE AUTHOR\u003C\u002Fh4>\n\u003Cp>A product by \u003Ca href=\"https:\u002F\u002Fthemeim.com\" rel=\"nofollow ugc\">ThemeIM\u003C\u002Fa> plugin development team.\u003C\u002Fp>\n\u003Ch4>PROBLEMS AND SUPPORT\u003C\u002Fh4>\n\u003Cp>To get a faster response, you can use our website. If you have any query about Timify Plugin then please check our F.A.Q.\u003C\u002Fp>\n\u003Ch4>COMMENTS, FEEDBACK AND REQUEST FEATURES\u003C\u002Fh4>\n\u003Cp>Please give your valuable suggestions, comments, and feedback about this plugin or ideas about WordPress plugins, just visit us at \u003Ca href=\"https:\u002F\u002Fthemeim.com\" rel=\"nofollow ugc\">ThemeIM\u003C\u002Fa>. We are waiting to hear from you!\u003C\u002Fp>\n","With Timify, let your audience know about the last modified date, publish date, and reading time of your articles. You can also customize each setting &hellip;",3457,2,"2023-10-05T08:06:00.000Z","6.1.10","5.3",[116,117,118,22,24],"date","modified-time","post-view-count","https:\u002F\u002Fwww.themeim.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftimify.zip",{"slug":122,"name":123,"version":6,"author":124,"author_profile":125,"description":126,"short_description":127,"active_installs":52,"downloaded":128,"rating":28,"num_ratings":28,"last_updated":129,"tested_up_to":130,"requires_at_least":131,"requires_php":132,"tags":133,"homepage":137,"download_link":138,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"article-read-time-lite","Article Read Time Lite – WordPress plugin for displaying total reading time and progress bar","WP Shuffle","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpshuffle\u002F","\u003Cp>As the name explains, \u003Cstrong>Article Read Time Lite\u003C\u002Fstrong> is a free WordPress plugin which calculates the estimated reading time required to read the article in your site\u003Cbr \u002F>\nand presents them in a beautiful manner with our available \u003Cstrong>Paragraph\u003C\u002Fstrong> and \u003Cstrong>Block\u003C\u002Fstrong> Templates. Currently there are all together 4 Beautiful Pre Designed\u003Cbr \u002F>\ntemplates from which you can choose any as per your desire.\u003C\u002Fp>\n\u003Ch4>See Article Read Time Lite features list below:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>2 Pre Designed Paragraph Templates\u003C\u002Fli>\n\u003Cli>2 Pre Designed Block Templates\u003C\u002Fli>\n\u003Cli>Enable\u002FDisable Article Read Time in Posts\u002FPage or any other post types\u003C\u002Fli>\n\u003Cli>Enable\u002FDisable Progress Bar in Posts\u002FPages or any other Post Types\u003C\u002Fli>\n\u003Cli>Display Word, Characters and Reading Time\u003C\u002Fli>\n\u003Cli>Display Article Read Time before content and after content\u003C\u002Fli>\n\u003Cli>Customize Text as per your need\u003C\u002Fli>\n\u003Cli>Layout customization options available for Progress Bar\u003C\u002Fli>\n\u003Cli>All device friendly and browser Compatibility\u003C\u002Fli>\n\u003Cli>Mobile Responsive\u003C\u002Fli>\n\u003Cli>Translation Ready\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Check Article Read Time Premium Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Article Read Time in Posts\u002FPage or any other Post Types\u003C\u002Fli>\n\u003Cli>Progress Bar in Posts\u002FPages or any other Post Types\u003C\u002Fli>\n\u003Cli>10 Pre designed Paragraph Templates\u003C\u002Fli>\n\u003Cli>10 Pre designed Block Templates\u003C\u002Fli>\n\u003Cli>And many more …\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Check all premium features \u003Ca href=\"https:\u002F\u002F1.envato.market\u002FZd4DrR\" rel=\"nofollow ugc\">here\u003C\u002Fa>\u003C\u002Fp>\n","Calculate and display total reading time| Calculate and display Characters and Words | Progress Bar",1789,"2025-12-08T17:08:00.000Z","6.9.4","5.5","7.2",[134,135,136,22,24],"characters-count","progress-bar","read-time","https:\u002F\u002Fwpshuffle.com\u002Farticle-read-time-lite","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Farticle-read-time-lite.1.0.3.zip",{"attackSurface":140,"codeSignals":257,"taintFlows":384,"riskAssessment":426,"analyzedAt":433},{"hooks":141,"ajaxHandlers":226,"restRoutes":248,"shortcodes":249,"cronEvents":255,"entryPointCount":256,"unprotectedCount":28},[142,148,153,157,162,166,169,173,177,181,186,190,194,199,202,206,211,213,215,219,223],{"type":143,"name":144,"callback":145,"priority":146,"file":147,"line":37},"action","plugins_loaded","jltmrt_plugins_loaded",999,"class-my-reading-time-lite.php",{"type":149,"name":150,"callback":151,"file":147,"line":152},"filter","admin_body_class","jltmrt_body_class",65,{"type":143,"name":154,"callback":154,"file":155,"line":156},"admin_enqueue_scripts","Inc\\Admin\\AdminSettings.php",27,{"type":143,"name":158,"callback":159,"file":160,"line":161},"admin_init","jltmrt_admin_init","Inc\\Admin\\Option_Settings.php",23,{"type":143,"name":163,"callback":164,"file":160,"line":165},"admin_menu","jltmrt_admin_menu",24,{"type":143,"name":154,"callback":167,"file":168,"line":156},"admin_suvery_scripts","Inc\\Classes\\Feedback.php",{"type":143,"name":170,"callback":171,"file":168,"line":172},"admin_footer","deactivation_footer",28,{"type":149,"name":174,"callback":175,"file":176,"line":156},"the_content","jltmrt_before_content","Inc\\Classes\\Hooks.php",{"type":149,"name":178,"callback":179,"priority":69,"file":176,"line":180},"get_the_excerpt","jltma_mrt_before_excerpt",31,{"type":143,"name":182,"callback":183,"file":184,"line":185},"admin_notices","setup_notifications","Inc\\Classes\\Notifications\\Notifications.php",35,{"type":143,"name":187,"callback":188,"priority":11,"file":184,"line":189},"jltmrt_display_notice","display_notice",37,{"type":143,"name":191,"callback":192,"priority":11,"file":184,"line":193},"jltmrt_display_popup","display_popup",38,{"type":143,"name":195,"callback":196,"file":197,"line":198},"jltmrt_sheet_promo_data_reset","closure","Inc\\Classes\\Notifications\\Upgrade_Notice.php",26,{"type":143,"name":170,"callback":192,"file":200,"line":201},"Inc\\Classes\\Pro_Upgrade.php",47,{"type":143,"name":203,"callback":204,"file":200,"line":205},"wp_dashboard_setup","dashboard_widget",49,{"type":143,"name":207,"callback":208,"priority":13,"file":209,"line":210},"wp_enqueue_scripts","jltmrt_enqueue_scripts","Libs\\Assets.php",25,{"type":143,"name":154,"callback":212,"priority":13,"file":209,"line":198},"jltmrt_admin_enqueue_scripts",{"type":143,"name":170,"callback":214,"file":209,"line":156},"jltmrt_admin_footer_script",{"type":149,"name":216,"callback":217,"file":218,"line":161},"install_plugins_table_api_args_featured","jltmrt_featured_plugins_tab","Libs\\Featured.php",{"type":149,"name":220,"callback":221,"priority":11,"file":218,"line":222},"plugins_api_result","jltmrt_plugins_api_result",33,{"type":143,"name":163,"callback":163,"file":224,"line":225},"Libs\\Recommended.php",42,[227,232,236,239,242,245],{"action":228,"nopriv":229,"callback":228,"hasNonce":230,"hasCapCheck":229,"file":168,"line":231},"jltmrt_deactivation_survey",false,true,29,{"action":233,"nopriv":229,"callback":234,"hasNonce":230,"hasCapCheck":229,"file":184,"line":235},"jltmrt_notification_action","notification_action",40,{"action":237,"nopriv":229,"callback":237,"hasNonce":230,"hasCapCheck":229,"file":238,"line":198},"jltmrt_subscribe","Inc\\Classes\\Notifications\\Subscribe.php",{"action":240,"nopriv":229,"callback":240,"hasNonce":230,"hasCapCheck":229,"file":241,"line":156},"jltmrt_allow_collect","Inc\\Classes\\Notifications\\What_We_Collect.php",{"action":243,"nopriv":229,"callback":243,"hasNonce":230,"hasCapCheck":229,"file":224,"line":244},"jltmrt_recommended_upgrade_plugin",43,{"action":246,"nopriv":229,"callback":246,"hasNonce":230,"hasCapCheck":229,"file":224,"line":247},"jltmrt_recommended_activate_plugin",44,[],[250],{"tag":251,"callback":252,"file":253,"line":254},"my_reading_time","jltma_mrt_shortcode","Inc\\Classes\\Shortcode.php",11,[],7,{"dangerousFunctions":258,"sqlUsage":259,"outputEscaping":261,"fileOperations":28,"externalRequests":71,"nonceChecks":382,"capabilityChecks":81,"bundledLibraries":383},[],{"prepared":28,"raw":28,"locations":260},[],{"escaped":262,"rawEcho":263,"locations":264},186,61,[265,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,312,314,316,318,320,321,323,326,328,330,332,333,335,337,338,340,341,343,344,346,348,350,352,354,356,358,360,362,363,365,366,368,370,372,374,376,378,380],{"file":155,"line":266,"context":267},106,"raw output",{"file":155,"line":269,"context":267},198,{"file":155,"line":271,"context":267},227,{"file":155,"line":273,"context":267},246,{"file":155,"line":275,"context":267},269,{"file":155,"line":277,"context":267},291,{"file":155,"line":279,"context":267},312,{"file":155,"line":281,"context":267},333,{"file":155,"line":283,"context":267},350,{"file":155,"line":285,"context":267},360,{"file":155,"line":287,"context":267},370,{"file":155,"line":289,"context":267},383,{"file":155,"line":291,"context":267},399,{"file":155,"line":293,"context":267},418,{"file":155,"line":295,"context":267},434,{"file":155,"line":297,"context":267},450,{"file":155,"line":299,"context":267},468,{"file":155,"line":301,"context":267},562,{"file":155,"line":303,"context":267},574,{"file":160,"line":305,"context":267},343,{"file":160,"line":307,"context":267},346,{"file":168,"line":309,"context":267},133,{"file":168,"line":311,"context":267},137,{"file":168,"line":313,"context":267},143,{"file":168,"line":315,"context":267},151,{"file":168,"line":317,"context":267},152,{"file":319,"line":247,"context":267},"Inc\\Classes\\Notifications\\Ask_For_Rating.php",{"file":319,"line":201,"context":267},{"file":319,"line":322,"context":267},50,{"file":324,"line":325,"context":267},"Inc\\Classes\\Notifications\\Model\\Notice.php",69,{"file":184,"line":327,"context":267},172,{"file":184,"line":329,"context":267},176,{"file":184,"line":331,"context":267},181,{"file":184,"line":262,"context":267},{"file":184,"line":334,"context":267},191,{"file":238,"line":336,"context":267},140,{"file":238,"line":313,"context":267},{"file":238,"line":339,"context":267},146,{"file":241,"line":92,"context":267},{"file":241,"line":342,"context":267},86,{"file":241,"line":36,"context":267},{"file":241,"line":345,"context":267},117,{"file":241,"line":347,"context":267},120,{"file":200,"line":349,"context":267},167,{"file":200,"line":351,"context":267},444,{"file":224,"line":353,"context":267},101,{"file":224,"line":355,"context":267},125,{"file":224,"line":357,"context":267},127,{"file":224,"line":359,"context":267},128,{"file":224,"line":361,"context":267},182,{"file":224,"line":262,"context":267},{"file":224,"line":364,"context":267},192,{"file":224,"line":269,"context":267},{"file":224,"line":367,"context":267},206,{"file":224,"line":369,"context":267},212,{"file":224,"line":371,"context":267},218,{"file":224,"line":373,"context":267},233,{"file":224,"line":375,"context":267},241,{"file":224,"line":377,"context":267},250,{"file":224,"line":379,"context":267},257,{"file":224,"line":381,"context":267},264,6,[],[385,407],{"entryPoint":386,"graph":387,"unsanitizedCount":14,"severity":406},"notification_action (Inc\\Classes\\Notifications\\Notifications.php:48)",{"nodes":388,"edges":403},[389,393,397],{"id":390,"type":391,"label":392,"file":184,"line":325},"n0","source","$_REQUEST",{"id":394,"type":395,"label":396,"file":184,"line":325},"n1","transform","→ fire()",{"id":398,"type":399,"label":400,"file":401,"line":13,"wp_function":402},"n2","sink","update_option() [Settings Manipulation]","Inc\\Classes\\Notifications\\Model\\Notification.php","update_option",[404,405],{"from":390,"to":394,"sanitized":229},{"from":394,"to":398,"sanitized":229},"low",{"entryPoint":408,"graph":409,"unsanitizedCount":14,"severity":406},"\u003CNotifications> (Inc\\Classes\\Notifications\\Notifications.php:0)",{"nodes":410,"edges":422},[411,413,417,418,420],{"id":390,"type":391,"label":392,"file":184,"line":412},53,{"id":394,"type":399,"label":414,"file":184,"line":415,"wp_function":416},"echo() [XSS]",214,"echo",{"id":398,"type":391,"label":392,"file":184,"line":325},{"id":419,"type":395,"label":396,"file":184,"line":325},"n3",{"id":421,"type":399,"label":400,"file":401,"line":13,"wp_function":402},"n4",[423,424,425],{"from":390,"to":394,"sanitized":230},{"from":398,"to":419,"sanitized":229},{"from":419,"to":421,"sanitized":229},{"summary":427,"deductions":428},"The 'my-reading-time-lite' v1.0.3 plugin exhibits a generally strong security posture based on the provided static analysis. The absence of any known CVEs and its reliance on prepared statements for all SQL queries are significant strengths. Furthermore, the plugin correctly implements nonce checks for all its AJAX handlers and capability checks for its identified entry points, indicating good practices in preventing unauthorized access and actions. The limited number of external HTTP requests and file operations also contribute to a reduced attack surface.\n\nHowever, there are minor areas for improvement. The 75% rate of properly escaped output suggests that approximately one-quarter of the plugin's output might be vulnerable to Cross-Site Scripting (XSS) if user-controlled data is involved in those unescaped portions. While the taint analysis didn't reveal critical or high severity issues, the presence of two flows with unsanitized paths, even if of lower severity, warrants attention. These represent potential avenues for injection attacks if exploited. The lack of any vulnerability history is positive, but it's important to acknowledge that this could also be due to a lack of widespread auditing or testing.\n\nIn conclusion, 'my-reading-time-lite' v1.0.3 is a relatively secure plugin with robust authentication and data handling mechanisms. The primary concern lies with the unescaped output and the identified unsanitized paths in taint flows, which, while not critical, could be exploited under specific circumstances. Continued vigilance in code review and ensuring all output is properly sanitized would further enhance its security.",[429,431],{"reason":430,"points":382},"Unescaped output detected",{"reason":432,"points":71},"Taint flows with unsanitized paths","2026-03-17T00:25:32.672Z",{"wat":435,"direct":446},{"assetPaths":436,"generatorPatterns":441,"scriptPaths":442,"versionParams":443},[437,438,439,440],"\u002Fwp-content\u002Fplugins\u002Fmy-reading-time-lite\u002Fassets\u002Fcss\u002Ffrontend.css","\u002Fwp-content\u002Fplugins\u002Fmy-reading-time-lite\u002Fassets\u002Fcss\u002Ffrontend.min.css","\u002Fwp-content\u002Fplugins\u002Fmy-reading-time-lite\u002Fassets\u002Fjs\u002Ffrontend.js","\u002Fwp-content\u002Fplugins\u002Fmy-reading-time-lite\u002Fassets\u002Fjs\u002Ffrontend.min.js",[],[439,440],[444,445],"my-reading-time-lite\u002Fassets\u002Fcss\u002Ffrontend.css?ver=","my-reading-time-lite\u002Fassets\u002Fjs\u002Ffrontend.js?ver=",{"cssClasses":447,"htmlComments":450,"htmlAttributes":451,"restEndpoints":452,"jsGlobals":453,"shortcodeOutput":454},[448,449],"jlt-reading-time","jlt-reading-time-icon",[],[],[],[],[]]