[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f7hx80evrur53-GRF6ff8bXjxQdYQfHh0gk8inwLBxcQ":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":39,"analysis":136,"fingerprints":1208},"stylish-links","Stylish Links","1.0.3","brianmcculloh","https:\u002F\u002Fprofiles.wordpress.org\u002Fbrianmcculloh\u002F","\u003Cp>Ever been frustrated at the lack of flexibility for styling your hyperlinks? Ever wondered how sites like Pitchfork and Medium are able to dynamically style their links? If so, Stylish Links is for you! With the click of a button, automatically apply beautiful CSS3 styles to all of the existing links within your post and page content without conflicting with your current theme styles.\u003C\u002Fp>\n\u003Cp>Stylish Links gives you full control over your link text, underline, and background colors, and most importantly, independent control over all of the hover effects. You can even control the underline thickness and offset from the bottom of the link text.\u003C\u002Fp>\n\u003Cp>Works in all modern browsers and runs purely from CSS requiring no javascript, so your site remains virtually untouched from a performance perspective. Take a look at the demo here: http:\u002F\u002Fwww.industrialthemes.com\u002Fplugins\u002F\u003C\u002Fp>\n","Spruce up your links with subtle CSS3 styles. Discrete control of underline, background, and text colors - including underline thickness and offset.",100,5436,60,4,"2020-08-26T15:25:00.000Z","5.5.18","3.8","",[20,21,22,23,24],"anchor-links","animated-links","link-hovers","link-icons","links","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fstylish-links","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fstylish-links.1.0.3.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":34,"avg_security_score":35,"avg_patch_time_days":36,"trust_score":37,"computed_at":38},2,4100,89,699,71,"2026-04-04T04:21:40.531Z",[40,63,85,101,119],{"slug":41,"name":42,"version":43,"author":44,"author_profile":45,"description":46,"short_description":47,"active_installs":48,"downloaded":49,"rating":50,"num_ratings":51,"last_updated":52,"tested_up_to":53,"requires_at_least":54,"requires_php":55,"tags":56,"homepage":18,"download_link":61,"security_score":62,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"add-anchor-links","Add Anchor Links","1.0.4","Karolina Vyskocilova","https:\u002F\u002Fprofiles.wordpress.org\u002Fvyskoczilova\u002F","\u003Cp>Creates anchor links to heading tags in the content of selected posts, just like Github does within the Readme.md files.\u003C\u002Fp>\n\u003Cp>Get involved and \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fvyskoczilova\u002Fadd-anchor-links\" rel=\"nofollow ugc\">join Github\u003C\u002Fa>!\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Select post type where the anchor links will be added.\u003C\u002Fli>\n\u003Cli>Disable CSS.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Compatibility\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>PHP PHP 7 & PHP 8\u003C\u002Fli>\n\u003C\u002Ful>\n","Creates anchor links to heading tags in the content of selected posts, just like Github does within the Readme.md files.",1000,18750,94,6,"2024-11-05T11:35:00.000Z","6.7.5","4.8","7.1",[57,20,58,59,60],"anchor","content","content-links","headings","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadd-anchor-links.1.0.4.zip",92,{"slug":64,"name":65,"version":66,"author":67,"author_profile":68,"description":69,"short_description":70,"active_installs":71,"downloaded":72,"rating":11,"num_ratings":73,"last_updated":74,"tested_up_to":75,"requires_at_least":76,"requires_php":77,"tags":78,"homepage":83,"download_link":84,"security_score":11,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"fast-smooth-scroll","Fast Smooth Scroll","1.0.0","Felix Arntz","https:\u002F\u002Fprofiles.wordpress.org\u002Fflixos90\u002F","\u003Cp>This plugin takes a \u003Cstrong>no-frills approach\u003C\u002Fstrong> to smooth scrolling, providing a \u003Cstrong>fast, performant, and accessible user experience\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Simply enable the plugin\u003C\u002Fstrong>, and any anchor links (i.e. links that point to other content on the same page) will provide a smooth scrolling experience rather than abruptly jumping to the destination content.\u003C\u002Fp>\n\u003Cp>The plugin relies on the \u003Cstrong>latest smooth scrolling techniques using CSS\u003C\u002Fstrong>. A very \u003Cstrong>fast and lightweight JavaScript polyfill (\u003C1KB)\u003C\u002Fstrong> is included to equally support older browsers, including Internet Explorer. So you can rest assured this plugin covers your userbase.\u003C\u002Fp>\n\u003Cp>\u003Ch4>Why does this plugin exist?\u003C\u002Fh4>\n\u003C\u002Fp>\n\u003Cp>Smooth scrolling is a basic feature to enhance user experience, so it shouldn’t come at a performance cost that at the same time harms user experience elsewhere.\u003C\u002Fp>\n\u003Cp>Several other smooth scrolling solutions unfortunately rely on outdated techniques such as jQuery, which can hurt your site’s performance, and is really not necessary to provide the feature. Even browsers as old as 10 years don’t need jQuery to achieve smooth scrolling. In fact, as of today you can achieve the behavior with only CSS, not even requiring any JavaScript.\u003C\u002Fp>\n\u003Cp>Another potential reason to use this plugin over other smooth scrolling solutions is accessibility: This plugin respects the user preferences around reduced motion, which can avoid discomfort for those with \u003Ca href=\"https:\u002F\u002Fwww.a11yproject.com\u002Fposts\u002Funderstanding-vestibular-disorders\u002F\" rel=\"nofollow ugc\">vestibular motion disorders\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>You may already use a smooth scrolling plugin, but it is worth double checking that it doesn’t use one of those outdated, inefficient, and inaccessible approaches that may slow down your site or affect user interactions negatively.\u003C\u002Fp>\n\u003Ch4>More technical details\u003C\u002Fh4>\n\u003Cp>This plugin simply enables smooth scrolling with the \u003Ccode>scroll-behavior\u003C\u002Fcode> CSS property. This property has been supported by all modern browsers for a few years now.\u003C\u002Fp>\n\u003Cp>To support older browsers as well, a lightweight JavaScript polyfill is included, which is only loaded for browsers that lack support for the CSS property and doesn’t require any dependencies. The polyfill uses latest JavaScript user experience best practices such as \u003Ccode>requestAnimationFrame\u003C\u002Fcode> to provide a smooth scrolling experience without potentially blocking other user interactions.\u003C\u002Fp>\n\u003Cp>For relevant browser support, see:\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fcaniuse.com\u002Fcss-scroll-behavior\" rel=\"nofollow ugc\">CSS Scroll-behavior\u003C\u002Fa>\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fcaniuse.com\u002Fmdn-css_properties_scroll-padding-top\" rel=\"nofollow ugc\">CSS property: scroll-padding-top\u003C\u002Fa>\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fcaniuse.com\u002Fprefers-reduced-motion\" rel=\"nofollow ugc\">prefers-reduced-motion media query\u003C\u002Fa>\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fcaniuse.com\u002Frequestanimationframe\" rel=\"nofollow ugc\">requestAnimationFrame\u003C\u002Fa>\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fcaniuse.com\u002Fhigh-resolution-time\" rel=\"nofollow ugc\">High Resolution Time API\u003C\u002Fa>\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fcaniuse.com\u002Fmdn-api_nodelist\" rel=\"nofollow ugc\">NodeList API\u003C\u002Fa>\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fcaniuse.com\u002Fmdn-api_window_scrollto\" rel=\"nofollow ugc\">Window API: scrollTo\u003C\u002Fa>\u003C\u002Fp>\n","This lightweight plugin enhances user experience by enabling smooth scrolling for anchor links without the need for jQuery or other dependencies.",800,4028,3,"2025-11-24T23:33:00.000Z","6.9.4","5.0","5.2",[20,79,80,81,82],"lightweight","performance","scroll-animation","smooth-scroll","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ffast-smooth-scroll\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffast-smooth-scroll.1.0.0.zip",{"slug":86,"name":87,"version":88,"author":89,"author_profile":90,"description":91,"short_description":92,"active_installs":93,"downloaded":94,"rating":95,"num_ratings":33,"last_updated":18,"tested_up_to":18,"requires_at_least":18,"requires_php":18,"tags":96,"homepage":98,"download_link":99,"security_score":11,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":100},"auto-anchor-links","Auto Anchor List","1.0","mindwiremedia","https:\u002F\u002Fprofiles.wordpress.org\u002Fmindwiremedia\u002F","\u003Cp>Creates anchor links to heading tags in the content and displays them automatically at the top of the content, or allows for custom placement with tags or sidebar widget.\u003C\u002Fp>\n\u003Cp>Features:\u003Cbr \u002F>\n    1. Has option to auto display anchor links to Heading tags in content.\u003Cbr \u002F>\n    2. Allows control of which content to auto display links.\u003Cbr \u002F>\n    3. Can disable plugin css to allow custom styles to be applied.\u003Cbr \u002F>\n    4. Has widget available for display\u003Cbr \u002F>\n    5. Insert custom title to display above links\u003Cbr \u002F>\n    6. Clears all traces from any excerpts displayed\u003C\u002Fp>\n","Creates anchor links to heading tags in the content and displays automatically at the top of the content, or allows for custom placement with tags.",50,5035,90,[20,58,59,24,97],"sidebar","http:\u002F\u002Fwww.mindwiremedia.net\u002Fproducts\u002Fwordpress\u002Fplugins\u002Fauto-anchor-list-wordpress-plugin-home\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fauto-anchor-links.zip","2026-03-15T10:48:56.248Z",{"slug":102,"name":103,"version":104,"author":105,"author_profile":106,"description":107,"short_description":108,"active_installs":109,"downloaded":110,"rating":11,"num_ratings":111,"last_updated":112,"tested_up_to":75,"requires_at_least":76,"requires_php":113,"tags":114,"homepage":18,"download_link":118,"security_score":11,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"copy-link-to-heading","Copy Link to Heading – Easily add Anchor links for Headings","2.0","Jose Varghese","https:\u002F\u002Fprofiles.wordpress.org\u002Fjosevarghese\u002F","\u003Cp>Have you ever wanted to quickly copy a link to a specific heading section of your content for bookmarking, sharing with friends or colleagues, or jumping straight to a heading without scrolling through the entire page? Then, “Copy Link to Heading” plugin makes it effortless!\u003C\u002Fp>\n\u003Cp>The Copy Link to Heading plugin automatically adds a small, unobtrusive link icon next to the headings in your posts, pages, or custom post types. With just one click, users can copy a direct anchor link to the heading section for:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Bookmarking the heading so they can continue reading later without scrolling.\u003C\u002Fli>\n\u003Cli>Having anchor links will helps in your SEO.\u003C\u002Fli>\n\u003Cli>You can easily share specific heading content sections with friends and colleagues or on social media.\u003C\u002Fli>\n\u003Cli>Navigate quickly to a specific part of a long article or documentation.\u003C\u002Fli>\n\u003Cli>Enhancing accessibility by enabling deep linking to specific sections.\u003C\u002Fli>\n\u003Cli>Supports screen readers with proper \u003Ccode>aria-label\u003C\u002Fcode> attributes, keyboard navigation (Enter\u002FSpace keys), and \u003Ccode>aria-live\u003C\u002Fcode> region announcements when a link is copied.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The plugin is designed to be lightweight and user-friendly. It is perfect for blogs, documentation sites, WooCommerce stores, and any site with long-form content.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Key Features of Copy Link to Heading:\u003C\u002Fstrong>\u003Cbr \u002F>\n– Copy Link to Heading plugin, adds a link icon next to the selected heading levels (H2, H3, etc.) based on your preferences selected within the settings page.\u003Cbr \u002F>\n– We support posts, pages, and custom content post types.\u003Cbr \u002F>\n– Easily customizable heading levels to display the link icon.\u003Cbr \u002F>\n– Compatible with WooCommerce product pages and other custom post types.\u003Cbr \u002F>\n– Generates anchor links, section links, and deep links for improved navigation with your pages.\u003Cbr \u002F>\n– Very simple settings page for quick configuration.\u003Cbr \u002F>\n– Lightweight and optimized for performance.\u003Cbr \u002F>\n– Option to always show the copy link to the heading icon for mobile devices.\u003Cbr \u002F>\n– Option to add a tooltip for the link icon or to choose the browser alert for copying the link of the heading.\u003Cbr \u002F>\n– The link icon effortlessly scales with the heading text size using relative sizing.\u003C\u002Fp>\n\u003Ch3>How does the anchor links are generated?\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>When the page loads, the plugin automatically generates anchor links for headings on the frontend. No changes are required in the WordPress editor or post content.\u003C\u002Fli>\n\u003Cli>If a heading already has an anchor link, the plugin uses the existing anchor link URL for the “copy link” functionality.\u003C\u002Fli>\n\u003Cli>Even if the heading text is modified later, the plugin dynamically generates the anchor link when the page is loaded on the front end based on the heading text. That means any changes made in the editor will not cause issues with link functionality.\u003C\u002Fli>\n\u003Cli>This seamless approach ensures the plugin adapts to changes in content while maintaining reliable and accurate linking.\u003C\u002Fli>\n\u003Cli>So, install the “Copy Link to Heading” plugin on your WordPress website and configure the settings based on your preference to decide which content types and heading levels you want to show the copy link to the heading icon for.\u003C\u002Fli>\n\u003Cli>Our plugin will do everything on the front end out of the box without any hassle.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Use Cases with the Page Jumps?:\u003C\u002Fstrong>\u003Cbr \u002F>\n– The \u003Cstrong>copy links to specific headings\u003C\u002Fstrong> using a heading URL generator created by us, which makes it easy to share with others or reference in emails or social media. And when clicked via the link, the page will jump to the specific heading.\u003Cbr \u002F>\n– You can \u003Cstrong>bookmark the heading sections of long articles or documentation for easy navigation\u003C\u002Fstrong>. Once you click the link, the heading will open using the anchor links.\u003Cbr \u002F>\n– \u003Cstrong>Enable deep linking to improve user experience\u003C\u002Fstrong> on content-heavy websites.\u003Cbr \u002F>\n– \u003Cstrong>Help readers and collaborators\u003C\u002Fstrong> quickly access key sections of your content with a bookmark link generator.\u003C\u002Fp>\n\u003Cp>Whether managing a blog, a technical documentation site, or a WooCommerce store, this plugin ensures your audience can easily navigate and share content.\u003C\u002Fp>\n","Adds a copy link icon to headings for easy copying anchor links, that helps to bookmarking, sharing, and navigation within the content.",40,1046,1,"2026-03-07T07:12:00.000Z","7.0",[20,115,116,117,60],"content-navigation","copy-link","deep-linking","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcopy-link-to-heading.2.0.zip",{"slug":120,"name":121,"version":66,"author":122,"author_profile":123,"description":124,"short_description":125,"active_installs":28,"downloaded":126,"rating":28,"num_ratings":28,"last_updated":127,"tested_up_to":75,"requires_at_least":76,"requires_php":128,"tags":129,"homepage":134,"download_link":135,"security_score":11,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"anchorkit-table-of-contents","AnchorKit – Table of Contents","smelterstudio","https:\u002F\u002Fprofiles.wordpress.org\u002Fsmelterstudio\u002F","\u003Cp>AnchorKit makes it simple to add a professional table of contents anywhere on your site with unparalleled customization and developer-friendly features:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🚀 Core Features:\u003C\u002Fstrong>\u003Cbr \u002F>\n– Automatically generate \u003Cstrong>WCAG compliant, accessible\u003C\u002Fstrong> table of contents for posts, pages, and custom post types by parsing content for headers\u003Cbr \u002F>\n– \u003Cstrong>Accessibility-first design\u003C\u002Fstrong> with ARIA labels, keyboard navigation, and screen reader compatibility\u003Cbr \u002F>\n– Works with Classic Editor, Gutenberg, Elementor, Divi, WPBakery Page Builder, and Visual Composer\u003Cbr \u002F>\n– Optionally auto-insert TOC into content or use manual placement with shortcodes, widgets, or blocks\u003Cbr \u002F>\n– Comprehensive settings for controlling when and where TOC appears\u003Cbr \u002F>\n– Multiple built-in themes with custom colors for borders, backgrounds, and links\u003Cbr \u002F>\n– Hierarchical display with nested sub-headings and proper heading structure\u003Cbr \u002F>\n– Smooth scrolling with configurable offset and keyboard-friendly navigation\u003Cbr \u002F>\n– Collapsible TOC with customizable initial states and focus management\u003Cbr \u002F>\n– Selective enable\u002Fdisable on post-by-post basis with user preference respect\u003Cbr \u002F>\n– Advanced heading filtering with keywords, selectors, and regex patterns\u003Cbr \u002F>\n– Mobile-responsive with customizable breakpoints and touch-friendly controls\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🎨 Appearance & Themes:\u003C\u002Fstrong>\u003Cbr \u002F>\n– Light\u002Fdark\u002Fsystem themes with automatic detection\u003Cbr \u002F>\n– Three preset styles (Minimal, Modern, Clean) plus full custom styling\u003Cbr \u002F>\n– Multiple bullet formats: none, decimal, numeric, roman numerals, and custom characters\u003Cbr \u002F>\n– Customizable colors, fonts, spacing, and animations\u003Cbr \u002F>\n– Theme-aware styling that adapts to your site’s design\u003C\u002Fp>\n\u003Cp>\u003Cstrong>♿ Accessibility First:\u003C\u002Fstrong>\u003Cbr \u002F>\n– WCAG compliant with proper ARIA labels and keyboard navigation\u003Cbr \u002F>\n– Screen reader compatible with descriptive labels\u003Cbr \u002F>\n– Configurable heading levels and anchor formats\u003Cbr \u002F>\n– Semantic HTML structure with proper heading hierarchy\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🛠️ Developer Friendly:\u003C\u002Fstrong>\u003Cbr \u002F>\n– Extensive action hooks and filters for customization\u003Cbr \u002F>\n– Pull requests and feature requests welcomed on GitHub\u003Cbr \u002F>\n– Comprehensive shortcode attributes for granular control\u003Cbr \u002F>\n– Schema.org SiteNavigation markup support\u003Cbr \u002F>\n– ACF field integration for dynamic content\u003Cbr \u002F>\n– WordPress coding standards compliant\u003C\u002Fp>\n\u003Cp>\u003Cstrong>📱 Advanced Features:\u003C\u002Fstrong>\u003Cbr \u002F>\n– Sticky TOC positions with customizable offset\u003Cbr \u002F>\n– Scroll spy with active section highlighting\u003Cbr \u002F>\n– Reading time and word count metadata\u003Cbr \u002F>\n– “View more” truncation for long TOCs\u003Cbr \u002F>\n– Back-to-top links with smooth scrolling\u003Cbr \u002F>\n– AMP-compatible output (Pro)\u003Cbr \u002F>\n– Custom taxonomy description support\u003C\u002Fp>\n\u003Ch3>Shortcode\u003C\u002Fh3>\n\u003Cp>Take full command of your table of contents with AnchorKit’s comprehensive shortcode system. Perfect for users who prefer code over visual editors or need granular control. All shortcode attributes maintain full accessibility compliance and WCAG standards.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Basic Usage:\u003C\u002Fstrong>\u003Cbr \u002F>\n    \u003Ccode>[anchorkit_toc]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Advanced Usage with Attributes:\u003C\u002Fstrong>\u003Cbr \u002F>\n    \u003Ccode>[anchorkit_toc header_label=\"Contents\" display_counter=\"yes\" theme=\"dark\"]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Supported Attributes:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Display Control:\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Ccode>header_label=\"Title\"\u003C\u002Fcode> – Custom TOC title\u003Cbr \u002F>\n– \u003Ccode>display_header_label=\"no\"\u003C\u002Fcode> – Hide title\u003Cbr \u002F>\n– \u003Ccode>toggle_view=\"no\"\u003C\u002Fcode> – Disable collapsible toggle\u003Cbr \u002F>\n– \u003Ccode>initial_view=\"hide\"\u003C\u002Fcode> – Start collapsed\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Content Filtering:\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Ccode>heading_levels=\"2,3\"\u003C\u002Fcode> – Include only H2 and H3 headings\u003Cbr \u002F>\n– \u003Ccode>exclude=\"Test,Draft\"\u003C\u002Fcode> – Exclude headings containing these keywords\u003Cbr \u002F>\n– \u003Ccode>post_types=\"post,page\"\u003C\u002Fcode> – Limit to specific post types\u003Cbr \u002F>\n– \u003Ccode>post_in=\"1,2\"\u003C\u002Fcode> – Include only specific post IDs\u003Cbr \u002F>\n– \u003Ccode>post_not_in=\"1,2\"\u003C\u002Fcode> – Exclude specific post IDs\u003Cbr \u002F>\n– \u003Ccode>min_headings=\"3\"\u003C\u002Fcode> – Require minimum number of headings\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Appearance:\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Ccode>display_counter=\"yes\"\u003C\u002Fcode> – Enable numbered lists\u003Cbr \u002F>\n– \u003Ccode>class=\"custom-toc\"\u003C\u002Fcode> – Add custom CSS class\u003Cbr \u002F>\n– \u003Ccode>theme=\"dark\"\u003C\u002Fcode> – Set theme (system\u002Flight\u002Fdark)\u003Cbr \u002F>\n– \u003Ccode>preset=\"modern\"\u003C\u002Fcode> – Choose style preset\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Behavior & Accessibility:\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Ccode>hierarchical=\"yes\"\u003C\u002Fcode> – Enable nested sub-headings with proper heading structure\u003Cbr \u002F>\n– \u003Ccode>smooth_scroll=\"no\"\u003C\u002Fcode> – Disable smooth scrolling (accessibility option)\u003Cbr \u002F>\n– \u003Ccode>device_target=\"mobile\"\u003C\u002Fcode> – Show only on mobile\u002Fdesktop for responsive design\u003C\u002Fp>\n\u003Cp>\u003Cstrong>PRO Features:\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Ccode>view_more=\"5\"\u003C\u002Fcode> – Show only first 5 headings initially (PRO)\u003Cbr \u002F>\n– \u003Ccode>sticky=\"yes\"\u003C\u002Fcode> – Enable sticky positioning\u003Cbr \u002F>\n– \u003Ccode>show_reading_time=\"yes\"\u003C\u002Fcode> – Display reading time\u003Cbr \u002F>\n– \u003Ccode>show_word_count=\"yes\"\u003C\u002Fcode> – Display word counts\u003C\u002Fp>\n\u003Ch3>Upgrade to AnchorKit Pro\u003C\u002Fh3>\n\u003Cp>Take AnchorKit to the next level with professional features and premium support:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🎨 Enhanced Integration:\u003C\u002Fstrong>\u003Cbr \u002F>\n– Elementor Widget – Drag-and-drop TOC creation\u003Cbr \u002F>\n– Gutenberg Block – Advanced block editor support\u003Cbr \u002F>\n– ACF Support – Generate TOC from custom fields\u003Cbr \u002F>\n– AMP Compatibility – Automatic AMP-friendly output\u003C\u002Fp>\n\u003Cp>\u003Cstrong>📍 Advanced Positioning:\u003C\u002Fstrong>\u003Cbr \u002F>\n– Fixed\u002FSticky TOC – Multiple positioning options\u003Cbr \u002F>\n– Sticky Customization – Theme-aware sticky styling\u003Cbr \u002F>\n– Scroll Spy – Active section highlighting\u003Cbr \u002F>\n– Back-to-Top Links – Smooth scroll to top\u003C\u002Fp>\n\u003Cp>\u003Cstrong>📊 Content Enhancement:\u003C\u002Fstrong>\u003Cbr \u002F>\n– Reading Time – Display estimated read time\u003Cbr \u002F>\n– Word Count – Show word counts per section\u003Cbr \u002F>\n– View More – Truncate long TOCs elegantly\u003Cbr \u002F>\n– Schema.org Markup – Rich snippets for SEO\u003C\u002Fp>\n\u003Cp>\u003Cstrong>♿ Enterprise Accessibility:\u003C\u002Fstrong>\u003Cbr \u002F>\n– WCAG 2.1 AA Compliance – Full accessibility audit and certification\u003Cbr \u002F>\n– Advanced ARIA Support – Complex widget patterns and live regions\u003Cbr \u002F>\n– Keyboard Navigation – Full keyboard and screen reader support\u003Cbr \u002F>\n– Multi-device Testing – Accessibility validation across all devices\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🛠️ Developer Features:\u003C\u002Fstrong>\u003Cbr \u002F>\n– Priority Support – Direct developer assistance\u003Cbr \u002F>\n– Advanced Hooks – Extended customization API\u003Cbr \u002F>\n– Migration Tools – Import from other TOC plugins\u003Cbr \u002F>\n– Custom Integrations – Third-party plugin support\u003C\u002Fp>\n\u003Ch4>Privacy\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cem>Opt-in telemetry only\u003C\u002Fem>: the free plugin never transmits site data. When you opt in, we only collect your site URL, WP\u002FPHP versions, and admin email to issue a license.\u003C\u002Fli>\n\u003Cli>\u003Cem>No front-end tracking\u003C\u002Fem>: AnchorKit does not load external trackers, ads, pixels, or front-end scripts from third-party domains.\u003C\u002Fli>\n\u003Cli>\u003Cem>Self-hosted assets\u003C\u002Fem>: all CSS\u002FJS lives inside the plugin; no CDNs or remote calls are made on visitor pages.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Upgrade to AnchorKit Pro inside the plugin to unlock Elementor widget, sticky TOC positions, reading-time metadata, schema, ACF integration, and more. Purchases and license management are handled securely via Freemius (Stripe\u002FPayPal).\u003C\u002Fp>\n","Accessible table of contents plugin with live preview, Gutenberg blocks, Elementor widgets, and extensive customization.",124,"2026-01-14T02:25:00.000Z","7.4",[130,20,131,132,133],"accessibility","gutenberg","table-of-contents","toc","https:\u002F\u002Fgetanchorkit.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fanchorkit-table-of-contents.1.0.0.zip",{"attackSurface":137,"codeSignals":364,"taintFlows":1069,"riskAssessment":1198,"analyzedAt":1207},{"hooks":138,"ajaxHandlers":336,"restRoutes":359,"shortcodes":360,"cronEvents":361,"entryPointCount":231,"unprotectedCount":28},[139,145,150,154,157,161,165,168,173,177,181,186,190,193,196,199,201,205,207,211,213,217,222,225,228,233,238,241,245,249,253,258,263,267,270,274,277,281,284,287,291,294,298,301,305,308,311,313,316,320,323,327,332],{"type":140,"name":141,"callback":142,"file":143,"line":144},"action","wp_dashboard_setup","anonymous","options\\core\\dashboard.php",13,{"type":140,"name":146,"callback":147,"file":148,"line":149},"redux\u002Finit","ReduxFrameworkInstances::get_instance","options\\framework.php",30,{"type":140,"name":151,"callback":152,"file":148,"line":153},"admin_menu","_options_page",341,{"type":140,"name":155,"callback":152,"file":148,"line":156},"network_admin_menu",345,{"type":140,"name":158,"callback":159,"file":148,"line":160},"admin_bar_menu","_admin_bar_menu",349,{"type":140,"name":162,"callback":163,"file":148,"line":164},"admin_init","_register_settings",355,{"type":140,"name":162,"callback":166,"file":148,"line":167},"_update_check",360,{"type":140,"name":169,"callback":170,"priority":171,"file":148,"line":172},"admin_notices","_admin_notices",99,365,{"type":140,"name":162,"callback":174,"priority":175,"file":148,"line":176},"_dismiss_admin_notice",9,368,{"type":140,"name":178,"callback":179,"priority":111,"file":148,"line":180},"admin_enqueue_scripts","_enqueue",372,{"type":140,"name":182,"callback":183,"priority":184,"file":148,"line":185},"wp_head","_output_css",150,378,{"type":140,"name":187,"callback":188,"priority":184,"file":148,"line":189},"wp_enqueue_scripts","_enqueue_output",379,{"type":140,"name":191,"callback":183,"priority":184,"file":148,"line":192},"login_head",384,{"type":140,"name":194,"callback":188,"priority":184,"file":148,"line":195},"login_enqueue_scripts",385,{"type":140,"name":197,"callback":183,"priority":184,"file":148,"line":198},"admin_head",390,{"type":140,"name":178,"callback":188,"priority":184,"file":148,"line":200},391,{"type":140,"name":202,"callback":203,"priority":11,"file":148,"line":204},"wp_print_scripts","vc_fixes",395,{"type":140,"name":178,"callback":203,"priority":11,"file":148,"line":206},396,{"type":140,"name":158,"callback":208,"priority":209,"file":148,"line":210},"network_admin_bar",999,404,{"type":140,"name":197,"callback":197,"file":148,"line":212},1735,{"type":214,"name":215,"callback":215,"file":148,"line":216},"filter","admin_footer_text",1738,{"type":140,"name":218,"callback":219,"file":220,"line":221},"after_setup_theme","createRedux","options\\inc\\class.redux_api.php",47,{"type":140,"name":223,"callback":219,"file":220,"line":224},"init",48,{"type":140,"name":226,"callback":219,"file":220,"line":227},"switch_theme",49,{"type":140,"name":229,"callback":230,"priority":231,"file":232,"line":13},"redux\u002Fconstruct","capture",5,"options\\inc\\class.redux_instances.php",{"type":140,"name":234,"callback":235,"file":236,"line":237},"customize_register","_register_customizer_controls","options\\inc\\extensions\\customizer\\extension_customizer.php",113,{"type":140,"name":182,"callback":239,"file":236,"line":240},"customize_preview_init",118,{"type":140,"name":242,"callback":243,"file":236,"line":244},"customize_save_after","customizer_save_after",122,{"type":140,"name":246,"callback":247,"file":236,"line":248},"customize_controls_print_scripts","enqueue_controls_css",125,{"type":140,"name":250,"callback":251,"file":236,"line":252},"customize_controls_init","enqueue_panel_css",127,{"type":214,"name":254,"callback":255,"file":256,"line":257},"upload_mimes","custom_upload_mimes","options\\inc\\extensions\\import_export\\extension_import_export.php",97,{"type":214,"name":259,"callback":260,"file":261,"line":262},"redux\u002Ffont-icons","get_font_icons","options\\inc\\fields\\select\\elusive-icons.php",312,{"type":140,"name":178,"callback":264,"file":265,"line":266},"enqueue_admin_styles","options\\inc\\themecheck\\class.redux_themecheck.php",74,{"type":140,"name":178,"callback":268,"file":265,"line":269},"enqueue_admin_scripts",75,{"type":140,"name":271,"callback":272,"file":265,"line":273},"themecheck_checks_loaded","disable_checks",77,{"type":140,"name":271,"callback":275,"file":265,"line":276},"add_checks",78,{"type":140,"name":178,"callback":278,"file":279,"line":280},"_enqueue_tracking","options\\inc\\tracking.php",81,{"type":140,"name":178,"callback":282,"file":279,"line":283},"_enqueue_newsletter",83,{"type":140,"name":285,"callback":286,"file":279,"line":11},"redux_tracking","tracking",{"type":140,"name":288,"callback":289,"file":279,"line":290},"admin_print_footer_scripts","tracking_request",110,{"type":140,"name":288,"callback":292,"file":279,"line":293},"newsletter_request",119,{"type":214,"name":295,"callback":296,"file":279,"line":297},"redux\u002Ftracking\u002Foptions","redux_tracking_additions",475,{"type":140,"name":223,"callback":299,"priority":171,"file":300,"line":13},"flush_permalinks","options\\inc\\validation\\unique_slug\\validation_unique_slug.php",{"type":140,"name":302,"callback":223,"file":303,"line":304},"redux\u002Floaded","options\\inc\\welcome\\welcome.php",23,{"type":140,"name":151,"callback":306,"file":303,"line":307},"admin_menus",35,{"type":214,"name":215,"callback":309,"file":303,"line":310},"change_wp_footer",41,{"type":140,"name":197,"callback":197,"file":303,"line":312},42,{"type":140,"name":223,"callback":314,"file":303,"line":315},"do_redirect",93,{"type":140,"name":178,"callback":317,"file":318,"line":319},"sl_enqueued_assets_admin","stylish-links.php",20,{"type":140,"name":187,"callback":321,"file":318,"line":322},"sl_enqueued_assets",27,{"type":140,"name":324,"callback":325,"file":318,"line":326},"wp_footer","sl_custom_css",34,{"type":214,"name":328,"callback":329,"priority":330,"file":318,"line":331},"the_content","sl_filter_content",10,59,{"type":214,"name":333,"callback":334,"file":318,"line":335},"body_class","sl_filter_body_class",86,[337,344,346,351,355],{"action":338,"nopriv":339,"callback":340,"hasNonce":339,"hasCapCheck":341,"file":342,"line":343},"redux_p",true,"proxy",false,"options\\inc\\class.p.php",7,{"action":338,"nopriv":341,"callback":340,"hasNonce":339,"hasCapCheck":341,"file":342,"line":345},8,{"action":347,"nopriv":341,"callback":348,"hasNonce":339,"hasCapCheck":341,"file":349,"line":350},"redux_hide_admin_notice","dismissAdminNoticeAJAX","options\\inc\\class.redux_admin_notices.php",32,{"action":352,"nopriv":341,"callback":353,"hasNonce":339,"hasCapCheck":341,"file":279,"line":354},"redux_allow_tracking","redux_allow_tracking_callback",499,{"action":356,"nopriv":341,"callback":357,"hasNonce":339,"hasCapCheck":341,"file":303,"line":358},"redux_support_hash","support_hash",25,[],[],[362],{"hook":285,"callback":285,"file":279,"line":363},98,{"dangerousFunctions":365,"sqlUsage":366,"outputEscaping":368,"fileOperations":330,"externalRequests":1067,"nonceChecks":231,"capabilityChecks":28,"bundledLibraries":1068},[],{"prepared":343,"raw":28,"locations":367},[],{"escaped":369,"rawEcho":370,"locations":371},398,401,[372,376,378,379,381,383,385,387,389,391,393,395,397,399,401,403,405,407,409,411,413,415,417,419,421,422,424,426,428,430,432,434,437,439,441,444,445,447,450,452,454,456,459,460,462,464,465,468,470,472,474,476,478,479,480,482,484,486,488,490,492,494,496,498,500,502,504,506,508,510,512,514,516,518,520,522,524,526,527,529,531,533,535,537,538,540,542,544,546,548,550,552,554,556,558,560,562,564,565,567,569,570,572,575,577,578,580,582,584,586,588,590,592,594,595,596,598,600,603,604,605,607,609,610,612,614,615,616,618,621,624,626,627,628,629,632,633,634,636,638,640,641,642,643,644,646,647,649,650,652,653,654,655,656,657,659,661,663,664,666,667,668,670,671,672,675,676,677,679,680,682,684,686,688,689,692,693,695,696,698,700,701,702,703,705,706,708,709,710,712,715,717,719,721,722,724,725,727,729,731,733,734,735,736,738,739,741,742,743,744,745,746,747,749,751,752,754,755,756,757,758,759,760,762,763,765,767,769,771,773,775,777,778,779,781,782,783,784,785,787,789,790,792,794,796,797,798,799,801,803,805,807,808,810,812,815,817,819,820,821,824,825,826,828,829,832,833,835,837,839,841,843,845,847,849,850,852,854,856,858,860,861,862,864,865,866,868,870,871,873,874,876,878,880,881,883,885,887,889,891,892,894,896,898,900,902,904,906,908,910,912,914,916,918,920,922,924,926,928,930,932,934,936,937,938,939,940,942,943,945,946,949,951,952,953,954,955,957,959,960,961,962,963,964,965,966,967,968,969,971,973,975,977,979,981,982,984,986,987,988,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,1048,1049,1051,1052,1054,1057,1059,1060,1061,1063,1066],{"file":373,"line":374,"context":375},"options\\core\\panel.php",65,"raw output",{"file":373,"line":377,"context":375},68,{"file":373,"line":290,"context":375},{"file":373,"line":380,"context":375},141,{"file":373,"line":382,"context":375},156,{"file":373,"line":384,"context":375},170,{"file":373,"line":386,"context":375},184,{"file":373,"line":388,"context":375},204,{"file":373,"line":390,"context":375},212,{"file":373,"line":392,"context":375},220,{"file":148,"line":394,"context":375},1121,{"file":148,"line":396,"context":375},1123,{"file":148,"line":398,"context":375},1600,{"file":148,"line":400,"context":375},1687,{"file":148,"line":402,"context":375},2793,{"file":148,"line":404,"context":375},2802,{"file":148,"line":406,"context":375},2864,{"file":148,"line":408,"context":375},2883,{"file":148,"line":410,"context":375},2935,{"file":148,"line":412,"context":375},3299,{"file":148,"line":414,"context":375},3552,{"file":148,"line":416,"context":375},3555,{"file":342,"line":418,"context":375},258,{"file":349,"line":420,"context":375},95,{"file":349,"line":257,"context":375},{"file":349,"line":423,"context":375},102,{"file":220,"line":425,"context":375},73,{"file":427,"line":13,"context":375},"options\\inc\\class.redux_filesystem.php",{"file":232,"line":429,"context":375},76,{"file":236,"line":431,"context":375},246,{"file":236,"line":433,"context":375},621,{"file":435,"line":436,"context":375},"options\\inc\\extensions\\customizer\\inc\\customizer_control.php",16,{"file":435,"line":438,"context":375},33,{"file":435,"line":440,"context":375},39,{"file":442,"line":443,"context":375},"options\\inc\\extensions\\customizer\\inc\\customizer_panel.php",114,{"file":442,"line":293,"context":375},{"file":442,"line":446,"context":375},142,{"file":448,"line":449,"context":375},"options\\inc\\extensions\\customizer\\inc\\customizer_section.php",132,{"file":256,"line":451,"context":375},148,{"file":256,"line":453,"context":375},178,{"file":256,"line":455,"context":375},190,{"file":457,"line":458,"context":375},"options\\inc\\extensions\\import_export\\import_export\\field_import_export.php",107,{"file":457,"line":237,"context":375},{"file":457,"line":461,"context":375},133,{"file":457,"line":463,"context":375},139,{"file":457,"line":463,"context":375},{"file":466,"line":467,"context":375},"options\\inc\\extensions\\options_object\\options_object\\field_options_object.php",106,{"file":469,"line":280,"context":375},"options\\inc\\fields\\ace_editor\\field_ace_editor.php",{"file":469,"line":471,"context":375},84,{"file":473,"line":458,"context":375},"options\\inc\\fields\\background\\field_background.php",{"file":473,"line":475,"context":375},116,{"file":473,"line":477,"context":375},117,{"file":473,"line":126,"context":375},{"file":473,"line":380,"context":375},{"file":473,"line":481,"context":375},145,{"file":473,"line":483,"context":375},157,{"file":473,"line":485,"context":375},161,{"file":473,"line":487,"context":375},173,{"file":473,"line":489,"context":375},177,{"file":473,"line":491,"context":375},188,{"file":473,"line":493,"context":375},192,{"file":473,"line":495,"context":375},203,{"file":473,"line":497,"context":375},206,{"file":473,"line":499,"context":375},223,{"file":473,"line":501,"context":375},227,{"file":473,"line":503,"context":375},279,{"file":473,"line":505,"context":375},280,{"file":473,"line":507,"context":375},281,{"file":473,"line":509,"context":375},282,{"file":473,"line":511,"context":375},283,{"file":473,"line":513,"context":375},304,{"file":473,"line":515,"context":375},305,{"file":473,"line":517,"context":375},306,{"file":473,"line":519,"context":375},314,{"file":473,"line":521,"context":375},321,{"file":473,"line":523,"context":375},337,{"file":525,"line":240,"context":375},"options\\inc\\fields\\border\\field_border.php",{"file":525,"line":248,"context":375},{"file":525,"line":528,"context":375},128,{"file":525,"line":530,"context":375},129,{"file":525,"line":532,"context":375},130,{"file":525,"line":534,"context":375},131,{"file":525,"line":536,"context":375},138,{"file":525,"line":481,"context":375},{"file":525,"line":539,"context":375},152,{"file":525,"line":541,"context":375},159,{"file":525,"line":543,"context":375},174,{"file":525,"line":545,"context":375},176,{"file":525,"line":547,"context":375},180,{"file":525,"line":549,"context":375},194,{"file":525,"line":551,"context":375},196,{"file":553,"line":171,"context":375},"options\\inc\\fields\\button_set\\field_button_set.php",{"file":553,"line":555,"context":375},143,{"file":553,"line":557,"context":375},146,{"file":553,"line":559,"context":375},147,{"file":561,"line":269,"context":375},"options\\inc\\fields\\checkbox\\field_checkbox.php",{"file":561,"line":563,"context":375},96,{"file":561,"line":11,"context":375},{"file":561,"line":566,"context":375},101,{"file":561,"line":568,"context":375},105,{"file":561,"line":293,"context":375},{"file":561,"line":571,"context":375},120,{"file":573,"line":574,"context":375},"options\\inc\\fields\\color\\field_color.php",62,{"file":573,"line":576,"context":375},63,{"file":573,"line":425,"context":375},{"file":579,"line":377,"context":375},"options\\inc\\fields\\color_gradient\\field_color_gradient.php",{"file":579,"line":581,"context":375},69,{"file":579,"line":583,"context":375},70,{"file":579,"line":585,"context":375},79,{"file":579,"line":587,"context":375},82,{"file":579,"line":589,"context":375},91,{"file":591,"line":423,"context":375},"options\\inc\\fields\\color_rgba\\field_color_rgba.php",{"file":591,"line":593,"context":375},134,{"file":591,"line":559,"context":375},{"file":591,"line":382,"context":375},{"file":591,"line":597,"context":375},166,{"file":599,"line":576,"context":375},"options\\inc\\fields\\date\\field_date.php",{"file":601,"line":602,"context":375},"options\\inc\\fields\\dimensions\\field_dimensions.php",136,{"file":601,"line":446,"context":375},{"file":601,"line":451,"context":375},{"file":601,"line":606,"context":375},162,{"file":601,"line":608,"context":375},163,{"file":601,"line":453,"context":375},{"file":601,"line":611,"context":375},179,{"file":601,"line":613,"context":375},189,{"file":601,"line":455,"context":375},{"file":601,"line":388,"context":375},{"file":601,"line":617,"context":375},207,{"file":619,"line":620,"context":375},"options\\inc\\fields\\divide\\field_divide.php",61,{"file":622,"line":623,"context":375},"options\\inc\\fields\\gallery\\field_gallery.php",66,{"file":622,"line":625,"context":375},67,{"file":622,"line":425,"context":375},{"file":622,"line":266,"context":375},{"file":622,"line":269,"context":375},{"file":630,"line":631,"context":375},"options\\inc\\fields\\image_select\\field_image_select.php",175,{"file":630,"line":489,"context":375},{"file":630,"line":611,"context":375},{"file":630,"line":635,"context":375},181,{"file":630,"line":637,"context":375},185,{"file":639,"line":95,"context":375},"options\\inc\\fields\\link_color\\field_link_color.php",{"file":639,"line":50,"context":375},{"file":639,"line":363,"context":375},{"file":639,"line":423,"context":375},{"file":639,"line":467,"context":375},{"file":645,"line":382,"context":375},"options\\inc\\fields\\media\\field_media.php",{"file":645,"line":483,"context":375},{"file":645,"line":648,"context":375},158,{"file":645,"line":541,"context":375},{"file":645,"line":651,"context":375},160,{"file":645,"line":485,"context":375},{"file":645,"line":606,"context":375},{"file":645,"line":491,"context":375},{"file":645,"line":613,"context":375},{"file":645,"line":455,"context":375},{"file":645,"line":658,"context":375},198,{"file":645,"line":660,"context":375},205,{"file":662,"line":374,"context":375},"options\\inc\\fields\\multi_text\\field_multi_text.php",{"file":662,"line":37,"context":375},{"file":662,"line":665,"context":375},72,{"file":662,"line":276,"context":375},{"file":662,"line":585,"context":375},{"file":662,"line":669,"context":375},88,{"file":662,"line":35,"context":375},{"file":662,"line":420,"context":375},{"file":673,"line":674,"context":375},"options\\inc\\fields\\palette\\field_palette.php",57,{"file":673,"line":620,"context":375},{"file":673,"line":574,"context":375},{"file":678,"line":283,"context":375},"options\\inc\\fields\\password\\field_password.php",{"file":678,"line":335,"context":375},{"file":678,"line":681,"context":375},103,{"file":683,"line":310,"context":375},"options\\inc\\fields\\radio\\field_radio.php",{"file":683,"line":685,"context":375},45,{"file":683,"line":687,"context":375},46,{"file":683,"line":221,"context":375},{"file":690,"line":691,"context":375},"options\\inc\\fields\\raw\\field_raw.php",43,{"file":690,"line":685,"context":375},{"file":694,"line":257,"context":375},"options\\inc\\fields\\section\\field_section.php",{"file":694,"line":363,"context":375},{"file":697,"line":35,"context":375},"options\\inc\\fields\\select\\field_select.php",{"file":697,"line":699,"context":375},111,{"file":697,"line":477,"context":375},{"file":697,"line":593,"context":375},{"file":697,"line":481,"context":375},{"file":704,"line":581,"context":375},"options\\inc\\fields\\select_image\\field_select_image.php",{"file":704,"line":425,"context":375},{"file":704,"line":707,"context":375},108,{"file":704,"line":593,"context":375},{"file":704,"line":602,"context":375},{"file":704,"line":711,"context":375},144,{"file":713,"line":714,"context":375},"options\\inc\\fields\\slider\\field_slider.php",313,{"file":713,"line":716,"context":375},325,{"file":713,"line":718,"context":375},338,{"file":713,"line":720,"context":375},342,{"file":713,"line":160,"context":375},{"file":713,"line":723,"context":375},370,{"file":713,"line":189,"context":375},{"file":713,"line":726,"context":375},387,{"file":713,"line":728,"context":375},397,{"file":713,"line":730,"context":375},405,{"file":732,"line":290,"context":375},"options\\inc\\fields\\slides\\field_slides.php",{"file":732,"line":240,"context":375},{"file":732,"line":293,"context":375},{"file":732,"line":571,"context":375},{"file":732,"line":737,"context":375},126,{"file":732,"line":461,"context":375},{"file":732,"line":740,"context":375},137,{"file":732,"line":557,"context":375},{"file":732,"line":184,"context":375},{"file":732,"line":651,"context":375},{"file":732,"line":485,"context":375},{"file":732,"line":606,"context":375},{"file":732,"line":608,"context":375},{"file":732,"line":748,"context":375},164,{"file":732,"line":750,"context":375},165,{"file":732,"line":597,"context":375},{"file":732,"line":753,"context":375},167,{"file":732,"line":543,"context":375},{"file":732,"line":453,"context":375},{"file":732,"line":547,"context":375},{"file":732,"line":491,"context":375},{"file":732,"line":455,"context":375},{"file":732,"line":549,"context":375},{"file":732,"line":761,"context":375},201,{"file":732,"line":660,"context":375},{"file":732,"line":764,"context":375},213,{"file":732,"line":766,"context":375},214,{"file":732,"line":768,"context":375},215,{"file":732,"line":770,"context":375},216,{"file":732,"line":772,"context":375},217,{"file":732,"line":774,"context":375},218,{"file":732,"line":776,"context":375},219,{"file":732,"line":392,"context":375},{"file":732,"line":499,"context":375},{"file":780,"line":62,"context":375},"options\\inc\\fields\\sortable\\field_sortable.php",{"file":780,"line":707,"context":375},{"file":780,"line":293,"context":375},{"file":780,"line":126,"context":375},{"file":780,"line":461,"context":375},{"file":786,"line":748,"context":375},"options\\inc\\fields\\sorter\\field_sorter.php",{"file":788,"line":637,"context":375},"options\\inc\\fields\\spacing\\field_spacing.php",{"file":788,"line":491,"context":375},{"file":788,"line":791,"context":375},191,{"file":788,"line":793,"context":375},195,{"file":788,"line":795,"context":375},199,{"file":788,"line":495,"context":375},{"file":788,"line":617,"context":375},{"file":788,"line":768,"context":375},{"file":788,"line":800,"context":375},222,{"file":788,"line":802,"context":375},229,{"file":788,"line":804,"context":375},236,{"file":788,"line":806,"context":375},245,{"file":788,"line":431,"context":375},{"file":788,"line":809,"context":375},261,{"file":788,"line":811,"context":375},264,{"file":813,"line":814,"context":375},"options\\inc\\fields\\spinner\\field_spinner.php",55,{"file":813,"line":816,"context":375},56,{"file":818,"line":221,"context":375},"options\\inc\\fields\\switch\\field_switch.php",{"file":818,"line":224,"context":375},{"file":818,"line":227,"context":375},{"file":822,"line":823,"context":375},"options\\inc\\fields\\text\\field_text.php",64,{"file":822,"line":374,"context":375},{"file":822,"line":37,"context":375},{"file":827,"line":374,"context":375},"options\\inc\\fields\\textarea\\field_textarea.php",{"file":827,"line":374,"context":375},{"file":830,"line":831,"context":375},"options\\inc\\fields\\typography\\field_typography.php",169,{"file":830,"line":631,"context":375},{"file":830,"line":834,"context":375},182,{"file":830,"line":836,"context":375},225,{"file":830,"line":838,"context":375},226,{"file":830,"line":840,"context":375},228,{"file":830,"line":842,"context":375},231,{"file":830,"line":844,"context":375},234,{"file":830,"line":846,"context":375},243,{"file":830,"line":848,"context":375},253,{"file":830,"line":418,"context":375},{"file":830,"line":851,"context":375},259,{"file":830,"line":853,"context":375},263,{"file":830,"line":855,"context":375},273,{"file":830,"line":857,"context":375},274,{"file":830,"line":859,"context":375},278,{"file":830,"line":503,"context":375},{"file":830,"line":507,"context":375},{"file":830,"line":863,"context":375},296,{"file":830,"line":262,"context":375},{"file":830,"line":521,"context":375},{"file":830,"line":867,"context":375},322,{"file":830,"line":869,"context":375},323,{"file":830,"line":716,"context":375},{"file":830,"line":872,"context":375},333,{"file":830,"line":720,"context":375},{"file":830,"line":875,"context":375},343,{"file":830,"line":877,"context":375},344,{"file":830,"line":879,"context":375},357,{"file":830,"line":172,"context":375},{"file":830,"line":882,"context":375},366,{"file":830,"line":884,"context":375},367,{"file":830,"line":886,"context":375},380,{"file":830,"line":888,"context":375},388,{"file":830,"line":890,"context":375},389,{"file":830,"line":198,"context":375},{"file":830,"line":893,"context":375},400,{"file":830,"line":895,"context":375},408,{"file":830,"line":897,"context":375},409,{"file":830,"line":899,"context":375},410,{"file":830,"line":901,"context":375},423,{"file":830,"line":903,"context":375},432,{"file":830,"line":905,"context":375},433,{"file":830,"line":907,"context":375},434,{"file":830,"line":909,"context":375},441,{"file":830,"line":911,"context":375},442,{"file":830,"line":913,"context":375},443,{"file":830,"line":915,"context":375},450,{"file":830,"line":917,"context":375},451,{"file":830,"line":919,"context":375},452,{"file":830,"line":921,"context":375},459,{"file":830,"line":923,"context":375},460,{"file":830,"line":925,"context":375},461,{"file":830,"line":927,"context":375},478,{"file":830,"line":929,"context":375},479,{"file":830,"line":931,"context":375},480,{"file":830,"line":933,"context":375},524,{"file":279,"line":935,"context":375},187,{"file":279,"line":660,"context":375},{"file":279,"line":392,"context":375},{"file":279,"line":800,"context":375},{"file":279,"line":836,"context":375},{"file":279,"line":941,"context":375},232,{"file":279,"line":844,"context":375},{"file":279,"line":944,"context":375},242,{"file":279,"line":369,"context":375},{"file":947,"line":948,"context":375},"options\\inc\\welcome\\views\\credits.php",18,{"file":950,"line":283,"context":375},"options\\inc\\welcome\\views\\status_report.php",{"file":950,"line":62,"context":375},{"file":950,"line":681,"context":375},{"file":950,"line":443,"context":375},{"file":950,"line":530,"context":375},{"file":950,"line":956,"context":375},140,{"file":950,"line":958,"context":375},151,{"file":950,"line":750,"context":375},{"file":950,"line":545,"context":375},{"file":950,"line":491,"context":375},{"file":950,"line":795,"context":375},{"file":950,"line":764,"context":375},{"file":950,"line":392,"context":375},{"file":950,"line":941,"context":375},{"file":950,"line":846,"context":375},{"file":950,"line":418,"context":375},{"file":950,"line":505,"context":375},{"file":950,"line":970,"context":375},307,{"file":950,"line":972,"context":375},318,{"file":950,"line":974,"context":375},335,{"file":950,"line":976,"context":375},346,{"file":950,"line":978,"context":375},356,{"file":950,"line":980,"context":375},361,{"file":950,"line":882,"context":375},{"file":950,"line":983,"context":375},371,{"file":950,"line":985,"context":375},376,{"file":950,"line":888,"context":375},{"file":950,"line":893,"context":375},{"file":950,"line":730,"context":375},{"file":950,"line":990,"context":375},412,{"file":950,"line":992,"context":375},416,{"file":950,"line":994,"context":375},550,{"file":950,"line":996,"context":375},553,{"file":950,"line":998,"context":375},579,{"file":950,"line":1000,"context":375},587,{"file":950,"line":1002,"context":375},595,{"file":950,"line":1004,"context":375},600,{"file":950,"line":1006,"context":375},605,{"file":950,"line":1008,"context":375},610,{"file":950,"line":1010,"context":375},615,{"file":950,"line":1012,"context":375},620,{"file":950,"line":1014,"context":375},626,{"file":950,"line":1016,"context":375},631,{"file":950,"line":1018,"context":375},636,{"file":950,"line":1020,"context":375},645,{"file":950,"line":1022,"context":375},650,{"file":950,"line":1024,"context":375},657,{"file":950,"line":1026,"context":375},676,{"file":950,"line":1028,"context":375},682,{"file":950,"line":1030,"context":375},711,{"file":950,"line":1032,"context":375},716,{"file":950,"line":1034,"context":375},722,{"file":950,"line":1036,"context":375},729,{"file":950,"line":1038,"context":375},734,{"file":950,"line":1040,"context":375},747,{"file":950,"line":1042,"context":375},754,{"file":950,"line":1044,"context":375},761,{"file":1046,"line":307,"context":375},"options\\inc\\welcome\\views\\support.php",{"file":1046,"line":593,"context":375},{"file":303,"line":467,"context":375},{"file":303,"line":1050,"context":375},154,{"file":303,"line":384,"context":375},{"file":303,"line":1053,"context":375},186,{"file":1055,"line":1056,"context":375},"options\\templates\\panel\\container.tpl.php",24,{"file":1055,"line":1058,"context":375},28,{"file":1055,"line":438,"context":375},{"file":1055,"line":221,"context":375},{"file":1062,"line":438,"context":375},"options\\templates\\panel\\content.tpl.php",{"file":1064,"line":1065,"context":375},"options\\templates\\panel\\menu_container.tpl.php",31,{"file":318,"line":814,"context":375},15,[],[1070,1106,1122,1146,1157,1176,1190],{"entryPoint":1071,"graph":1072,"unsanitizedCount":33,"severity":1105},"save_network_page (options\\framework.php:581)",{"nodes":1073,"edges":1100},[1074,1079,1083,1089,1093,1096],{"id":1075,"type":1076,"label":1077,"file":148,"line":1078},"n0","source","$_POST[?]",583,{"id":1080,"type":1081,"label":1082,"file":148,"line":1078},"n1","transform","→ _validate_options()",{"id":1084,"type":1085,"label":1086,"file":148,"line":1087,"wp_function":1088},"n2","sink","wp_remote_get() [SSRF]",2577,"wp_remote_get",{"id":1090,"type":1076,"label":1091,"file":148,"line":1092},"n3","$_POST",586,{"id":1094,"type":1081,"label":1095,"file":148,"line":1092},"n4","→ set_options()",{"id":1097,"type":1085,"label":1098,"file":148,"line":71,"wp_function":1099},"n5","update_option() [Settings Manipulation]","update_option",[1101,1102,1103,1104],{"from":1075,"to":1080,"sanitized":341},{"from":1080,"to":1084,"sanitized":341},{"from":1090,"to":1094,"sanitized":341},{"from":1094,"to":1097,"sanitized":341},"medium",{"entryPoint":1107,"graph":1108,"unsanitizedCount":33,"severity":1105},"ajax_save (options\\framework.php:2791)",{"nodes":1109,"edges":1117},[1110,1112,1113,1114,1115,1116],{"id":1075,"type":1076,"label":1091,"file":148,"line":1111},2850,{"id":1080,"type":1081,"label":1095,"file":148,"line":1111},{"id":1084,"type":1085,"label":1098,"file":148,"line":71,"wp_function":1099},{"id":1090,"type":1076,"label":1091,"file":148,"line":1111},{"id":1094,"type":1081,"label":1082,"file":148,"line":1111},{"id":1097,"type":1085,"label":1086,"file":148,"line":1087,"wp_function":1088},[1118,1119,1120,1121],{"from":1075,"to":1080,"sanitized":341},{"from":1080,"to":1084,"sanitized":341},{"from":1090,"to":1094,"sanitized":341},{"from":1094,"to":1097,"sanitized":341},{"entryPoint":1123,"graph":1124,"unsanitizedCount":14,"severity":1105},"\u003Cframework> (options\\framework.php:0)",{"nodes":1125,"edges":1139},[1126,1127,1128,1129,1131,1132,1133,1135,1137],{"id":1075,"type":1076,"label":1077,"file":148,"line":1078},{"id":1080,"type":1081,"label":1082,"file":148,"line":1078},{"id":1084,"type":1085,"label":1086,"file":148,"line":1087,"wp_function":1088},{"id":1090,"type":1076,"label":1130,"file":148,"line":1092},"$_POST (x2)",{"id":1094,"type":1081,"label":1095,"file":148,"line":1092},{"id":1097,"type":1085,"label":1098,"file":148,"line":71,"wp_function":1099},{"id":1134,"type":1076,"label":1091,"file":148,"line":1111},"n6",{"id":1136,"type":1081,"label":1082,"file":148,"line":1111},"n7",{"id":1138,"type":1085,"label":1086,"file":148,"line":1087,"wp_function":1088},"n8",[1140,1141,1142,1143,1144,1145],{"from":1075,"to":1080,"sanitized":341},{"from":1080,"to":1084,"sanitized":341},{"from":1090,"to":1094,"sanitized":341},{"from":1094,"to":1097,"sanitized":341},{"from":1134,"to":1136,"sanitized":341},{"from":1136,"to":1138,"sanitized":341},{"entryPoint":1147,"graph":1148,"unsanitizedCount":33,"severity":1105},"adminNotices (options\\inc\\class.redux_admin_notices.php:45)",{"nodes":1149,"edges":1155},[1150,1152],{"id":1075,"type":1076,"label":1151,"file":349,"line":276},"$_GET (x2)",{"id":1080,"type":1085,"label":1153,"file":349,"line":420,"wp_function":1154},"echo() [XSS]","echo",[1156],{"from":1075,"to":1080,"sanitized":341},{"entryPoint":1158,"graph":1159,"unsanitizedCount":28,"severity":1175},"proxy (options\\inc\\class.p.php:11)",{"nodes":1160,"edges":1171},[1161,1163,1166,1168,1169,1170],{"id":1075,"type":1076,"label":1162,"file":342,"line":935},"$_GET",{"id":1080,"type":1085,"label":1164,"file":342,"line":840,"wp_function":1165},"wp_remote_request() [SSRF]","wp_remote_request",{"id":1084,"type":1076,"label":1167,"file":342,"line":497},"$_SERVER",{"id":1090,"type":1085,"label":1164,"file":342,"line":840,"wp_function":1165},{"id":1094,"type":1076,"label":1162,"file":342,"line":935},{"id":1097,"type":1085,"label":1153,"file":342,"line":418,"wp_function":1154},[1172,1173,1174],{"from":1075,"to":1080,"sanitized":339},{"from":1084,"to":1090,"sanitized":339},{"from":1094,"to":1097,"sanitized":339},"low",{"entryPoint":1177,"graph":1178,"unsanitizedCount":28,"severity":1175},"\u003Cclass.p> (options\\inc\\class.p.php:0)",{"nodes":1179,"edges":1186},[1180,1181,1182,1183,1184,1185],{"id":1075,"type":1076,"label":1162,"file":342,"line":935},{"id":1080,"type":1085,"label":1164,"file":342,"line":840,"wp_function":1165},{"id":1084,"type":1076,"label":1167,"file":342,"line":497},{"id":1090,"type":1085,"label":1164,"file":342,"line":840,"wp_function":1165},{"id":1094,"type":1076,"label":1162,"file":342,"line":935},{"id":1097,"type":1085,"label":1153,"file":342,"line":418,"wp_function":1154},[1187,1188,1189],{"from":1075,"to":1080,"sanitized":339},{"from":1084,"to":1090,"sanitized":339},{"from":1094,"to":1097,"sanitized":339},{"entryPoint":1191,"graph":1192,"unsanitizedCount":28,"severity":1175},"\u003Cclass.redux_admin_notices> (options\\inc\\class.redux_admin_notices.php:0)",{"nodes":1193,"edges":1196},[1194,1195],{"id":1075,"type":1076,"label":1151,"file":349,"line":276},{"id":1080,"type":1085,"label":1153,"file":349,"line":420,"wp_function":1154},[1197],{"from":1075,"to":1080,"sanitized":339},{"summary":1199,"deductions":1200},"The \"stylish-links\" v1.0.3 plugin presents a mixed security posture. On the positive side, it demonstrates good practices by exclusively using prepared statements for all its SQL queries, and it has a clean vulnerability history with no known CVEs. The static analysis also indicates that all identified entry points, including AJAX handlers and cron events, appear to have authorization checks, which is a significant strength.  However, there are notable areas of concern.  The plugin exhibits a concerning percentage of improperly escaped output (50%), which could potentially lead to cross-site scripting (XSS) vulnerabilities if user-supplied data is not handled carefully. Furthermore, the taint analysis revealed four flows with unsanitized paths, and while no critical or high severity issues were flagged, this warrants further investigation as it could indicate potential for path traversal or other file-related vulnerabilities. The lack of capability checks is also a weakness, as it relies solely on nonce checks for AJAX handlers. While the absence of serious vulnerabilities historically is encouraging, the presence of these code-level risks, particularly unescaped output and unsanitized paths, means the plugin is not entirely without risk.",[1201,1203,1205],{"reason":1202,"points":343},"Unescaped output (50%)",{"reason":1204,"points":51},"Taint flows with unsanitized paths (4)",{"reason":1206,"points":231},"No capability checks on AJAX handlers","2026-03-16T20:43:25.948Z",{"wat":1209,"direct":1218},{"assetPaths":1210,"generatorPatterns":1215,"scriptPaths":1216,"versionParams":1217},[1211,1212,1213,1214],"\u002Fwp-content\u002Fplugins\u002Fstylish-links\u002Fcss\u002Fsl.css","\u002Fwp-content\u002Fplugins\u002Fstylish-links\u002Foptions\u002Fassets\u002Fcss\u002Fvendor\u002Felusive-icons\u002Felusive-icons.css","\u002Fwp-content\u002Fplugins\u002Fstylish-links\u002Fjs\u002Fsl-admin.js","\u002Fwp-content\u002Fplugins\u002Fstylish-links\u002Fcss\u002Fsl-admin.css",[],[1213],[],{"cssClasses":1219,"htmlComments":1222,"htmlAttributes":1223,"restEndpoints":1226,"jsGlobals":1227,"shortcodeOutput":1228},[1220,1221],"stylish-link","sl-hide-outline-hover",[],[1224,1225],"class=\"stylish-link\"","class=\"sl-hide-outline-hover\"",[],[],[]]