[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$ftZDCPuuEuQNXy27YhiHn14IW2VygUW6V1hNvih2SD_Y":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":29,"last_vuln_date":30,"fetched_at":31,"vulnerabilities":32,"developer":49,"crawl_stats":38,"alternatives":55,"analysis":142,"fingerprints":1224},"worth-the-read","Worth The Read","1.14.3","brianmcculloh","https:\u002F\u002Fprofiles.wordpress.org\u002Fbrianmcculloh\u002F","\u003Cp>A very unobtrusive and light-weight reading progress bar indicator showing the user how far scrolled through the current post or page they are. You can control placement and color of the progress bar, and you can choose whether it includes just the main content or also the comments.\u003C\u002Fp>\n\u003Cp>The progress bar only displays once the user begins scrolling the page so it is as unobtrusive as possible. Once the user stops scrolling or scrolls down past the content the progress bar subtly mutes until it is needed again.\u003C\u002Fp>\n\u003Cp>There is also a reading time commitment feature that you can separately enable. Control the placement (above or below title, or above content), style, and whether it displays on posts and\u002For pages. Uses 200wpm as the metric for average reading time.\u003C\u002Fp>\n\u003Cp>You can also place the time commitment label anywhere you want via the [wtr-time] shortcode.\u003C\u002Fp>\n","An adjustable progress meter showing how much of the post\u002Fpage the user has scrolled through, and a read time commitment label near the post titles.",4000,114221,86,27,"2024-12-03T18:48:00.000Z","6.7.5","3.8","",[20,21,22,23,24],"length","progress","reading","reading-time","scroll","http:\u002F\u002Fwww.welldonemarketing.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fworth-the-read.1.14.3.zip",92,1,0,"2022-12-16 00:00:00","2026-03-15T15:16:48.613Z",[33],{"id":34,"url_slug":35,"title":36,"description":37,"plugin_slug":4,"theme_slug":38,"affected_versions":39,"patched_in_version":40,"severity":41,"cvss_score":42,"cvss_vector":43,"vuln_type":44,"published_date":30,"updated_date":45,"references":46,"days_to_patch":48},"WF-84003388-c47c-41db-8d2d-4643aa375a89-worth-the-read","appsero-missing-authorization-5","Appsero \u003C= 1.2.1 - Missing Authorization","The Appsero analytics tool used in several plugins is vulnerable to authorization bypass due to a missing capability check on the uninstall_reason_submission function used for feedback submission in versions up to, and including, 1.2.1. This makes it possible for authenticated attackers, with subscriber-level permissions and above, to invoke this function intended for administrator use.",null,"\u003C=1.14","1.14.1","medium",4.3,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:L\u002FUI:N\u002FS:U\u002FC:N\u002FI:L\u002FA:N","Missing Authorization","2024-11-13 15:47:37",[47],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F84003388-c47c-41db-8d2d-4643aa375a89?source=api-prod",699,{"slug":7,"display_name":7,"profile_url":8,"plugin_count":50,"total_installs":51,"avg_security_score":52,"avg_patch_time_days":48,"trust_score":53,"computed_at":54},2,4100,89,71,"2026-04-04T01:16:20.301Z",[56,76,94,107,126],{"slug":57,"name":58,"version":59,"author":60,"author_profile":61,"description":62,"short_description":63,"active_installs":29,"downloaded":64,"rating":65,"num_ratings":28,"last_updated":66,"tested_up_to":67,"requires_at_least":68,"requires_php":69,"tags":70,"homepage":74,"download_link":75,"security_score":65,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"reading-time-and-progress-bar","Reading Time and Progress Bar","1.1","Aman Joshi","https:\u002F\u002Fprofiles.wordpress.org\u002Fstackwithaman\u002F","\u003Cp>Reading Time and Progress Bar is a WordPress plugin designed to enhance reader engagement and provide a better user experience on blogs. It automatically calculates the estimated reading time for each post and displays a progress bar at the top of the page, which fills as the reader scrolls through the content.\u003C\u002Fp>\n\u003Cp>This plugin is easy to set up and compatible with any WordPress theme, ensuring that all users can benefit from its features without any coding knowledge required.\u003C\u002Fp>\n\u003Ch3>Arbitrary section\u003C\u002Fh3>\n\u003Cp>You can extend the functionality of this plugin by adding custom CSS to style the progress bar and adjust the reading time calculation per your preferences.\u003C\u002Fp>\n\u003Ch3>A brief Markdown Example\u003C\u002Fh3>\n\u003Cp>Ordered list:\u003Cbr \u002F>\n1. Some feature\u003Cbr \u002F>\n2. Another feature\u003Cbr \u002F>\n3. Yet another feature\u003C\u002Fp>\n\u003Cp>Code block:\u003Cbr \u002F>\nfunction example_function() {\u003Cbr \u002F>\nreturn ‘This is a code block’;\u003Cbr \u002F>\n}\u003C\u002Fp>\n\u003Cp>For more information and support, visit \u003Ca href=\"https:\u002F\u002Faimactgrow.com\u002F\" rel=\"nofollow ugc\">our website\u003C\u002Fa>.\u003C\u002Fp>\n","A simple WordPress plugin that displays the estimated reading time and a progress bar at the top of your blog posts as readers scroll through.",1633,100,"2025-05-27T20:29:00.000Z","6.8.5","5.0","7.0",[71,72,73,23,24],"blog","content","progress-bar","https:\u002F\u002Faimactgrow.com\u002Freading-time-progress-bar","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Freading-time-and-progress-bar.1.0.zip",{"slug":77,"name":78,"version":79,"author":80,"author_profile":81,"description":82,"short_description":83,"active_installs":29,"downloaded":84,"rating":29,"num_ratings":29,"last_updated":85,"tested_up_to":86,"requires_at_least":87,"requires_php":88,"tags":89,"homepage":18,"download_link":93,"security_score":65,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"uply-scroll-to-top-and-progress-bar","Animated Scroll to Top Button, Progress Bar & Read Time – Uply","1.0.2","Shois WP","https:\u002F\u002Fprofiles.wordpress.org\u002Fshoiswp\u002F","\u003Cp>\u003Cstrong>Ultimate UX Toolkit: Advanced Scroll to Top, Progress Bar, and Smart Reading Time.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Uply is designed to solve one major problem: Reader Fatigue. Long articles can be overwhelming, but with the right visual cues, you can keep users engaged and navigating effortlessly. This plugin brings together three essential tools – Scroll to Top, Progress Bar, and Reading Time — all optimized for speed and SEO.\u003C\u002Fp>\n\u003Ch3>1. Advanced Scroll to Top Button\u003C\u002Fh3>\n\u003Cp>Make site navigation effortless. Say goodbye to boring navigation and give your users a stylish way to return to the top.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Standard Icon Library\u003C\u002Fstrong>: Access a clean collection of Arrows, Chevrons, and Circles that fits any theme.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Flexible Positioning\u003C\u002Fstrong>: Toggle between Left or Right alignment with adjustable bottom margins.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom SVG Icon Builder\u003C\u002Fstrong>: Upload your own branding icons and fully customize background colors, borders, and hover effects.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Mobile Visibility Control\u003C\u002Fstrong>: Keep your mobile interface clean by specifically enabling or disabling the button on mobile devices.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>58+ Premium Button Designs [PRO]\u003C\u002Fstrong>: Upgrade to a massive library featuring Rocket icons, Paper planes, 3D animated buttons, and unique modern shapes.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>10+ Special Progress Buttons [PRO]\u003C\u002Fstrong>: A high-end feature where a circular or square progress indicator is built directly around the button, filling up as the user scrolls.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Unique Styles & Fluid Animations [PRO]\u003C\u002Fstrong>: Every Pro button comes with “Joss” (stunning) animations and designer-grade transitions that make your site stand out.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>2. Dynamic Reading Progress Bar\u003C\u002Fh3>\n\u003Cp>A visual roadmap that encourages users to finish your articles. Give your readers a sense of accomplishment as they scroll.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Sleek Minimalist Styles\u003C\u002Fstrong>: Solid, Segmented, or Rainbow bars that track progress in real-time.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Top Positioning\u003C\u002Fstrong>: A standard, non-intrusive bar fixed to the top of the viewport.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Bottom Viewport Toggle\u003C\u002Fstrong>: Choose to fix the progress bar to either the top or the bottom of the screen.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Precision Height & Thickness\u003C\u002Fstrong>: Use a range slider to adjust the thickness of the bar to match your brand’s style perfectly.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Intelligent Sticky Offset\u003C\u002Fstrong>: Smart “Space Above\u002FBelow” settings to prevent the bar from overlapping with your sticky headers or menus.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>30+ Premium Animation Styles [PRO]\u003C\u002Fstrong>: Access 30+ stunning animations, including Neon Glow, Liquid Metal, Gradient Waves, and Glitch effects.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Advanced Unique Designs [PRO]\u003C\u002Fstrong>: High-end, eye-catching designs that elevate your website’s aesthetic instantly.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>3. Smart Reading Time Indicator\u003C\u002Fh3>\n\u003Cp>Transparency builds trust. Letting readers know the time commitment upfront significantly reduces bounce rates.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Precision WPM Algorithm\u003C\u002Fstrong>: Automatically calculates reading time based on a customizable “Words Per Minute” logic.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Clean Text Layout\u003C\u002Fstrong>: Displays a simple, automated “X min read” label before your content.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Dual-Positioning Display\u003C\u002Fstrong>: Display the reading time Before Content, After Content, or in Both locations simultaneously.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Full Typography & Styling Suite\u003C\u002Fstrong>: Total control over font size, colors, background padding, and margins—no coding required.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Labels\u003C\u002Fstrong>: Fully customize your Prefix (e.g., “Ready in:”) and Postfix (e.g., “minutes”) text.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>25+ Designer Layouts [PRO]\u003C\u002Fstrong>: Access 25+ unique and advanced layouts featuring professional icons like Clocks, Books, Hourglasses, and Sand-timers.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Stunning Layout Animations [PRO]\u003C\u002Fstrong>: Beautifully animated entry and hover effects for the reading time badge.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>4. Intelligent Targeting & Performance\u003C\u002Fh3>\n\u003Cp>Uply is built for speed and control. It gives power users the tools they need without sacrificing performance.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Vanilla CSS Power\u003C\u002Fstrong>: No heavy libraries (No jQuery UI or GSAP). All animations are built with optimized CSS for zero impact on Core Web Vitals.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Conditional Display Logic\u003C\u002Fstrong>: Enable or disable features globally or for specific Post Types (e.g., show on Posts but hide on Pages).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Precise Page Exclusion\u003C\u002Fstrong>: Use a built-in search interface to exclude specific Page IDs or posts where you don’t want the tools to appear.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Why Choose Uply?\u003C\u002Fh3>\n\u003Cp>Whether you use the feature-packed Free version or the designer-grade PRO version, Uply is engineered to improve your “Time on Site” and “Bounce Rate” — two of the most important metrics for SEO and user satisfaction.\u003C\u002Fp>\n","Adds Animated Scroll to Top button, dynamic Reading Progress Bar, & estimated Read Time. SEO-optimized, lightweight, and fully customizable.",206,"2026-02-23T21:19:00.000Z","6.9.4","6.0","7.4",[73,90,23,91,92],"read-time","scroll-button","scroll-to-top","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fuply-scroll-to-top-and-progress-bar.1.0.2.zip",{"slug":95,"name":96,"version":97,"author":98,"author_profile":99,"description":100,"short_description":101,"active_installs":29,"downloaded":102,"rating":29,"num_ratings":29,"last_updated":103,"tested_up_to":86,"requires_at_least":68,"requires_php":18,"tags":104,"homepage":18,"download_link":106,"security_score":65,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"zenread","ZenRead – Reading Progress Bar & Estimated Time","1.3","Tusher Ikbal","https:\u002F\u002Fprofiles.wordpress.org\u002Ftusherikbal\u002F","\u003Cp>ZenRead is a lightweight and secure plugin that adds a sleek reading progress bar and an estimated reading time indicator to your WordPress posts. It helps in reducing bounce rates and improving engagement by giving readers a clear visual of their progress.\u003C\u002Fp>\n\u003Cp>By showing how long a post will take to read and providing a smooth scrolling experience, ZenRead enhances the overall readability of your site.\u003C\u002Fp>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Reading Progress Bar:\u003C\u002Fstrong> A smooth, customizable bar at the top of the page that tracks reading progress.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Estimated Reading Time:\u003C\u002Fstrong> Automatically calculates and displays the reading time based on word count.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Scroll to Top Button:\u003C\u002Fstrong> A customizable button with Dashicons support to help users navigate back to the top.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Fully Customizable:\u003C\u002Fstrong> Easily change colors, bar height, padding, and margins from the settings page.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Performance Focused:\u003C\u002Fstrong> Built with vanilla JavaScript and clean PHP, ensuring zero impact on site speed.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Secure:\u003C\u002Fstrong> Fully follows WordPress.org security standards with data sanitization and escaping.\u003C\u002Fli>\n\u003C\u002Ful>\n","ZenRead is a lightweight and secure plugin that adds a sleek reading progress bar and an estimated reading time indicator to your WordPress posts.",120,"2026-01-26T15:40:00.000Z",[73,105,23,92,95],"readability","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fzenread.zip",{"slug":108,"name":109,"version":110,"author":111,"author_profile":112,"description":113,"short_description":114,"active_installs":115,"downloaded":116,"rating":65,"num_ratings":117,"last_updated":118,"tested_up_to":86,"requires_at_least":119,"requires_php":120,"tags":121,"homepage":124,"download_link":125,"security_score":65,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"reading-progress-bar","Reading progressbar","1.3.1","Jb Audras","https:\u002F\u002Fprofiles.wordpress.org\u002Faudrasjb\u002F","\u003Cp>Get a reading position indicator as a progress bar and show it where you want: top, bottom or custom position in differents templates or post types.\u003C\u002Fp>\n\u003Cp>Very lightweight, it uses \u003Ccode>\u003Cprogress>\u003C\u002Fcode> HTML5 element and few lines of javascript.\u003C\u002Fp>\n\u003Cp>Options:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Progress bar’s height\u003C\u002Fli>\n\u003Cli>Foreground color\u003C\u002Fli>\n\u003Cli>Background color\u003C\u002Fli>\n\u003Cli>Position (top, bottom, custom)\u003C\u002Fli>\n\u003Cli>Class\u002FID of HTML element to fix the bar (if custom position selected)\u003C\u002Fli>\n\u003Cli>Page templates\u003C\u002Fli>\n\u003Cli>Post types (natives or custom)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Credits\u003C\u002Fstrong> :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fjeanbaptisteaudras.com\u002F\" title=\"Jean-Baptiste Audras\" rel=\"nofollow ugc\">Jean-Baptiste Audras\u003C\u002Fa>, project manager at \u003Ca href=\"http:\u002F\u002Fwww.whodunit.fr\u002F\" title=\"Whodunit WordPress Agency\" rel=\"nofollow ugc\">Whodunit\u003C\u002Fa> and WordPress developer. @audrasjb on \u003Ca href=\"https:\u002F\u002Ftwitter.com\u002Faudrasjb\" title=\"@audrasjb on Twitter\" rel=\"nofollow ugc\">Twitter\u003C\u002Fa> or \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Faudrasjb\" title=\"@audrasjb on Github\" rel=\"nofollow ugc\">Github\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n","A reading position indicator that you can use where you want: top, bottom or custom position in differents templates or post types.",6000,72086,17,"2026-02-18T12:09:00.000Z","4.9","5.6",[122,21,123,22,24],"indicator","progressbar","https:\u002F\u002Fjeanbaptisteaudras.com\u002Fportfolio\u002Fwordpress-reading-progressbar-indicator-plugin\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Freading-progress-bar.1.3.1.zip",{"slug":127,"name":128,"version":129,"author":130,"author_profile":131,"description":132,"short_description":133,"active_installs":134,"downloaded":135,"rating":65,"num_ratings":136,"last_updated":137,"tested_up_to":86,"requires_at_least":119,"requires_php":120,"tags":138,"homepage":140,"download_link":141,"security_score":65,"vuln_count":29,"unpatched_count":29,"last_vuln_date":38,"fetched_at":31},"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,49337,19,"2026-02-11T12:10:00.000Z",[139,21,123,22],"estimated-reading-time","https:\u002F\u002Fgithub.com\u002Fjoerivanveen\u002Fwp-reading-progress","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-reading-progress.1.7.0.zip",{"attackSurface":143,"codeSignals":590,"taintFlows":1082,"riskAssessment":1211,"analyzedAt":1223},{"hooks":144,"ajaxHandlers":522,"restRoutes":556,"shortcodes":557,"cronEvents":588,"entryPointCount":117,"unprotectedCount":589},[145,150,153,158,164,168,173,176,179,182,186,189,194,197,200,204,206,210,214,219,224,229,231,235,239,245,249,254,257,260,263,264,265,269,273,278,281,283,286,291,295,300,303,307,311,315,320,324,328,333,335,339,344,347,350,355,358,361,363,367,370,372,374,377,381,385,389,393,395,399,402,406,409,412,417,420,424,428,432,433,436,438,441,443,447,451,454,457,459,463,466,469,473,477,481,485,488,491,494,498,501,505,508,512,515,518],{"type":146,"name":147,"callback":147,"file":148,"line":149},"action","plugins_loaded","options\\class-redux-core.php",152,{"type":146,"name":151,"callback":151,"file":148,"line":152},"admin_init",278,{"type":154,"name":155,"callback":156,"file":148,"line":157},"filter","debug_information","add_debug_info",280,{"type":146,"name":159,"callback":160,"priority":161,"file":162,"line":163},"admin_notices","notices",99,"options\\inc\\classes\\class-redux-admin-notices.php",42,{"type":146,"name":151,"callback":165,"priority":166,"file":162,"line":167},"dismiss",9,43,{"type":146,"name":169,"callback":170,"file":171,"line":172},"after_setup_theme","create_redux","options\\inc\\classes\\class-redux-api.php",122,{"type":146,"name":174,"callback":170,"file":171,"line":175},"init",123,{"type":146,"name":177,"callback":170,"file":171,"line":178},"switch_theme",124,{"type":146,"name":147,"callback":180,"file":171,"line":181},"delay_init",179,{"type":146,"name":183,"callback":184,"file":171,"line":185},"ReduxFrameworkPlugin_admin_notice","Redux::remove_demo",1751,{"type":146,"name":187,"callback":184,"file":171,"line":188},"redux_framework_plugin_admin_notice",1752,{"type":146,"name":190,"callback":191,"file":192,"line":193},"current_screen","maybe_initialize_hooks","options\\inc\\classes\\class-redux-connection-banner.php",90,{"type":146,"name":195,"callback":195,"file":192,"line":196},"admin_head",286,{"type":146,"name":159,"callback":198,"file":192,"line":199},"render_banner",293,{"type":146,"name":201,"callback":202,"file":192,"line":203},"network_admin_notices","network_connect_notice",294,{"type":146,"name":195,"callback":195,"file":192,"line":205},295,{"type":154,"name":207,"callback":207,"priority":208,"file":192,"line":209},"admin_body_class",20,296,{"type":146,"name":211,"callback":174,"priority":28,"file":212,"line":213},"admin_enqueue_scripts","options\\inc\\classes\\class-redux-enqueue.php",57,{"type":146,"name":215,"callback":216,"priority":217,"file":212,"line":218},"wp_enqueue_scripts","frontend_init",10,60,{"type":154,"name":220,"callback":221,"file":222,"line":223},"redux\u002Ffields","closure","options\\inc\\classes\\class-redux-extension-abstract.php",176,{"type":146,"name":225,"callback":226,"priority":161,"file":227,"line":228},"enqueue_block_editor_assets","block_editor_styles","options\\inc\\classes\\class-redux-functions-ex.php",72,{"type":146,"name":215,"callback":216,"priority":217,"file":227,"line":230},73,{"type":146,"name":232,"callback":233,"file":227,"line":234},"wp_head","meta_tag",252,{"type":146,"name":174,"callback":236,"file":237,"line":238},"load","options\\inc\\classes\\class-redux-i18n.php",26,{"type":146,"name":240,"callback":241,"priority":242,"file":243,"line":244},"redux\u002Fconstruct","store",5,"options\\inc\\classes\\class-redux-instances.php",74,{"type":146,"name":151,"callback":246,"file":247,"line":248},"register","options\\inc\\classes\\class-redux-options-constructor.php",55,{"type":146,"name":232,"callback":250,"priority":251,"file":252,"line":253},"output_css",150,"options\\inc\\classes\\class-redux-output.php",30,{"type":146,"name":215,"callback":255,"priority":251,"file":252,"line":256},"enqueue",31,{"type":146,"name":258,"callback":250,"priority":251,"file":252,"line":259},"login_head",36,{"type":146,"name":261,"callback":255,"priority":251,"file":252,"line":262},"login_enqueue_scripts",37,{"type":146,"name":195,"callback":250,"priority":251,"file":252,"line":163},{"type":146,"name":211,"callback":255,"priority":251,"file":252,"line":167},{"type":154,"name":266,"callback":267,"priority":217,"file":252,"line":268},"style_loader_tag","add_style_attributes",203,{"type":154,"name":270,"callback":271,"priority":217,"file":252,"line":272},"wp_resource_hints","google_fonts_preconnect",204,{"type":146,"name":274,"callback":275,"file":276,"line":277},"admin_menu","options_page","options\\inc\\classes\\class-redux-page-render.php",47,{"type":146,"name":279,"callback":275,"file":276,"line":280},"network_admin_menu",51,{"type":146,"name":195,"callback":195,"file":276,"line":282},140,{"type":154,"name":284,"callback":284,"file":276,"line":285},"admin_footer_text",143,{"type":154,"name":287,"callback":288,"file":289,"line":290},"deprecated_file_trigger_error","tick_file_deprecate_warning","options\\inc\\classes\\class-redux-panel.php",327,{"type":146,"name":292,"callback":292,"file":293,"line":294},"rest_api_init","options\\inc\\classes\\class-redux-rest-api-builder.php",46,{"type":146,"name":296,"callback":297,"file":298,"line":299},"customize_register","register_customizer_controls","options\\inc\\extensions\\customizer\\class-redux-extension-customizer.php",141,{"type":146,"name":232,"callback":301,"file":298,"line":302},"customize_preview_init",142,{"type":146,"name":304,"callback":305,"file":298,"line":306},"customize_save_after","customizer_save_after",144,{"type":146,"name":308,"callback":309,"file":298,"line":310},"customize_controls_print_scripts","enqueue_controls_css",147,{"type":146,"name":312,"callback":313,"file":298,"line":314},"customize_controls_init","enqueue_panel_css",148,{"type":146,"name":316,"callback":317,"priority":318,"file":298,"line":319},"wp_enqueue_styles","custom_css",11,149,{"type":146,"name":321,"callback":322,"priority":28,"file":298,"line":323},"redux\u002Fextension\u002Fcustomizer\u002Fcontrol_init","create_field_classes",151,{"type":146,"name":325,"callback":326,"file":298,"line":327},"customize_controls_print_styles","add_nonce_html",154,{"type":154,"name":329,"callback":330,"file":331,"line":332},"upload_mimes","custom_upload_mimes","options\\inc\\extensions\\custom_fonts\\class-redux-extension-custom-fonts.php",119,{"type":146,"name":232,"callback":334,"priority":251,"file":331,"line":102},"enqueue_output",{"type":154,"name":336,"callback":337,"file":331,"line":338},"tiny_mce_before_init","extend_tinymce_dropdown",121,{"type":146,"name":340,"callback":341,"file":342,"line":343},"admin_footer","add_footer_modal_icon","options\\inc\\extensions\\icon_select\\icon_select\\class-redux-icon-select.php",383,{"type":146,"name":345,"callback":341,"file":342,"line":346},"customize_controls_print_footer_scripts",384,{"type":154,"name":329,"callback":330,"file":348,"line":349},"options\\inc\\extensions\\import_export\\class-redux-extension-import-export.php",62,{"type":146,"name":351,"callback":352,"priority":28,"file":353,"line":354},"save_post","meta_boxes_save","options\\inc\\extensions\\metaboxes\\class-redux-extension-metaboxes.php",219,{"type":146,"name":356,"callback":356,"file":353,"line":357},"pre_post_update",220,{"type":146,"name":159,"callback":359,"priority":29,"file":353,"line":360},"meta_boxes_show_errors",221,{"type":146,"name":211,"callback":255,"priority":208,"file":353,"line":362},222,{"type":146,"name":364,"callback":365,"priority":29,"file":353,"line":366},"the_post","loop_start",225,{"type":146,"name":368,"callback":368,"priority":29,"file":353,"line":369},"loop_end",226,{"type":146,"name":174,"callback":255,"priority":161,"file":371,"line":52},"options\\inc\\extensions\\metaboxes\\class-redux-metaboxes-api.php",{"type":146,"name":211,"callback":255,"priority":28,"file":371,"line":373},129,{"type":146,"name":211,"callback":255,"priority":29,"file":375,"line":376},"options\\inc\\extensions\\search\\class-redux-extension-search.php",53,{"type":146,"name":215,"callback":378,"file":379,"line":380},"enqueue_styles","options\\inc\\extensions\\social_profiles\\class-redux-extension-social-profiles.php",111,{"type":154,"name":382,"callback":383,"priority":29,"file":379,"line":384},"redux\u002Fmetaboxes\u002Fsave\u002Fbefore_validate","save_me",115,{"type":146,"name":386,"callback":387,"priority":29,"file":388,"line":376},"widgets_init","load_widget","options\\inc\\extensions\\social_profiles\\social_profiles\\inc\\class-redux-social-profiles-widget.php",{"type":146,"name":159,"callback":390,"priority":29,"file":391,"line":392},"meta_profiles_show_errors","options\\inc\\extensions\\users\\class-redux-extension-users.php",181,{"type":146,"name":211,"callback":255,"priority":208,"file":391,"line":394},182,{"type":146,"name":396,"callback":397,"file":391,"line":398},"personal_options_update","user_meta_save",187,{"type":146,"name":400,"callback":397,"file":391,"line":401},"edit_user_profile_update",188,{"type":146,"name":403,"callback":404,"file":391,"line":405},"show_user_profile","add_profiles",367,{"type":146,"name":407,"callback":404,"file":391,"line":408},"edit_user_profile",368,{"type":146,"name":410,"callback":404,"file":391,"line":411},"user_new_form",369,{"type":146,"name":413,"callback":414,"priority":415,"file":391,"line":416},"create_term","create_term_redux_users",4,1249,{"type":146,"name":174,"callback":255,"priority":161,"file":418,"line":419},"options\\inc\\extensions\\users\\class-redux-users-api.php",77,{"type":146,"name":174,"callback":421,"priority":422,"file":423,"line":228},"register_custom_widget_areas",1000,"options\\inc\\extensions\\widget_areas\\class-redux-widget-areas.php",{"type":146,"name":425,"callback":426,"file":423,"line":427},"admin_print_scripts","add_new_widget_area_box",75,{"type":146,"name":429,"callback":430,"priority":65,"file":423,"line":431},"load-widgets.php","add_widget_area_area",76,{"type":146,"name":429,"callback":255,"priority":65,"file":423,"line":419},{"type":146,"name":211,"callback":434,"file":435,"line":53},"enqueue_admin_styles","options\\inc\\themecheck\\class-redux-themecheck.php",{"type":146,"name":211,"callback":437,"file":435,"line":228},"enqueue_admin_scripts",{"type":146,"name":439,"callback":440,"file":435,"line":244},"themecheck_checks_loaded","disable_checks",{"type":146,"name":439,"callback":442,"file":435,"line":427},"add_checks",{"type":146,"name":174,"callback":444,"priority":161,"file":445,"line":446},"flush_permalinks","options\\inc\\validation\\unique_slug\\class-redux-validation-unique-slug.php",80,{"type":146,"name":174,"callback":174,"priority":448,"file":449,"line":450},999,"options\\inc\\welcome\\class-redux-welcome.php",49,{"type":146,"name":274,"callback":452,"file":449,"line":453},"admin_menus",61,{"type":154,"name":284,"callback":455,"file":449,"line":456},"change_wp_footer",67,{"type":146,"name":195,"callback":195,"file":449,"line":458},68,{"type":146,"name":460,"callback":461,"file":462,"line":248},"add_meta_boxes","wtr_custom_meta","worth-the-read.php",{"type":146,"name":351,"callback":464,"file":462,"line":465},"wtr_meta_save",114,{"type":146,"name":215,"callback":467,"file":462,"line":468},"wtr_enqueued_assets",118,{"type":154,"name":470,"callback":471,"priority":217,"file":462,"line":472},"the_content","wtr_wrap_content",136,{"type":146,"name":474,"callback":475,"priority":217,"file":462,"line":476},"wp_body_open","wtr_wrap_home",233,{"type":146,"name":478,"callback":479,"priority":217,"file":462,"line":480},"wp_footer","wtr_wrap_home_end",289,{"type":146,"name":482,"callback":483,"file":462,"line":484},"comment_form_after","wtr_wrap_comments",335,{"type":146,"name":486,"callback":483,"file":462,"line":487},"comment_form_closed",336,{"type":146,"name":478,"callback":489,"file":462,"line":490},"wtr_wrap_comments_footer",351,{"type":146,"name":365,"callback":492,"file":462,"line":493},"wtr_conditional_title",382,{"type":154,"name":495,"callback":496,"priority":217,"file":462,"line":497},"the_title","wtr_filter_title",386,{"type":154,"name":470,"callback":499,"priority":217,"file":462,"line":500},"wtr_filter_content",445,{"type":154,"name":502,"callback":503,"priority":217,"file":462,"line":504},"get_the_excerpt","wtr_filter_excerpt",488,{"type":146,"name":232,"callback":506,"file":462,"line":507},"wtr_custom_css",573,{"type":154,"name":509,"callback":510,"file":462,"line":511},"body_class","wtr_body_class",581,{"type":146,"name":147,"callback":513,"file":462,"line":514},"wtr_clear_debug",614,{"type":146,"name":478,"callback":516,"priority":161,"file":462,"line":517},"wtr_debug_bar",626,{"type":146,"name":274,"callback":519,"priority":520,"file":462,"line":521},"remove_redux_menu",12,657,[523,529,533,536,539,542,546,551],{"action":524,"nopriv":525,"callback":526,"hasNonce":527,"hasCapCheck":525,"file":162,"line":528},"redux_hide_admin_notice",false,"ajax",true,41,{"action":530,"nopriv":525,"callback":531,"hasNonce":525,"hasCapCheck":525,"file":532,"line":238},"redux_update_google_fonts","google_fonts_update","options\\inc\\classes\\class-redux-ajax-typography.php",{"action":534,"nopriv":525,"callback":535,"hasNonce":527,"hasCapCheck":525,"file":192,"line":52},"redux_activation","admin_ajax",{"action":537,"nopriv":525,"callback":526,"hasNonce":527,"hasCapCheck":525,"file":538,"line":238},"redux_submit_support_data","options\\inc\\classes\\class-redux-health.php",{"action":540,"nopriv":525,"callback":526,"hasNonce":527,"hasCapCheck":525,"file":331,"line":541},"redux_custom_fonts",106,{"action":543,"nopriv":525,"callback":544,"hasNonce":525,"hasCapCheck":525,"file":331,"line":545},"redux_custom_font_timer","timer",107,{"action":547,"nopriv":525,"callback":548,"hasNonce":527,"hasCapCheck":525,"file":549,"line":550},"redux_get_icons","get_icons","options\\inc\\extensions\\icon_select\\class-redux-extension-icon-select.php",48,{"action":552,"nopriv":525,"callback":553,"hasNonce":525,"hasCapCheck":525,"file":554,"line":555},"redux_delete_widget_area","redux_delete_widget_area_area","options\\inc\\extensions\\widget_areas\\class-redux-extension-widget-areas.php",52,[],[558,563,565,568,570,573,576,580,584],{"tag":559,"callback":560,"file":561,"line":562},"bloginfo","blog_info","options\\inc\\extensions\\shortcodes\\class-redux-shortcodes.php",69,{"tag":564,"callback":560,"file":561,"line":53},"redux_bloginfo",{"tag":566,"callback":567,"file":561,"line":427},"themeinfo","theme_info",{"tag":569,"callback":567,"file":561,"line":419},"redux_themeinfo",{"tag":571,"callback":571,"file":561,"line":572},"date",81,{"tag":574,"callback":571,"file":561,"line":575},"redux_date",83,{"tag":577,"callback":578,"file":579,"line":167},"social_profiles","redux_social_profiles","options\\inc\\extensions\\social_profiles\\social_profiles\\inc\\class-redux-social-profiles-shortcode.php",{"tag":581,"callback":582,"file":462,"line":583},"wtr-end","wtr_end",331,{"tag":585,"callback":586,"file":462,"line":587},"wtr-time","wtr_time_commitment",654,[],3,{"dangerousFunctions":591,"sqlUsage":592,"outputEscaping":594,"fileOperations":14,"externalRequests":1077,"nonceChecks":136,"capabilityChecks":589,"bundledLibraries":1078},[],{"prepared":415,"raw":29,"locations":593},[],{"escaped":595,"rawEcho":596,"locations":597},1873,270,[598,601,602,605,607,608,610,612,614,616,618,620,622,624,626,628,630,631,633,634,635,637,639,641,642,644,645,646,648,649,651,654,656,658,660,662,664,666,668,670,672,674,677,679,680,682,683,684,687,689,691,693,694,696,698,700,702,704,705,707,708,709,710,711,712,714,716,718,720,722,724,726,728,730,732,734,736,739,741,742,744,746,748,750,752,754,755,757,759,761,763,765,767,769,771,773,775,776,778,780,781,783,785,788,789,790,791,793,794,795,796,798,800,802,804,805,807,809,811,813,814,815,816,818,819,820,822,824,825,826,827,828,829,831,832,834,836,838,840,841,843,844,847,848,849,850,852,854,857,859,861,862,864,866,868,869,872,874,875,877,879,880,881,882,883,885,886,889,891,892,894,896,899,900,901,903,905,906,908,909,911,912,914,915,916,917,919,920,922,924,926,927,928,930,932,934,936,939,941,942,945,948,950,952,954,956,957,959,961,963,965,966,968,970,972,973,975,977,979,981,983,985,987,989,991,993,995,997,999,1001,1003,1005,1007,1009,1011,1013,1015,1017,1019,1021,1023,1025,1027,1029,1031,1033,1035,1037,1039,1041,1043,1045,1047,1049,1050,1052,1053,1056,1058,1059,1061,1062,1064,1065,1066,1069,1070,1072,1073,1075],{"file":162,"line":599,"context":600},131,"raw output",{"file":162,"line":472,"context":600},{"file":603,"line":604,"context":600},"options\\inc\\classes\\class-redux-ajax-save.php",40,{"file":603,"line":606,"context":600},50,{"file":603,"line":193,"context":600},{"file":603,"line":609,"context":600},112,{"file":603,"line":611,"context":600},178,{"file":171,"line":613,"context":600},378,{"file":192,"line":615,"context":600},135,{"file":192,"line":617,"context":600},192,{"file":192,"line":619,"context":600},213,{"file":192,"line":621,"context":600},228,{"file":192,"line":623,"context":600},236,{"file":192,"line":625,"context":600},332,{"file":192,"line":627,"context":600},334,{"file":192,"line":629,"context":600},371,{"file":222,"line":623,"context":600},{"file":632,"line":302,"context":600},"options\\inc\\classes\\class-redux-filesystem.php",{"file":538,"line":450,"context":600},{"file":538,"line":193,"context":600},{"file":252,"line":636,"context":600},342,{"file":276,"line":638,"context":600},517,{"file":276,"line":640,"context":600},677,{"file":289,"line":13,"context":600},{"file":289,"line":643,"context":600},104,{"file":289,"line":541,"context":600},{"file":289,"line":596,"context":600},{"file":289,"line":647,"context":600},285,{"file":298,"line":268,"context":600},{"file":650,"line":427,"context":600},"options\\inc\\extensions\\customizer\\inc\\class-redux-customizer-control.php",{"file":652,"line":653,"context":600},"options\\inc\\extensions\\customizer\\inc\\class-redux-customizer-panel.php",138,{"file":652,"line":655,"context":600},197,{"file":652,"line":657,"context":600},231,{"file":331,"line":659,"context":600},313,{"file":331,"line":661,"context":600},316,{"file":331,"line":663,"context":600},348,{"file":331,"line":665,"context":600},432,{"file":331,"line":667,"context":600},476,{"file":331,"line":669,"context":600},552,{"file":331,"line":671,"context":600},589,{"file":331,"line":673,"context":600},613,{"file":675,"line":676,"context":600},"options\\inc\\extensions\\custom_fonts\\custom_fonts\\class-redux-custom-fonts.php",65,{"file":675,"line":678,"context":600},79,{"file":675,"line":161,"context":600},{"file":675,"line":681,"context":600},109,{"file":675,"line":380,"context":600},{"file":675,"line":609,"context":600},{"file":685,"line":686,"context":600},"options\\inc\\extensions\\datetime\\datetime\\class-redux-datetime.php",157,{"file":688,"line":686,"context":600},"options\\inc\\extensions\\google_maps\\google_maps\\class-redux-google-maps.php",{"file":688,"line":690,"context":600},158,{"file":688,"line":692,"context":600},198,{"file":688,"line":268,"context":600},{"file":688,"line":695,"context":600},215,{"file":688,"line":697,"context":600},229,{"file":688,"line":699,"context":600},243,{"file":688,"line":701,"context":600},257,{"file":688,"line":703,"context":600},271,{"file":688,"line":647,"context":600},{"file":688,"line":706,"context":600},299,{"file":688,"line":659,"context":600},{"file":688,"line":484,"context":600},{"file":549,"line":384,"context":600},{"file":549,"line":468,"context":600},{"file":348,"line":653,"context":600},{"file":353,"line":713,"context":600},1221,{"file":353,"line":715,"context":600},1225,{"file":353,"line":717,"context":600},1230,{"file":353,"line":719,"context":600},1242,{"file":353,"line":721,"context":600},1289,{"file":353,"line":723,"context":600},1305,{"file":353,"line":725,"context":600},1311,{"file":353,"line":727,"context":600},1527,{"file":353,"line":729,"context":600},1533,{"file":731,"line":431,"context":600},"options\\inc\\extensions\\multi_media\\multi_media\\class-redux-multi-media.php",{"file":731,"line":733,"context":600},174,{"file":735,"line":643,"context":600},"options\\inc\\extensions\\options_object\\options_object\\class-redux-options-object.php",{"file":737,"line":738,"context":600},"options\\inc\\extensions\\repeater\\repeater\\class-redux-repeater.php",160,{"file":737,"line":740,"context":600},167,{"file":737,"line":354,"context":600},{"file":737,"line":743,"context":600},242,{"file":737,"line":745,"context":600},347,{"file":747,"line":282,"context":600},"options\\inc\\extensions\\social_profiles\\social_profiles\\class-redux-social-profiles.php",{"file":747,"line":749,"context":600},207,{"file":751,"line":627,"context":600},"options\\inc\\extensions\\social_profiles\\social_profiles\\inc\\class-redux-social-profiles-functions.php",{"file":388,"line":753,"context":600},132,{"file":388,"line":615,"context":600},{"file":388,"line":756,"context":600},165,{"file":391,"line":758,"context":600},925,{"file":391,"line":760,"context":600},929,{"file":391,"line":762,"context":600},934,{"file":391,"line":764,"context":600},946,{"file":391,"line":766,"context":600},975,{"file":391,"line":768,"context":600},1005,{"file":391,"line":770,"context":600},1021,{"file":391,"line":772,"context":600},1027,{"file":391,"line":774,"context":600},1215,{"file":391,"line":713,"context":600},{"file":423,"line":777,"context":600},96,{"file":423,"line":779,"context":600},105,{"file":423,"line":541,"context":600},{"file":423,"line":782,"context":600},113,{"file":423,"line":784,"context":600},177,{"file":786,"line":787,"context":600},"options\\inc\\fields\\background\\class-redux-background.php",110,{"file":786,"line":338,"context":600},{"file":786,"line":653,"context":600},{"file":786,"line":302,"context":600},{"file":786,"line":792,"context":600},156,{"file":786,"line":738,"context":600},{"file":786,"line":733,"context":600},{"file":786,"line":611,"context":600},{"file":786,"line":797,"context":600},191,{"file":786,"line":799,"context":600},195,{"file":786,"line":801,"context":600},208,{"file":786,"line":803,"context":600},212,{"file":786,"line":657,"context":600},{"file":786,"line":806,"context":600},235,{"file":786,"line":808,"context":600},330,{"file":786,"line":810,"context":600},337,{"file":812,"line":541,"context":600},"options\\inc\\fields\\border\\class-redux-border.php",{"file":812,"line":332,"context":600},{"file":812,"line":599,"context":600},{"file":812,"line":285,"context":600},{"file":812,"line":817,"context":600},155,{"file":812,"line":223,"context":600},{"file":812,"line":181,"context":600},{"file":812,"line":821,"context":600},211,{"file":823,"line":193,"context":600},"options\\inc\\fields\\box_shadow\\class-redux-box-shadow.php",{"file":823,"line":27,"context":600},{"file":823,"line":380,"context":600},{"file":823,"line":609,"context":600},{"file":823,"line":615,"context":600},{"file":823,"line":472,"context":600},{"file":823,"line":830,"context":600},159,{"file":823,"line":738,"context":600},{"file":823,"line":833,"context":600},183,{"file":823,"line":835,"context":600},184,{"file":823,"line":837,"context":600},214,{"file":839,"line":572,"context":600},"options\\inc\\fields\\checkbox\\class-redux-checkbox.php",{"file":839,"line":779,"context":600},{"file":842,"line":453,"context":600},"options\\inc\\fields\\color\\class-redux-color.php",{"file":842,"line":431,"context":600},{"file":845,"line":846,"context":600},"options\\inc\\fields\\color_gradient\\class-redux-color-gradient.php",95,{"file":845,"line":468,"context":600},{"file":845,"line":753,"context":600},{"file":845,"line":299,"context":600},{"file":845,"line":851,"context":600},145,{"file":853,"line":427,"context":600},"options\\inc\\fields\\color_rgba\\class-redux-color-rgba.php",{"file":855,"line":856,"context":600},"options\\inc\\fields\\date\\class-redux-date.php",38,{"file":858,"line":299,"context":600},"options\\inc\\fields\\dimensions\\class-redux-dimensions.php",{"file":858,"line":860,"context":600},170,{"file":858,"line":617,"context":600},{"file":858,"line":863,"context":600},196,{"file":858,"line":865,"context":600},218,{"file":867,"line":550,"context":600},"options\\inc\\fields\\gallery\\class-redux-gallery.php",{"file":867,"line":450,"context":600},{"file":870,"line":871,"context":600},"options\\inc\\fields\\image_select\\class-redux-image-select.php",164,{"file":873,"line":676,"context":600},"options\\inc\\fields\\link_color\\class-redux-link-color.php",{"file":873,"line":678,"context":600},{"file":873,"line":876,"context":600},87,{"file":873,"line":878,"context":600},101,{"file":873,"line":681,"context":600},{"file":873,"line":175,"context":600},{"file":873,"line":599,"context":600},{"file":873,"line":851,"context":600},{"file":873,"line":884,"context":600},153,{"file":873,"line":740,"context":600},{"file":887,"line":888,"context":600},"options\\inc\\fields\\media\\class-redux-media.php",200,{"file":887,"line":890,"context":600},234,{"file":887,"line":743,"context":600},{"file":887,"line":893,"context":600},249,{"file":887,"line":895,"context":600},260,{"file":897,"line":898,"context":600},"options\\inc\\fields\\multi_text\\class-redux-multi-text.php",56,{"file":897,"line":230,"context":600},{"file":897,"line":846,"context":600},{"file":902,"line":294,"context":600},"options\\inc\\fields\\radio\\class-redux-radio.php",{"file":904,"line":280,"context":600},"options\\inc\\fields\\raw\\class-redux-raw.php",{"file":904,"line":376,"context":600},{"file":907,"line":817,"context":600},"options\\inc\\fields\\select\\class-redux-select.php",{"file":907,"line":833,"context":600},{"file":910,"line":562,"context":600},"options\\inc\\fields\\select_image\\class-redux-select-image.php",{"file":910,"line":851,"context":600},{"file":913,"line":779,"context":600},"options\\inc\\fields\\slides\\class-redux-slides.php",{"file":913,"line":609,"context":600},{"file":913,"line":695,"context":600},{"file":913,"line":893,"context":600},{"file":913,"line":918,"context":600},251,{"file":913,"line":490,"context":600},{"file":921,"line":792,"context":600},"options\\inc\\fields\\sortable\\class-redux-sortable.php",{"file":923,"line":690,"context":600},"options\\inc\\fields\\spacing\\class-redux-spacing.php",{"file":923,"line":925,"context":600},217,{"file":923,"line":476,"context":600},{"file":923,"line":893,"context":600},{"file":923,"line":929,"context":600},265,{"file":923,"line":931,"context":600},282,{"file":923,"line":933,"context":600},283,{"file":923,"line":935,"context":600},301,{"file":937,"line":938,"context":600},"options\\inc\\fields\\spinner\\class-redux-spinner.php",66,{"file":940,"line":787,"context":600},"options\\inc\\fields\\text\\class-redux-text.php",{"file":940,"line":332,"context":600},{"file":943,"line":944,"context":600},"options\\inc\\fields\\textarea\\class-redux-textarea.php",45,{"file":946,"line":947,"context":600},"options\\inc\\fields\\typography\\class-redux-typography.php",323,{"file":946,"line":949,"context":600},364,{"file":946,"line":951,"context":600},365,{"file":946,"line":953,"context":600},376,{"file":946,"line":955,"context":600},385,{"file":946,"line":497,"context":600},{"file":946,"line":958,"context":600},402,{"file":946,"line":960,"context":600},418,{"file":946,"line":962,"context":600},426,{"file":946,"line":964,"context":600},428,{"file":946,"line":500,"context":600},{"file":946,"line":967,"context":600},446,{"file":946,"line":969,"context":600},447,{"file":946,"line":971,"context":600},468,{"file":946,"line":667,"context":600},{"file":946,"line":974,"context":600},477,{"file":946,"line":976,"context":600},478,{"file":946,"line":978,"context":600},499,{"file":946,"line":980,"context":600},507,{"file":946,"line":982,"context":600},508,{"file":946,"line":984,"context":600},509,{"file":946,"line":986,"context":600},527,{"file":946,"line":988,"context":600},535,{"file":946,"line":990,"context":600},536,{"file":946,"line":992,"context":600},537,{"file":946,"line":994,"context":600},558,{"file":946,"line":996,"context":600},569,{"file":946,"line":998,"context":600},571,{"file":946,"line":1000,"context":600},591,{"file":946,"line":1002,"context":600},593,{"file":946,"line":1004,"context":600},619,{"file":946,"line":1006,"context":600},621,{"file":946,"line":1008,"context":600},642,{"file":946,"line":1010,"context":600},644,{"file":946,"line":1012,"context":600},673,{"file":946,"line":1014,"context":600},675,{"file":946,"line":1016,"context":600},700,{"file":946,"line":1018,"context":600},702,{"file":946,"line":1020,"context":600},732,{"file":946,"line":1022,"context":600},739,{"file":946,"line":1024,"context":600},751,{"file":946,"line":1026,"context":600},793,{"file":946,"line":1028,"context":600},794,{"file":946,"line":1030,"context":600},805,{"file":946,"line":1032,"context":600},807,{"file":946,"line":1034,"context":600},822,{"file":946,"line":1036,"context":600},823,{"file":946,"line":1038,"context":600},839,{"file":946,"line":1040,"context":600},840,{"file":946,"line":1042,"context":600},856,{"file":946,"line":1044,"context":600},857,{"file":946,"line":1046,"context":600},1563,{"file":946,"line":1048,"context":600},1576,{"file":449,"line":876,"context":600},{"file":449,"line":1051,"context":600},205,{"file":449,"line":821,"context":600},{"file":1054,"line":1055,"context":600},"options\\inc\\welcome\\views\\about.php",39,{"file":1054,"line":1057,"context":600},54,{"file":1054,"line":446,"context":600},{"file":1054,"line":1060,"context":600},85,{"file":1054,"line":27,"context":600},{"file":1054,"line":1063,"context":600},130,{"file":1054,"line":653,"context":600},{"file":1054,"line":306,"context":600},{"file":1067,"line":1068,"context":600},"options\\templates\\panel\\menu-container.tpl.php",29,{"file":462,"line":431,"context":600},{"file":462,"line":1071,"context":600},263,{"file":462,"line":199,"context":600},{"file":462,"line":1074,"context":600},578,{"file":462,"line":1076,"context":600},635,7,[1079],{"name":1080,"version":38,"knownCves":1081},"Select2",[],[1083,1104,1114,1125,1135,1145,1155,1170,1180,1190,1198],{"entryPoint":1084,"graph":1085,"unsanitizedCount":28,"severity":41},"save (options\\inc\\classes\\class-redux-ajax-save.php:34)",{"nodes":1086,"edges":1101},[1087,1091,1095],{"id":1088,"type":1089,"label":1090,"file":603,"line":431},"n0","source","$_POST",{"id":1092,"type":1093,"label":1094,"file":603,"line":431},"n1","transform","→ validate_options()",{"id":1096,"type":1097,"label":1098,"file":247,"line":1099,"wp_function":1100},"n2","sink","wp_remote_get() [SSRF]",750,"wp_remote_get",[1102,1103],{"from":1088,"to":1092,"sanitized":525},{"from":1092,"to":1096,"sanitized":525},{"entryPoint":1105,"graph":1106,"unsanitizedCount":28,"severity":41},"\u003Cclass-redux-ajax-save> (options\\inc\\classes\\class-redux-ajax-save.php:0)",{"nodes":1107,"edges":1111},[1108,1109,1110],{"id":1088,"type":1089,"label":1090,"file":603,"line":431},{"id":1092,"type":1093,"label":1094,"file":603,"line":431},{"id":1096,"type":1097,"label":1098,"file":247,"line":1099,"wp_function":1100},[1112,1113],{"from":1088,"to":1092,"sanitized":525},{"from":1092,"to":1096,"sanitized":525},{"entryPoint":1115,"graph":1116,"unsanitizedCount":28,"severity":41},"save_network_page (options\\inc\\classes\\class-redux-network.php:65)",{"nodes":1117,"edges":1122},[1118,1120,1121],{"id":1088,"type":1089,"label":1090,"file":1119,"line":228},"options\\inc\\classes\\class-redux-network.php",{"id":1092,"type":1093,"label":1094,"file":1119,"line":228},{"id":1096,"type":1097,"label":1098,"file":247,"line":1099,"wp_function":1100},[1123,1124],{"from":1088,"to":1092,"sanitized":525},{"from":1092,"to":1096,"sanitized":525},{"entryPoint":1126,"graph":1127,"unsanitizedCount":28,"severity":41},"\u003Cclass-redux-network> (options\\inc\\classes\\class-redux-network.php:0)",{"nodes":1128,"edges":1132},[1129,1130,1131],{"id":1088,"type":1089,"label":1090,"file":1119,"line":228},{"id":1092,"type":1093,"label":1094,"file":1119,"line":228},{"id":1096,"type":1097,"label":1098,"file":247,"line":1099,"wp_function":1100},[1133,1134],{"from":1088,"to":1092,"sanitized":525},{"from":1092,"to":1096,"sanitized":525},{"entryPoint":1136,"graph":1137,"unsanitizedCount":28,"severity":41},"customizer (options\\inc\\extensions\\customizer\\class-redux-extension-customizer.php:171)",{"nodes":1138,"edges":1142},[1139,1140,1141],{"id":1088,"type":1089,"label":1090,"file":298,"line":398},{"id":1092,"type":1093,"label":1094,"file":298,"line":398},{"id":1096,"type":1097,"label":1098,"file":247,"line":1099,"wp_function":1100},[1143,1144],{"from":1088,"to":1092,"sanitized":525},{"from":1092,"to":1096,"sanitized":525},{"entryPoint":1146,"graph":1147,"unsanitizedCount":28,"severity":41},"\u003Cclass-redux-extension-customizer> (options\\inc\\extensions\\customizer\\class-redux-extension-customizer.php:0)",{"nodes":1148,"edges":1152},[1149,1150,1151],{"id":1088,"type":1089,"label":1090,"file":298,"line":398},{"id":1092,"type":1093,"label":1094,"file":298,"line":398},{"id":1096,"type":1097,"label":1098,"file":247,"line":1099,"wp_function":1100},[1153,1154],{"from":1088,"to":1092,"sanitized":525},{"from":1092,"to":1096,"sanitized":525},{"entryPoint":1156,"graph":1157,"unsanitizedCount":28,"severity":41},"add_widget_area_area (options\\inc\\extensions\\widget_areas\\class-redux-widget-areas.php:128)",{"nodes":1158,"edges":1167},[1159,1162,1164],{"id":1088,"type":1089,"label":1160,"file":423,"line":1161},"$_POST['redux-add-widget-input']",133,{"id":1092,"type":1093,"label":1163,"file":423,"line":1161},"→ check_widget_area_name()",{"id":1096,"type":1097,"label":1165,"file":423,"line":784,"wp_function":1166},"echo() [XSS]","echo",[1168,1169],{"from":1088,"to":1092,"sanitized":525},{"from":1092,"to":1096,"sanitized":525},{"entryPoint":1171,"graph":1172,"unsanitizedCount":28,"severity":41},"\u003Cclass-redux-widget-areas> (options\\inc\\extensions\\widget_areas\\class-redux-widget-areas.php:0)",{"nodes":1173,"edges":1177},[1174,1175,1176],{"id":1088,"type":1089,"label":1160,"file":423,"line":1161},{"id":1092,"type":1093,"label":1163,"file":423,"line":1161},{"id":1096,"type":1097,"label":1165,"file":423,"line":784,"wp_function":1166},[1178,1179],{"from":1088,"to":1092,"sanitized":525},{"from":1092,"to":1096,"sanitized":525},{"entryPoint":1181,"graph":1182,"unsanitizedCount":29,"severity":1189},"get_icons (options\\inc\\extensions\\icon_select\\class-redux-extension-icon-select.php:56)",{"nodes":1183,"edges":1187},[1184,1186],{"id":1088,"type":1089,"label":1090,"file":549,"line":1185},59,{"id":1092,"type":1097,"label":1165,"file":549,"line":384,"wp_function":1166},[1188],{"from":1088,"to":1092,"sanitized":527},"low",{"entryPoint":1191,"graph":1192,"unsanitizedCount":29,"severity":1189},"\u003Cclass-redux-extension-icon-select> (options\\inc\\extensions\\icon_select\\class-redux-extension-icon-select.php:0)",{"nodes":1193,"edges":1196},[1194,1195],{"id":1088,"type":1089,"label":1090,"file":549,"line":1185},{"id":1092,"type":1097,"label":1165,"file":549,"line":384,"wp_function":1166},[1197],{"from":1088,"to":1092,"sanitized":527},{"entryPoint":1199,"graph":1200,"unsanitizedCount":29,"severity":1189},"\u003Cclass-redux-extension-metaboxes> (options\\inc\\extensions\\metaboxes\\class-redux-extension-metaboxes.php:0)",{"nodes":1201,"edges":1209},[1202,1205],{"id":1088,"type":1089,"label":1203,"file":353,"line":1204},"$_GET",712,{"id":1092,"type":1097,"label":1206,"file":353,"line":1207,"wp_function":1208},"call_user_func() [RCE]",1031,"call_user_func",[1210],{"from":1088,"to":1092,"sanitized":527},{"summary":1212,"deductions":1213},"The \"worth-the-read\" plugin v1.14.3 presents a mixed security posture. On the positive side, the plugin demonstrates good practices in its handling of SQL queries, exclusively using prepared statements, and a high percentage of output escaping (87%). It also includes a healthy number of nonce checks (19) and capability checks (3), indicating some level of security awareness in its development. However, there are notable concerns, particularly regarding its attack surface. With 8 AJAX handlers, 3 of which lack authentication checks, there is a clear pathway for unauthorized actions if these handlers are exploitable.\n\nThe taint analysis reveals 8 flows with unsanitized paths, although thankfully none reached critical or high severity in the static analysis. This suggests a potential for vulnerabilities that might not have been caught by this specific analysis or could be exploited in conjunction with other factors. The vulnerability history shows a single medium severity CVE, which is currently patched. The common vulnerability type listed as \"Missing Authorization\" in its history aligns with the static analysis findings of unprotected AJAX handlers, suggesting a recurring theme in past development or potential future risks.\n\nIn conclusion, while \"worth-the-read\" v1.14.3 has strengths in its data handling (SQL prepared statements, output escaping), the presence of unprotected AJAX endpoints and unsanitized paths in taint flows are significant weaknesses. The past \"Missing Authorization\" vulnerability further reinforces the need for thorough auditing of its entry points. The plugin is not inherently insecure but requires careful attention to its authentication and sanitization mechanisms, especially for its AJAX functionalities.",[1214,1216,1219,1221],{"reason":1215,"points":217},"AJAX handlers without auth checks",{"reason":1217,"points":1218},"Flows with unsanitized paths",8,{"reason":1220,"points":242},"Medium severity vulnerability in history",{"reason":1222,"points":589},"Bundled library (Select2) potentially outdated","2026-03-16T18:16:32.520Z",{"wat":1225,"direct":1234},{"assetPaths":1226,"generatorPatterns":1229,"scriptPaths":1230,"versionParams":1231},[1227,1228],"\u002Fwp-content\u002Fplugins\u002Fworth-the-read\u002Fjs\u002Fwtr.js","\u002Fwp-content\u002Fplugins\u002Fworth-the-read\u002Fcss\u002Fwtr.css",[],[1227],[1232,1233],"worth-the-read\u002Fwtr.js?ver=","worth-the-read\u002Fwtr.css?ver=",{"cssClasses":1235,"htmlComments":1237,"htmlAttributes":1239,"restEndpoints":1260,"jsGlobals":1261,"shortcodeOutput":1263},[1236],"wtr-js-display-progress",[1238],"\u003C!-- wtr_wrap_content() called -->",[1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259],"data-placement","data-placement-offset","data-content-offset","data-placement-touch","data-placement-offset-touch","data-width","data-fgopacity","data-mutedopacity","data-mute","data-transparent","data-shadow","data-touch","data-non-touch","data-rtl","data-comments","data-comments-bg","data-fg","data-bg","data-fg-muted","data-fg-end",[],[1262],"wtr_debug",[]]