[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fFVZnqOUfzwY80ph3zDOZvpXPyq-v8tQLyJcLb-d3CBQ":3,"$fDWT4iQDsIwhu79i6HRYqPrrYAJeWAQT1NMIjJAE8Pxk":349,"$fg0Czq3b-veyyUs3BV7X9rteWWLrwopX3lYXspFP9EhE":354},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":22,"download_link":23,"security_score":24,"vuln_count":11,"unpatched_count":11,"last_vuln_date":25,"fetched_at":26,"discovery_status":27,"vulnerabilities":28,"developer":29,"crawl_stats":25,"alternatives":35,"analysis":148,"fingerprints":327},"fishdan-jsonmaker","fishdan Jsonmaker","0.2.8","Dan","https:\u002F\u002Fprofiles.wordpress.org\u002Ffishdan\u002F","\u003Cp>fishdan Jsonmaker lets administrators curate a nested tree of links directly on the front end. Drop the \u003Ccode>[jsonmaker]\u003C\u002Fcode> shortcode onto a page, expand nodes to add children, rename or remove items inline, and fetch any branch at \u003Ccode>\u002Fjson\u002F\u003Cslug>.json\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Highlights\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Inline “Add”, “Edit”, and “Delete” controls for administrators (capability \u003Ccode>jsonmaker_manage\u003C\u002Fcode>).\u003C\u002Fli>\n\u003Cli>Clean JSON endpoint for each node (\u003Ccode>\u002Fjson\u002F\u003Cslug>.json\u003C\u002Fcode>).\u003C\u002Fli>\n\u003Cli>Store either URLs or plain text values; an empty value keeps a node as a container.\u003C\u002Fli>\n\u003Cli>All data persists in a single WordPress option—no custom tables.\u003C\u002Fli>\n\u003C\u002Ful>\n","Manage hierarchical link collections via a shortcode, edit them inline, and expose any node as JSON.",0,369,"2025-11-20T18:49:00.000Z","6.9.5","6.0","7.4",[18,19,20,21],"json","links","navigation","shortcode","https:\u002F\u002Fwww.fishdan.com\u002Fjsonmaker","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffishdan-jsonmaker.0.2.8.zip",100,null,"2026-07-22T17:31:50.256Z","no_bundle",[],{"slug":30,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":11,"avg_security_score":24,"avg_patch_time_days":32,"trust_score":33,"computed_at":34},"fishdan",2,30,94,"2026-08-29T21:00:10.159Z",[36,61,83,104,128],{"slug":37,"name":38,"version":39,"author":40,"author_profile":41,"description":42,"short_description":43,"active_installs":44,"downloaded":45,"rating":46,"num_ratings":47,"last_updated":48,"tested_up_to":49,"requires_at_least":50,"requires_php":51,"tags":52,"homepage":56,"download_link":57,"security_score":58,"vuln_count":59,"unpatched_count":11,"last_vuln_date":60,"fetched_at":26},"luckywp-table-of-contents","LuckyWP Table of Contents","2.1.14","LuckyWP","https:\u002F\u002Fprofiles.wordpress.org\u002Ftheluckywp\u002F","\u003Cp>Creates SEO-friendly table of contents for your posts, pages or custom post types. Great customizable appearance.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Automatical insertion a table of contents (configure post types and position).\u003C\u002Fli>\n\u003Cli>SEO-friendly: table of contents code is ready to use by Google for snippets on result page.\u003C\u002Fli>\n\u003Cli>Insert by shortcode, Gutenberg block or widget.\u003C\u002Fli>\n\u003Cli>Button on toolbar of the classic editor.\u003C\u002Fli>\n\u003Cli>Gutenberg block into “Common Blocks”.\u003C\u002Fli>\n\u003Cli>Setting the minimum number of headings to display table of contents.\u003C\u002Fli>\n\u003Cli>Setting the depth of headings for table of contents.\u003C\u002Fli>\n\u003Cli>Skip headings by level or text.\u003C\u002Fli>\n\u003Cli>Hierarchical or linear view.\u003C\u002Fli>\n\u003Cli>Numeration items: decimal or roman numbers in order or nested.\u003C\u002Fli>\n\u003Cli>Customizable appearance: width, float, title font size and weight, items font size, colors.\u003C\u002Fli>\n\u003Cli>Color schemes (dark, light, white, transparent, inherit from theme) and the ability to override colors.\u003C\u002Fli>\n\u003Cli>Toggle Show\u002FHide (optionally)\u003C\u002Fli>\n\u003Cli>Customizable labels.\u003C\u002Fli>\n\u003Cli>Smooth scroll (optionally).\u003C\u002Fli>\n\u003Cli>Setting offset top for smooth scroll.\u003C\u002Fli>\n\u003Cli>Wrap table of contents with \u003C!–noindex–> tag (optionally).\u003C\u002Fli>\n\u003Cli>Pretty hash in URL (like \u003Ccode>example.com\u002Ffaq\u002F#how_do_this\u003C\u002Fcode>).\u003C\u002Fli>\n\u003Cli>RTL support.\u003C\u002Fli>\n\u003Cli>Available override global settings for a particular post.\u003C\u002Fli>\n\u003Cli>Highly compatible with WordPress themes and plugins.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Auto Insert\u003C\u002Fh4>\n\u003Cp>For automatical insertion a table of contents in a posts, select option “Auto Insert Table of Contents” in the plugin settings (tab “Auto Insert”).\u003C\u002Fp>\n\u003Cp>Supported positions:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>before first heading;\u003C\u002Fli>\n\u003Cli>after first heading;\u003C\u002Fli>\n\u003Cli>after first block (paragraph or heading);\u003C\u002Fli>\n\u003Cli>top of post content;\u003C\u002Fli>\n\u003Cli>bottom of post content.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You can also select post types to which the table of contents will be automatically added.\u003C\u002Fp>\n\u003Ch4>Manual Insert\u003C\u002Fh4>\n\u003Cp>For manual insertion a table of content in a posts, use one of the ways:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>button “Table of Contents” on toolbar in classic editor;\u003C\u002Fli>\n\u003Cli>gutenberg block “Table of Contents”;\u003C\u002Fli>\n\u003Cli>shortcode \u003Ccode>[lwptoc]\u003C\u002Fcode>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Pretty hash in URL\u003C\u002Fh4>\n\u003Cp>By default, hash generated as heading text (for example, \u003Ccode>#How_Do_This\u003C\u002Fcode>). You can change hash format in global settings, tab “Misc.”.\u003C\u002Fp>\n\u003Cp>For non-English websites it is recommended to enable the \u003Ccode>Intl\u003C\u002Fcode> PHP extension.\u003C\u002Fp>\n\u003Ch3>Compatibility\u003C\u002Fh3>\n\u003Cp>LuckyWP Table of Contents was successfully tested with the following plugins:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Elementor Page Builder\u003C\u002Fli>\n\u003Cli>Beaver Builder and Beaver Builder Themer Add-On\u003C\u002Fli>\n\u003Cli>WPBakery Page Builder\u003C\u002Fli>\n\u003Cli>Oxygen\u003C\u002Fli>\n\u003Cli>WordPress Multilingual Plugin (WPML), \u003Ca href=\"https:\u002F\u002Fwpml.org\u002Fplugin\u002Fluckywp-table-of-contents\u002F\" rel=\"nofollow ugc\">officially confirmed\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Rank Math, \u003Ca href=\"https:\u002F\u002Frankmath.com\u002Fcompatibility\u002Fluckywp-table-of-contents\u002F\" rel=\"nofollow ugc\">officially confirmed\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>WP Rocket\u003C\u002Fli>\n\u003Cli>Toolset Views and Toolset Access\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Hooks\u003C\u002Fh3>\n\u003Ch4>Filters \u003Ccode>lwptoc_before\u003C\u002Fcode>, \u003Ccode>lwptoc_after\u003C\u002Fcode>\u003C\u002Fh4>\n\u003Cp>Use for add custom HTML before\u002Fafter the table of contents.\u003C\u002Fp>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('lwptoc_before', function ($before) {\n    return '\u003Cp>Example text before TOC.\u003C\u002Fp>' . $before;\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Filter \u003Ccode>lwptoc_shortcode_tag\u003C\u002Fcode>\u003C\u002Fh4>\n\u003Cp>Use this filter for change shortcode tag name \u003Ccode>[lwptoc]\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('lwptoc_shortcode_tag', function ($tag) {\n    return 'toc';\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Filter \u003Ccode>lwptoc_heading_id\u003C\u002Fcode>\u003C\u002Fh4>\n\u003Cp>Use for modify heading ID.\u003C\u002Fp>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('lwptoc_heading_id', function ($id, $label) {\n    return $id;\n}, 10, 2);\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Creates SEO-friendly table of contents for your posts\u002Fpages. Works automatically or manually (via shortcode, Gutenberg block or widget).",100000,1131696,98,884,"2025-04-16T10:13:00.000Z","6.7.5","4.7","5.6.20",[19,20,53,54,55],"seo","table-of-contents","toc","https:\u002F\u002Ftheluckywp.com\u002Fproduct\u002Ftable-of-contents\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fluckywp-table-of-contents.2.1.14.zip",89,5,"2025-04-02 00:00:00",{"slug":62,"name":63,"version":15,"author":64,"author_profile":65,"description":66,"short_description":67,"active_installs":68,"downloaded":69,"rating":70,"num_ratings":33,"last_updated":71,"tested_up_to":72,"requires_at_least":73,"requires_php":74,"tags":75,"homepage":79,"download_link":80,"security_score":70,"vuln_count":81,"unpatched_count":11,"last_vuln_date":82,"fetched_at":26},"export-all-urls","Export All URLs","Atlas Gondal","https:\u002F\u002Fprofiles.wordpress.org\u002Fatlas_gondal\u002F","\u003Cp>This plugin will add a page called “Export All URLs” under Tools. You can navigate there and can extract data from your site. You can export Posts:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>ID\u003C\u002Fli>\n\u003Cli>Title\u003C\u002Fli>\n\u003Cli>URL\u003C\u002Fli>\n\u003Cli>Status\u003C\u002Fli>\n\u003Cli>Categories\u003C\u002Fli>\n\u003Cli>Category URLs\u003C\u002Fli>\n\u003Cli>Tags\u003C\u002Fli>\n\u003Cli>Tag URLs\u003C\u002Fli>\n\u003Cli>Author\u003C\u002Fli>\n\u003Cli>Published Date\u003C\u002Fli>\n\u003Cli>Modified Date\u003C\u002Fli>\n\u003Cli>Word Count\u003C\u002Fli>\n\u003Cli>Excerpt\u003C\u002Fli>\n\u003Cli>Featured Image URL\u003C\u002Fli>\n\u003Cli>Comment Count\u003C\u002Fli>\n\u003Cli>Slug\u003C\u002Fli>\n\u003Cli>Post Type\u003C\u002Fli>\n\u003Cli>Language (WPML \u002F Polylang)\u003C\u002Fli>\n\u003Cli>Translation URLs (WPML \u002F Polylang)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Fields are organized into collapsible groups with quick-select presets, so the picker stays tidy even with this many columns. The data can be filtered by post type, post status, date range, and author before extraction, and the plugin also provides the option to export using a specific post range. Output can be displayed in the dashboard or downloaded as a CSV or JSON file.\u003C\u002Fp>\n\u003Ch3>When we need this plugin?\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>To check all URLs of your website\u003C\u002Fli>\n\u003Cli>During a migration (and to confirm everything was moved across)\u003C\u002Fli>\n\u003Cli>During a security audit, or to monitor the site for unauthorized or injected content (Snapshots)\u003C\u002Fli>\n\u003Cli>To share all URLs with your SEO consultant\u003C\u002Fli>\n\u003Cli>For handling 301 redirects in htaccess\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Customizable Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Choose exactly which columns to export, grouped with quick-select presets\u003C\u002Fli>\n\u003Cli>Download as CSV or JSON, or display the results in a paginated table\u003C\u002Fli>\n\u003Cli>Filter by post type, post status, author and date range\u003C\u002Fli>\n\u003Cli>Export a specific post range (helpful on very large sites)\u003C\u002Fli>\n\u003Cli>Exclude the domain from URLs (handy when comparing results after a migration)\u003C\u002Fli>\n\u003Cli>Multilingual support for WPML and Polylang (export all languages or just the default)\u003C\u002Fli>\n\u003Cli>Custom or randomly generated download file name\u003C\u002Fli>\n\u003Cli>Snapshots: capture your site and detect what was added, removed or changed over time\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>System requirements\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>PHP version 5.4 or higher\u003C\u002Fli>\n\u003Cli>WordPress version 3.6 or higher\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>If you encounter any bugs, please report them to me, and I will strive to resolve them as quickly as possible!\u003C\u002Fp>\n\u003Ch3>Contact\u003C\u002Fh3>\n\u003Cp>For further information please send me an \u003Ca href=\"https:\u002F\u002FAtlasGondal.com\u002Fcontact-me\u002F?utm_source=self&utm_medium=wp&utm_campaign=export-all-urls&utm_term=plugin-description\" rel=\"nofollow ugc\">email\u003C\u002Fa>.\u003C\u002Fp>\n","Export post, page and custom post type data to CSV or JSON, and snapshot your site to detect added, removed or changed content.",50000,808269,92,"2026-06-25T05:27:00.000Z","7.0.2","3.6","5.4",[76,77,18,19,78],"csv","export","urls","https:\u002F\u002FAtlasGondal.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fexport-all-urls.6.0.zip",7,"2026-04-02 00:00:00",{"slug":84,"name":85,"version":73,"author":86,"author_profile":87,"description":88,"short_description":89,"active_installs":90,"downloaded":91,"rating":46,"num_ratings":92,"last_updated":93,"tested_up_to":14,"requires_at_least":94,"requires_php":95,"tags":96,"homepage":101,"download_link":102,"security_score":46,"vuln_count":31,"unpatched_count":11,"last_vuln_date":103,"fetched_at":26},"yada-wiki","Yada Wiki","dmccan","https:\u002F\u002Fprofiles.wordpress.org\u002Fdmccan\u002F","\u003Cp>Yada Wiki provides a wiki post type, custom tags and categories, an index, and a table of contents option.  The plugin allows you to link your wiki pages together using the wiki page titles.\u003C\u002Fp>\n\u003Cp>Note: As of Yada Wiki 3.6, for current users who have been manually adding HTML tags or special characters to their shortcodes, for security reasons these must be filtered on save. An exception was added for the EM tag because I saw support tickets where users said they were using this tag.  If you have been manually editing the shortcodes then you may want to test before installing version 3.6.\u003C\u002Fp>\n\u003Cp>There are two easy to use shortcode buttons available on the editor toolbar.  Rather than try to remember the shortcodes and their values, it is recommended that you use these buttons to generate the shortcodes for you.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>The “Add Wiki Link” Button:\u003C\u002Fstrong>\u003Cbr \u002F>\nWhen you click the first button, the add wiki link button, a pop-up opens where you enter the title of the wiki page you are linking to in the “Link” text box.  You can optionally enter text into the “Show” text box that you want to show for the link, or leave that blank to just show the title.  There is the ability to manually add an “anchor” parameter for on-page links.  Please see the documentation for more information on this.\u003C\u002Fp>\n\u003Cp>When you click “OK”, a shortcode is inserted into your edit window at the cursor location.  For example to link to a wiki page called “How To Make Iced Coffee” but show the text for the link as “How To Make My Favorite Drink”:\u003C\u002Fp>\n\u003Cp>[yadawiki link=”How To Make Iced Coffee” show=”How To Make My Favorite Drink”]\u003C\u002Fp>\n\u003Cp>You use Wiki Link shortcodes to create the structure of linked pages.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>The “Add Wiki Listing” Button:\u003C\u002Fstrong>\u003Cbr \u002F>\nThe Add Wiki Listing button gives you three options for adding some collected output.\u003C\u002Fp>\n\u003Cp>\u003Cem>Output TOC Page\u003C\u002Fem>\u003Cbr \u002F>\nThe first option inserts a shortcode that will output your “TOC” page. With Yada Wiki, you can create a special wiki page with the title of “TOC” that will serve as the table of contents for your wiki.  You can use wiki links and style the table of contents as you like in the post editor. Selecting this option allows you to embed the TOC page in another page. For example:\u003C\u002Fp>\n\u003Cp>[yadawikitoc show_toc=”true”]\u003C\u002Fp>\n\u003Cp>\u003Cem>Output Wiki Category\u003C\u002Fem>\u003Cbr \u002F>\nThe second option inserts a list of the wiki pages for one of your wiki categories. You can optionally choose to output the list by title or by creation date.  For example:\u003C\u002Fp>\n\u003Cp>[yadawikitoc show_toc=”true” category=”Drinks” order=”title”]\u003C\u002Fp>\n\u003Cp>\u003Cem>Output Index\u003C\u002Fem>\u003Cbr \u002F>\nThe third option inserts a grid of your wiki pages or categories.  The output is in a responsive table-like grid and you can choose the number of columns.  For example, to output wiki pages:\u003C\u002Fp>\n\u003Cp>[yadawiki-index type=”pages” columns=”4″]\u003C\u002Fp>\n\u003Cp>An example for listing a single wiki category by title:\u003C\u002Fp>\n\u003Cp>[yadawiki-index type=”category-name” category=”States” columns=”3″]\u003C\u002Fp>\n\u003Cp>An example for listing all wiki categories by title:\u003C\u002Fp>\n\u003Cp>[yadawiki-index type=”all-categories-name” columns=”3″]\u003Cbr \u002F>\nNote that in the index listing the category hierarchy only goes down one level deep from to the top.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Sidebar Widgets:\u003C\u002Fstrong>\u003Cbr \u002F>\nThere are two Yada Wiki widgets. One for showing the TOC page and a list of article titles for a given category in the sidebar and the other for showing recent wiki articles.  Please see the FAQ section for information about using the sidebar widgets.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Documentation:\u003C\u002Fstrong>\u003Cbr \u002F>\nDocumentation is available at https:\u002F\u002Fwww.webtng.com\u002Fyada-wiki-documentation\u002F\u003C\u002Fp>\n\u003Cp>The FAQs below also have good information.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Video Walk-through:\u003C\u002Fstrong>\u003Cbr \u002F>\nThis video provides a walk-though of all of the features:\u003C\u002Fp>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FyixVePH3IpA?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cp>** Translations **\u003Cbr \u002F>\nThe plugin is available in:\u003Cbr \u002F>\n* English\u003Cbr \u002F>\n* Spanish\u003C\u002Fp>\n\u003Ch3>Acknowledgements\u003C\u002Fh3>\n\u003Cp>The user @JulianSMoore has been very helpful in suggesting improvements and reviewing changes. Thanks to the user @simplyletgo who contributed the recent wiki post widget.\u003C\u002Fp>\n","Yada Wiki is a simple wiki for your WordPress site.",2000,68879,23,"2025-11-22T20:01:00.000Z","4.1","",[97,98,99,21,100],"faq","knowledge-base","page-links","wiki","https:\u002F\u002Fwww.webtng.com\u002Fyada-wiki-documentation","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fyada-wiki.3.6.zip","2025-12-30 00:00:00",{"slug":105,"name":106,"version":107,"author":108,"author_profile":109,"description":110,"short_description":111,"active_installs":112,"downloaded":113,"rating":114,"num_ratings":115,"last_updated":116,"tested_up_to":117,"requires_at_least":118,"requires_php":95,"tags":119,"homepage":123,"download_link":124,"security_score":125,"vuln_count":126,"unpatched_count":126,"last_vuln_date":127,"fetched_at":26},"links-shortcode","Links shortcode","1.8.3","Maarten","https:\u002F\u002Fprofiles.wordpress.org\u002Fmaartenjs\u002F","\u003Cp>The plugin re-enables the Link Manager in WordPress and provides the shortcode ‘links’. This shortcode displays a list of all links having specified characteristics, for example a link category name in your post. By default it includes a Facebook Like button for every link, but this can be easily disabled.\u003C\u002Fp>\n\u003Cp>The plugin supports a customizable \u003Cstrong>template\u003C\u002Fstrong> for showing links. This enables you to use the shortcode to display links in any format you like, for example in a list or a table, with or without link images, etc. All relevant properties of a link are supported and listed on the Settings page of the plugin.\u003C\u002Fp>\n\u003Cp>The typical format for the short code is\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>[links option1=”x” option2=”y” etc…]\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>The following options are available:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>fblike\u003C\u002Fstrong>: Show the facebook Like button (default ‘1’, to disable set to any value other than ‘1’).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>fbrecommend\u003C\u002Fstrong>: Show the Facebook Recommend botton (default ”, to enable set to ‘1’).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>orderby\u003C\u002Fstrong>: Order the links by (default ‘name’). Use ‘order’ to order links by order specified with ‘My Link Order’ plugin.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>order\u003C\u002Fstrong>: How to order, ASC or DESC (default ‘DESC’).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>limit\u003C\u002Fstrong>: Limit the number of links shown (default ‘-1’, which means no limit). \u003C\u002Fli>\n\u003Cli>\u003Cstrong>category\u003C\u002Fstrong>: Comma separated list of link category ID’s.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>category_name\u003C\u002Fstrong>: Category name of a catgeory of links to show. Overrides category parameter.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>hide_invisible\u003C\u002Fstrong>: Hide links marked as not visible (default ‘1’, yes).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>include\u003C\u002Fstrong>: Comma separated list of numeric link IDs to include. If ‘include’ is used, the category, category_name, and exclude parameters are ignored. \u003C\u002Fli>\n\u003Cli>\u003Cstrong>exclude\u003C\u002Fstrong>: Comma separated list of numeric link IDs to exclude.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>search\u003C\u002Fstrong>: Shows all links matching this search string. It searches url, link name and link description.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>links_per_page\u003C\u002Fstrong>: To paginate lists of links. How many links to show per page. Below the links a pagination will be shown.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>links_list_id\u003C\u002Fstrong>: A unique identifyer on a page for the shortcode at hand. Mandatory in case ‘links_per_page’ is used to paginate. Optional to define custom styles for this id using css. \u003C\u002Fli>\n\u003Cli>\u003Cstrong>class\u003C\u002Fstrong>: A class that can be inserted using the links template. You could for example use \u003Cdiv class=”[class]”> in the template to attache different style to different instances of the short code.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>alttext\u003C\u002Fstrong>: An alternative text that will be displayed if the shortcode does not return any links.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Dafault options can be changed on a ‘Links Shortcode’ page in the Settings menu.\u003C\u002Fp>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>[links category_name=”Blogroll”]\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>Using the customizable template, all properties of a link can be displayed. An example template is included. This  template uses the Name, Web Address, Description and Rating of your links. The Name will link to the Web Address.\u003C\u002Fp>\n\u003Cp>If the Name starts with a date, formatted as: yyyy-mm-dd followed by ‘:’, a separate property  for the date is available.\u003C\u002Fp>\n\u003Cp>Templates are fully customizable. For more information see http:\u002F\u002Fwww.apprique.com\u002Fcommunity\u002Fwordpress-plugins.\u003C\u002Fp>\n\u003Cp>Please note that the Description of a link has a limited length, but the WordPress UI does not show this. After saving changes to a Link in the Links section, WordPress only saves the first 255 characters. This has nothing to do with this Plugin.\u003C\u002Fp>\n","The plugin provides the shortcode 'links'. This shortcode shows all links having specified characteristics, following a specified template.",900,43777,90,12,"2019-11-10T15:28:00.000Z","5.2.24","3.8",[120,121,122,19,21],"category","facebook","link","http:\u002F\u002Fwww.apprique.com\u002Fwordpress-plugins","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flinks-shortcode.1.8.3.zip",63,1,"2025-09-27 00:00:00",{"slug":129,"name":130,"version":131,"author":132,"author_profile":133,"description":134,"short_description":135,"active_installs":136,"downloaded":137,"rating":24,"num_ratings":115,"last_updated":138,"tested_up_to":139,"requires_at_least":140,"requires_php":95,"tags":141,"homepage":145,"download_link":146,"security_score":147,"vuln_count":11,"unpatched_count":11,"last_vuln_date":25,"fetched_at":26},"loop-post-navigation-links","Loop Post Navigation Links","3.0.2","Scott Reilly","https:\u002F\u002Fprofiles.wordpress.org\u002Fcoffee2code\u002F","\u003Cp>This plugin provides two template tags for use in single.php to create a post navigation loop, whereby previous to the first post is the last post, and after the last post is first post. Basically, when you’re on the last post and you click to go to the next post, the link takes you to the first post. Likewise, if you’re on the first post and click to go to the previous post, the link takes you to the last post.\u003C\u002Fp>\n\u003Cp>The function \u003Ccode>c2c_next_or_loop_post_link()\u003C\u002Fcode> is identical to WordPress’s \u003Ccode>next_post_link()\u003C\u002Fcode> in every way except when called on the last post in the navigation sequence, in which case it links back to the first post in the navigation sequence.\u003C\u002Fp>\n\u003Cp>The function \u003Ccode>c2c_previous_or_loop_post_link()\u003C\u002Fcode> is identical to WordPress’s \u003Ccode>previous_post_link()\u003C\u002Fcode> in every way except when called on the first post in the navigation sequence, in which case it links back to the last post in the navigation sequence.\u003C\u002Fp>\n\u003Cp>Useful for providing a looping link of posts, such as for a portfolio, or to continually present pertinent posts for visitors to continue reading.\u003C\u002Fp>\n\u003Cp>If you are interested in getting the post itself and not just a link to the post, you can use the \u003Ccode>c2c_get_next_or_loop_post()\u003C\u002Fcode> and \u003Ccode>c2c_get_previous_or_loop_post()\u003C\u002Fcode> functions. If you just want the URL to the post, you can use \u003Ccode>c2c_get_next_or_loop_post_url()\u003C\u002Fcode> and \u003Ccode>c2c_get_previous_or_loop_post_url()\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Links: \u003Ca href=\"https:\u002F\u002Fcoffee2code.com\u002Fwp-plugins\u002Floop-post-navigation-links\u002F\" rel=\"nofollow ugc\">Plugin Homepage\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Floop-post-navigation-links\u002F\" rel=\"ugc\">Plugin Directory Page\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fcoffee2code\u002Floop-post-navigation-links\u002F\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fcoffee2code.com\" rel=\"nofollow ugc\">Author Homepage\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Template Tags\u003C\u002Fh3>\n\u003Cp>The plugin provides four template tags for use in your single-post theme templates.\u003C\u002Fp>\n\u003Ch4>Functions\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Ccode>function c2c_next_or_loop_post_link( $format='%link &raquo;', $link='%title', $in_same_term = false, $excluded_terms = '', $taxonomy = 'category' )\u003C\u002Fcode>\u003Cbr \u002F>\nLike WordPress’s \u003Ccode>next_post_link()\u003C\u002Fcode>, this function displays a link to the next chronological post (among all published posts, those in the same category, or those not in certain categories). Unlink \u003Ccode>next_post_link()\u003C\u002Fcode>, when on the last post in the sequence this function will link back to the first post in the sequence, creating a circular loop.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>function c2c_get_next_or_loop_post_link( $format='%link &raquo;', $link='%title', $in_same_term = false, $excluded_terms = '', $taxonomy = 'category' )\u003C\u002Fcode>\u003Cbr \u002F>\nLike `c2c_next_or_loop_post_link(), but returns the value without echoing it.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>function c2c_previous_or_loop_post_link( $format='&laquo; %link', $link='%title', $in_same_term = false, $excluded_terms = '', $taxonomy = 'category' )\u003C\u002Fcode>\u003Cbr \u002F>\nLike WordPress’s \u003Ccode>previous_post_link()\u003C\u002Fcode>, this function displays a link to the previous chronological post (among all published posts, those in the same category, or those not in certain categories). Unlink \u003Ccode>previous_post_link()\u003C\u002Fcode>, when on the first post in the sequence this function will link to the last post in the sequence, creating a circular loop.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>function c2c_get_previous_or_loop_post_link( $format='&laquo; %link', $link='%title', $in_same_term = false, $excluded_terms = '', $taxonomy = 'category' )\u003C\u002Fcode>\u003Cbr \u002F>\nLike `c2c_get_previous_or_loop_post_link(), but returns the value without echoing it.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>function c2c_get_next_or_loop_post( $in_same_term = false, $excluded_terms = '', $taxonomy = 'category' )\u003C\u002Fcode>\u003Cbr \u002F>\nLike WordPress’s \u003Ccode>get_adjacent_post()\u003C\u002Fcode> when used to find the next post, except when on the last post in the sequence this function will return the first post in the sequence, creating a circular loop.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>function c2c_get_previous_or_loop_post( $in_same_term = false, $excluded_terms = '', $taxonomy = 'category' )\u003C\u002Fcode>\u003Cbr \u002F>\nLike WordPress’s \u003Ccode>get_adjacent_post()\u003C\u002Fcode> when used to find the previous post, except when on the first post in the sequence this function will return the last post in the sequence, creating a circular loop.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>function c2c_get_next_or_loop_post_url( $in_same_term = false, $excluded_terms = '', $taxonomy = 'category' )\u003C\u002Fcode>\u003Cbr \u002F>\nReturns the URL for the next post or the post at the beginning of the series.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>function c2c_get_previous_or_loop_post_url( $in_same_term = false, $excluded_terms = '', $taxonomy = 'category' )\u003C\u002Fcode>\u003Cbr \u002F>\nReturns the URL for the previous post or the post at the end of the series.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Arguments\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Ccode>$format\u003C\u002Fcode>\u003Cbr \u002F>\n(optional) A percent-substitution string indicating the format of the entire output string. Use \u003Ccode>%link\u003C\u002Fcode> to represent the next\u002Fprevious post being linked, or \u003Ccode>%title\u003C\u002Fcode> to represent the title of the next\u002Fprevious post.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>$link\u003C\u002Fcode>\u003Cbr \u002F>\n(optional) A percent-substitution string indicating the format of the link itself that gets created for the next\u002Fprevious post. Use \u003Ccode>%link\u003C\u002Fcode> to represent the next\u002Fprevious post being linked, or \u003Ccode>%title\u003C\u002Fcode> to represent the title of the next\u002Fprevious post.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>$in_same_term\u003C\u002Fcode>\u003Cbr \u002F>\n(optional) A boolean value (either true or false) indicating if the next\u002Fprevious post should be in the current post’s same taxonomy term.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>$excluded_terms\u003C\u002Fcode>\u003Cbr \u002F>\n(optional) An array or comma-separated string of category or term IDs to which posts cannot belong.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ccode>$taxonomy\u003C\u002Fcode>\u003Cbr \u002F>\n(optional) Taxonomy, if $in_same_term is true. Default ‘category’.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Examples\u003C\u002Fh3>\n\u003Cpre>\u003Ccode>\u003Cdiv class=\"loop-navigation\">\n    \u003Cdiv class=\"alignleft\">\u003C?php c2c_previous_or_loop_post_link(); ?>\u003C\u002Fdiv>\n    \u003Cdiv class=\"alignright\">\u003C?php c2c_next_or_loop_post_link(); ?>\u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Ch3>Hooks\u003C\u002Fh3>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The plugin is further customizable via eleven hooks. Typically, code making use of hooks should ideally be put into a mu-plugin, a site-specific plugin (which is beyond the scope of this readme to explain), or in theme template files. Many of these filters are likely only of interest to advanced users able to code.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>c2c_previous_or_loop_post_link_output, c2c_next_or_loop_post_link_output (filters)\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>The ‘c2c_previous_or_loop_post_link_output’ and ‘c2c_next_or_loop_post_link_output’ filters allow you to customize the link markup generated for previous and next looping links, respectively.\u003C\u002Fp>\n\u003Cp>Arguments:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>$format         (string):       Link anchor format.\u003C\u002Fli>\n\u003Cli>$link           (string):       Link permalink format.\u003C\u002Fli>\n\u003Cli>$in_same_term   (bool):         Optional. Whether link should be in a same taxonomy term. Default is false.\u003C\u002Fli>\n\u003Cli>$excluded_terms (array|string): Optional. Array or comma-separated list of excluded term IDs. Default is ”.\u003C\u002Fli>\n\u003Cli>$previous       (bool):         Optional. Whether to display link to previous or next post. Default is true.\u003C\u002Fli>\n\u003Cli>$taxonomy       (string):       Optional. Taxonomy, if $in_same_term is true. Default ‘category’.\u003C\u002Fli>\n\u003Cli>$adjacent       (string):       Whether the post is previous or next.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>  \u003C?php\n      \u002F\u002F Prepend \"Prev:\" to previous link markup.\n      function my_custom_previous_or_loop_link_output( $output, $format, $link, $post, $in_same_term, $excluded_terms, $taxonomy ) {\n        return 'Prev: ' . $output;\n      }\n      add_filter( 'c2c_previous_or_loop_post_link_output', 'my_custom_previous_or_loop_link_output', 10, 4 );\n    ?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>c2c_previous_or_loop_post_link_get, c2c_next_or_loop_post_link_get (filters)\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>The ‘c2c_previous_or_loop_post_link_get’ and ‘c2c_next_or_loop_post_link_get’ filters allow you to customize the link markups generated for previous and next looping links, respectively, but in the non-echoing functions.\u003C\u002Fp>\n\u003Cp>Arguments:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>$output         (string):       The adjacent post link.\u003C\u002Fli>\n\u003Cli>$format         (string):       Link anchor format.\u003C\u002Fli>\n\u003Cli>$link           (string):       Link permalink format.\u003C\u002Fli>\n\u003Cli>$post           (WP_Post):      The adjacent post.\u003C\u002Fli>\n\u003Cli>$in_same_term   (bool):         Optional. Whether link should be in a same taxonomy term. Default is false.\u003C\u002Fli>\n\u003Cli>$excluded_terms (array|string): Optional. Array or comma-separated list of excluded term IDs. Default is ”.\u003C\u002Fli>\n\u003Cli>$previous       (bool):         Optional. Whether to display link to previous or next post. Default is true.\u003C\u002Fli>\n\u003Cli>$taxonomy       (string):       Optional. Taxonomy, if $in_same_term is true. Default ‘category’.\u003C\u002Fli>\n\u003Cli>$adjacent       (string):       Whether the post is previous or next.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>c2c_previous_or_loop_post_link, c2c_next_or_loop_post_link, c2c_get_previous_or_loop_post_link, c2c_get_next_or_loop_post_link, c2c_get_adjacent_or_loop_post, c2c_get_previous_or_loop_post, c2c_get_previous_or_loop_post (actions)\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>The ‘c2c_previous_or_loop_post_link’ and ‘c2c_next_or_loop_post_link’ actions allow you to use an alternative approach to safely invoke \u003Ccode>c2c_previous_or_loop_post_link()\u003C\u002Fcode> and \u003Ccode>c2c_next_or_loop_post_link()\u003C\u002Fcode>, respectively, in such a way that if the plugin were deactivated or deleted, then your calls to the functions won’t cause errors in your site. The ‘c2c_get_previous_or_loop_post_link’ and ‘c2c_get_next_or_loop_post_link’ filters do the same for the non-echoing \u003Ccode>c2c_previous_or_loop_post_link()\u003C\u002Fcode> and \u003Ccode>c2c_next_or_loop_post_link()\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>Arguments:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Same as for for \u003Ccode>c2c_previous_or_loop_post_link()\u003C\u002Fcode> and \u003Ccode>c2c_next_or_loop_post_link()\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cp>Instead of:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php c2c_previous_or_loop_post_link( '\u003Cspan class=\"prev-or-loop-link\">&laquo; %link\u003C\u002Fspan>' ); ?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Do:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php do_action( 'c2c_previous_or_loop_post_link', '\u003Cspan class=\"prev-or-loop-link\">&laquo; %link\u003C\u002Fspan>' ); ?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Template tags (for use in single.php) to create post navigation loop (previous to first post is last post; next\u002Fafter last post is first post).",500,22666,"2020-08-27T07:28:00.000Z","5.5.18","4.9",[19,20,142,143,144],"next","posts","previous","https:\u002F\u002Fcoffee2code.com\u002Fwp-plugins\u002Floop-post-navigation-links\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Floop-post-navigation-links.3.0.2.zip",85,{"attackSurface":149,"codeSignals":208,"taintFlows":317,"riskAssessment":318,"analyzedAt":326},{"hooks":150,"ajaxHandlers":196,"restRoutes":197,"shortcodes":198,"cronEvents":207,"entryPointCount":31,"unprotectedCount":11},[151,157,161,164,167,171,174,179,182,185,189,193],{"type":152,"name":153,"callback":154,"file":155,"line":156},"filter","plugin_icon","jsonmaker_freemius_icon_path","jsonmaker.php",67,{"type":158,"name":159,"callback":160,"file":155,"line":70},"action","init","register_rewrite",{"type":158,"name":159,"callback":162,"file":155,"line":163},"maybe_handle_submission",93,{"type":152,"name":165,"callback":166,"file":155,"line":33},"query_vars","register_query_var",{"type":158,"name":168,"callback":169,"file":155,"line":170},"template_redirect","maybe_output_json",95,{"type":158,"name":172,"callback":173,"file":155,"line":46},"send_headers","maybe_add_cors_headers",{"type":152,"name":175,"callback":176,"priority":177,"file":155,"line":178},"redirect_canonical","maybe_disable_canonical_redirect",10,99,{"type":158,"name":180,"callback":181,"priority":59,"file":155,"line":24},"load-admin_page_fishdan-jsonmaker","ensure_admin_connect_title",{"type":158,"name":183,"callback":181,"priority":59,"file":155,"line":184},"load-admin_page_fishdan-jsonmaker-network",101,{"type":158,"name":186,"callback":187,"file":155,"line":188},"admin_menu","register_admin_menu",102,{"type":158,"name":190,"callback":191,"file":155,"line":192},"network_admin_menu","register_network_admin_menu",103,{"type":152,"name":153,"callback":194,"file":155,"line":195},"filter_freemius_plugin_icon",107,[],[],[199,203],{"tag":200,"callback":201,"file":155,"line":202},"jsonmaker","render_shortcode",96,{"tag":204,"callback":205,"file":155,"line":206},"jsonmaker_checkout","render_checkout_shortcode",97,[],{"dangerousFunctions":209,"sqlUsage":210,"outputEscaping":212,"fileOperations":11,"externalRequests":11,"nonceChecks":310,"capabilityChecks":311,"bundledLibraries":312},[],{"prepared":11,"raw":11,"locations":211},[],{"escaped":184,"rawEcho":213,"locations":214},47,[215,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308],{"file":155,"line":216,"context":217},984,"raw output",{"file":155,"line":219,"context":217},1062,{"file":155,"line":221,"context":217},1064,{"file":155,"line":223,"context":217},1065,{"file":155,"line":225,"context":217},1107,{"file":155,"line":227,"context":217},1110,{"file":155,"line":229,"context":217},1114,{"file":155,"line":231,"context":217},1119,{"file":155,"line":233,"context":217},1121,{"file":155,"line":235,"context":217},1126,{"file":155,"line":237,"context":217},1132,{"file":155,"line":239,"context":217},1133,{"file":155,"line":241,"context":217},1139,{"file":155,"line":243,"context":217},1162,{"file":155,"line":245,"context":217},1163,{"file":155,"line":247,"context":217},1169,{"file":155,"line":249,"context":217},1177,{"file":155,"line":251,"context":217},1181,{"file":155,"line":253,"context":217},1185,{"file":155,"line":255,"context":217},1189,{"file":155,"line":257,"context":217},1190,{"file":155,"line":259,"context":217},1215,{"file":155,"line":261,"context":217},1217,{"file":155,"line":263,"context":217},1225,{"file":155,"line":265,"context":217},1227,{"file":155,"line":267,"context":217},1234,{"file":155,"line":269,"context":217},1236,{"file":155,"line":271,"context":217},1238,{"file":155,"line":273,"context":217},1239,{"file":155,"line":275,"context":217},1240,{"file":155,"line":277,"context":217},1275,{"file":155,"line":279,"context":217},1278,{"file":155,"line":281,"context":217},1279,{"file":155,"line":283,"context":217},1282,{"file":155,"line":285,"context":217},1287,{"file":155,"line":287,"context":217},1471,{"file":155,"line":289,"context":217},1475,{"file":155,"line":291,"context":217},1518,{"file":155,"line":293,"context":217},1519,{"file":155,"line":295,"context":217},1529,{"file":155,"line":297,"context":217},1594,{"file":155,"line":299,"context":217},1598,{"file":155,"line":301,"context":217},1602,{"file":155,"line":303,"context":217},1626,{"file":155,"line":305,"context":217},1630,{"file":155,"line":307,"context":217},1649,{"file":155,"line":309,"context":217},1652,6,4,[313],{"name":314,"version":315,"knownCves":316},"Freemius","1.0",[],[],{"summary":319,"deductions":320},"The fishdan-jsonmaker plugin v0.2.8 exhibits a generally good security posture, with no known vulnerabilities in its history and a strong emphasis on secure coding practices in its static analysis. The code effectively utilizes prepared statements for SQL queries, indicating a lack of SQL injection risks. Additionally, the presence of numerous nonce and capability checks suggests an effort to protect against common WordPress attack vectors. The absence of file operations and external HTTP requests further reduces its potential attack surface. \n\nHowever, a notable concern arises from the output escaping, where only 68% of the 148 outputs are properly escaped. This leaves a significant portion of the plugin's output potentially vulnerable to Cross-Site Scripting (XSS) attacks. While the plugin has a clean vulnerability history and a low total entry point count with none being unprotected, the unescaped output presents a tangible risk that requires attention. The bundled Freemius library, while common, should also be monitored for security updates. \n\nIn conclusion, fishdan-jsonmaker v0.2.8 is a relatively secure plugin with a promising track record. Its strengths lie in its disciplined approach to database queries and access control. Nevertheless, the identified weakness in output escaping is a critical area that needs to be addressed to mitigate XSS vulnerabilities and ensure a robust security profile.",[321,323],{"reason":322,"points":81},"68% of outputs properly escaped",{"reason":324,"points":325},"Bundled library Freemius v1.0",3,"2026-03-17T07:05:40.065Z",{"wat":328,"direct":337},{"assetPaths":329,"generatorPatterns":332,"scriptPaths":333,"versionParams":334},[330,331],"\u002Fwp-content\u002Fplugins\u002Ffishdan-jsonmaker\u002Fbuild\u002Findex.js","\u002Fwp-content\u002Fplugins\u002Ffishdan-jsonmaker\u002Fbuild\u002Findex.css",[],[],[335,336],"fishdan-jsonmaker\u002Fbuild\u002Findex.js?ver=","fishdan-jsonmaker\u002Fbuild\u002Findex.css?ver=",{"cssClasses":338,"htmlComments":340,"htmlAttributes":341,"restEndpoints":343,"jsGlobals":344,"shortcodeOutput":346},[339],"jsonmaker-admin-menu-icon",[],[342],"data-jsonmaker-node-id",[],[345],"window.jsonmaker_ajax_url",[347,348],"[jsonmaker]","[jsonmaker_checkout]",{"error":350,"url":351,"statusCode":352,"statusMessage":353,"message":353},true,"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Ffishdan-jsonmaker\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":59,"versions":355},[356,362,369,376,383],{"version":6,"download_url":23,"svn_tag_url":357,"released_at":25,"has_diff":358,"diff_files_changed":359,"diff_lines":25,"trac_diff_url":360,"vulnerabilities":361,"is_current":350},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Ffishdan-jsonmaker\u002Ftags\u002F0.2.8\u002F",false,[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Ffishdan-jsonmaker%2Ftags%2F0.2.7&new_path=%2Ffishdan-jsonmaker%2Ftags%2F0.2.8",[],{"version":363,"download_url":364,"svn_tag_url":365,"released_at":25,"has_diff":358,"diff_files_changed":366,"diff_lines":25,"trac_diff_url":367,"vulnerabilities":368,"is_current":358},"0.2.7","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffishdan-jsonmaker.0.2.7.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Ffishdan-jsonmaker\u002Ftags\u002F0.2.7\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Ffishdan-jsonmaker%2Ftags%2F0.2.6&new_path=%2Ffishdan-jsonmaker%2Ftags%2F0.2.7",[],{"version":370,"download_url":371,"svn_tag_url":372,"released_at":25,"has_diff":358,"diff_files_changed":373,"diff_lines":25,"trac_diff_url":374,"vulnerabilities":375,"is_current":358},"0.2.6","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffishdan-jsonmaker.0.2.6.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Ffishdan-jsonmaker\u002Ftags\u002F0.2.6\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Ffishdan-jsonmaker%2Ftags%2F0.2.4&new_path=%2Ffishdan-jsonmaker%2Ftags%2F0.2.6",[],{"version":377,"download_url":378,"svn_tag_url":379,"released_at":25,"has_diff":358,"diff_files_changed":380,"diff_lines":25,"trac_diff_url":381,"vulnerabilities":382,"is_current":358},"0.2.4","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffishdan-jsonmaker.0.2.4.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Ffishdan-jsonmaker\u002Ftags\u002F0.2.4\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Ffishdan-jsonmaker%2Ftags%2F0.2.3&new_path=%2Ffishdan-jsonmaker%2Ftags%2F0.2.4",[],{"version":384,"download_url":385,"svn_tag_url":386,"released_at":25,"has_diff":358,"diff_files_changed":387,"diff_lines":25,"trac_diff_url":25,"vulnerabilities":388,"is_current":358},"0.2.3","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffishdan-jsonmaker.0.2.3.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Ffishdan-jsonmaker\u002Ftags\u002F0.2.3\u002F",[],[]]