[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fI8VWOeqdAlHeM-AKGJUtJt3CDHcN1Sq6YkxUNh-cepE":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":32,"crawl_stats":29,"alternatives":40,"analysis":139,"fingerprints":377},"attachments","Attachments","3.5.11","Jon Christopher","https:\u002F\u002Fprofiles.wordpress.org\u002Fjchristopher\u002F","\u003Cp>\u003Cstrong>Extensive\u003C\u002Fstrong> usage instructions are \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjchristopher\u002Fattachments\u002F#attachments\" rel=\"nofollow ugc\">available on GitHub\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Attachments allows you to simply append any number of items from your WordPress Media Library to Posts, Pages, and Custom Post Types.\u003C\u002Fp>\n\u003Ch4>Associate Media items with posts\u003C\u002Fh4>\n\u003Cp>The idea behind Attachments is to give developers the ability to directly associate Media items with any post. This is accomplished by adding a meta box to post edit screens as determined by the developer. Once Media items have been associated with a post, you’re able to retrieve those Attachments and include them directly within your template files using any specific markup you wish.\u003C\u002Fp>\n\u003Ch4>Integrate Attachments within your theme with fine grained control\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Attachments does not automatically integrate itself with your theme.\u003C\u002Fstrong> Since the idea behind Attachments is to allow integration of Media within posts using developer-crafted, unique markup, \u003Cem>it’s up to you to integrate with your theme\u003C\u002Fem>. The most basic integration includes editing the \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FTemplate_Hierarchy\" rel=\"nofollow ugc\">appropriate template file\u003C\u002Fa> and adding your call(s) to Attachments. For example, if you have set up Attachments to be used with your Posts entries, edit \u003Ccode>single.php\u003C\u002Fcode> to include the following within The Loop:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php $attachments = new Attachments( 'attachments' ); \u002F* pass the instance name *\u002F ?>\n\u003C?php if( $attachments->exist() ) : ?>\n  \u003Ch3>Attachments\u003C\u002Fh3>\n  \u003Cp>Total Attachments: \u003C?php echo $attachments->total(); ?>\u003C\u002Fp>\n  \u003Cul>\n    \u003C?php while( $attachments->get() ) : ?>\n      \u003Cli>\n        ID: \u003C?php echo $attachments->id(); ?>\u003Cbr \u002F>\n        Type: \u003C?php echo $attachments->type(); ?>\u003Cbr \u002F>\n        Subtype: \u003C?php echo $attachments->subtype(); ?>\u003Cbr \u002F>\n        URL: \u003C?php echo $attachments->url(); ?>\u003Cbr \u002F>\n        Image: \u003C?php echo $attachments->image( 'thumbnail' ); ?>\u003Cbr \u002F>\n        Source: \u003C?php echo $attachments->src( 'full' ); ?>\u003Cbr \u002F>\n        Size: \u003C?php echo $attachments->filesize(); ?>\u003Cbr \u002F>\n        Title Field: \u003C?php echo $attachments->field( 'title' ); ?>\u003Cbr \u002F>\n        Caption Field: \u003C?php echo $attachments->field( 'caption' ); ?>\n      \u003C\u002Fli>\n    \u003C?php endwhile; ?>\n  \u003C\u002Ful>\n\u003C?php endif; ?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>That snippet will request all of the existing Attachments defined for the current Post within The Loop, and retrieve each itemized property for that Attachment. Using the provided details you’re able to integrate the attached Media items in any way you please.\u003C\u002Fp>\n\u003Cp>There is a lot more information on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjchristopher\u002Fattachments\" rel=\"nofollow ugc\">Attachments’ GitHub page\u003C\u002Fa>. Please contribute!\u003C\u002Fp>\n\u003Ch3>Roadmap\u003C\u002Fh3>\n\u003Cp>Please see \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjchristopher\u002Fattachments\u002Fblob\u002Fmaster\u002Fdocs\u002Froadmap.md\" rel=\"nofollow ugc\">Attachments on GitHub\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Extensive\u003C\u002Fstrong> usage instructions are \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjchristopher\u002Fattachments\u002Fblob\u002Fmaster\u002Fdocs\u002Fusage.md\" rel=\"nofollow ugc\">available on GitHub\u003C\u002Fa>\u003C\u002Fp>\n","Attachments allows you to simply append any number of items from your WordPress Media Library to Posts, Pages, and Custom Post Types",9000,281160,96,53,"2025-12-30T15:11:00.000Z","6.9.4","3.0","",[20,21,22,23,24],"attachment","page","pdf","picture","post","https:\u002F\u002Fgithub.com\u002Fjchristopher\u002Fattachments","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fattachments.3.5.11.zip",100,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":33,"display_name":7,"profile_url":8,"plugin_count":34,"total_installs":35,"avg_security_score":36,"avg_patch_time_days":37,"trust_score":38,"computed_at":39},"jchristopher",11,109940,89,30,86,"2026-04-04T03:34:40.540Z",[41,62,79,101,118],{"slug":42,"name":43,"version":44,"author":45,"author_profile":46,"description":47,"short_description":48,"active_installs":49,"downloaded":50,"rating":27,"num_ratings":51,"last_updated":52,"tested_up_to":53,"requires_at_least":54,"requires_php":55,"tags":56,"homepage":59,"download_link":60,"security_score":61,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"autoremove-attachments","Autoremove Attachments","1.3.1","Polygon Themes","https:\u002F\u002Fprofiles.wordpress.org\u002Fpolygonthemes\u002F","\u003Cp>Autoremove Attachments helps you keep the Media Library clean by deleting all media files attached as child attachments to a post, page, or custom post type when the parent is deleted.\u003C\u002Fp>\n\u003Cp>By default, when you delete content from your website, regardless if it’s a post, a page, a product, or any kind of post type, WordPress keeps the media files previously associated with it, even if after the removal of your content they are not used anywhere else.\u003C\u002Fp>\n\u003Cp>Autoremove Attachments tries to solve this problem by automating the removal of all media files that have a child-parent relationship with the removed content. (so you don’t have to manually track and remove orphan files left on your server)\u003C\u002Fp>\n\u003Ch3>Important Considerations\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>A soft delete that places your post, page, or custom post type in Trash will not trigger the removal of its child attachments. The purge happens when you empty your trash.\u003C\u002Fli>\n\u003Cli>When you delete a post, page or custom post type, we try to determine if its child attachments are used anywhere else on your website. If they are, we do not remove them, to prevent broken links.\u003C\u002Fli>\n\u003Cli>The additional checks before the automatic removal can be disabled from the Media Settings for improved performance on large websites with thousands of posts and media files.\u003C\u002Fli>\n\u003Cli>The plugin only removes files tracked by WordPress. Some poorly coded themes generate additional thumbnail sizes that are not tracked by WordPress and this always leads to orphan files left on your server.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Compatibility and Third-Party Support\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoocommerce\" rel=\"ugc\">WooCommerce\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Feasy-digital-downloads\" rel=\"ugc\">Easy Digital Downloads\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>All themes and plugins that do things the WordPress way\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>If you use a plugin to optimize and clean your database of revisions, trashed posts, etc, make sure you use one that relies on native WordPress functions to perform the maintenance tasks. We recommend \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwp-sweep\" rel=\"ugc\">WP-Sweep\u003C\u002Fa>.\u003C\u002Fp>\n","Remove child attachments when parent post, page or custom post type is deleted.",3000,34470,15,"2023-08-12T00:30:00.000Z","6.3.8","5.8","7.4",[20,57,58,21,24],"custom-post-type","media","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fautoremove-attachments","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fautoremove-attachments.zip",85,{"slug":63,"name":64,"version":65,"author":66,"author_profile":67,"description":68,"short_description":69,"active_installs":27,"downloaded":70,"rating":28,"num_ratings":28,"last_updated":71,"tested_up_to":72,"requires_at_least":73,"requires_php":18,"tags":74,"homepage":77,"download_link":78,"security_score":61,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"post2pdf-converter","POST2PDF Converter","0.4.2","redcocker","https:\u002F\u002Fprofiles.wordpress.org\u002Fredcocker\u002F","\u003Cp>This plugin converts your post\u002Fpage to PDF for visitors and visitors can download it easily.\u003C\u002Fp>\n\u003Cp>You can add a download link above\u002Fbelow every posts\u002Fpages.\u003C\u002Fp>\n\u003Cp>Note: This plugin requires PHP 5.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Base on “\u003Ca href=\"http:\u002F\u002Fwww.tcpdf.org\u002F\" title=\"TCPDF\" rel=\"nofollow ugc\">TCPDF\u003C\u002Fa>“.\u003C\u002Fli>\n\u003Cli>Convert your posts\u002Fpages to PDF file dynamically or statically.\u003C\u002Fli>\n\u003Cli>Easy to add a download link into every or specified posts\u002Fpages.\u003C\u002Fli>\n\u003Cli>Support caching created PDFs.\u003C\u002Fli>\n\u003Cli>Easy to add your TrueType fonts.\u003C\u002Fli>\n\u003Cli>Easy to configure.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Localization\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>日本語(Japanese) by redcocker\u003C\u002Fli>\n\u003Cli>Deutsch(German) by Uli Sobers(\u003Ca href=\"http:\u002F\u002Fwww.free-templates-sobers.de\u002F\" title=\"Free Templates\" rel=\"nofollow ugc\">Free Templates\u003C\u002Fa>, \u003Ca href=\"http:\u002F\u002Fwww.iq137.de\u002F\" title=\"IQ137\" rel=\"nofollow ugc\">IQ137\u003C\u002Fa>)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Support plugins\u003C\u002Fh4>\n\u003Cp>You can use POST2PDF Converter with following code syntaxhighlighter plugins and convert posts\u002Fpages with sourcecodes to PDF.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fwp-syntaxhighlighter\u002F\" title=\"WP SyntaxHighlighter\" rel=\"ugc\">WP SyntaxHighlighter\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fsyntaxhighlighter\u002F\" title=\"SyntaxHighlighter Evolved\" rel=\"ugc\">SyntaxHighlighter Evolved\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fwp-syntax\u002F\" title=\"WP-Syntax\" rel=\"ugc\">WP-Syntax\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fcodecolorer\u002F\" title=\"CodeColorer\" rel=\"ugc\">CodeColorer\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fwp-codebox\u002F\" title=\"WP-CodeBox\" rel=\"ugc\">WP-CodeBox\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fwp-synhighlight\u002F\" title=\"WP-SynHighlight\" rel=\"ugc\">WP-SynHighlight\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fsyntax-highlighter-compress\u002F\" title=\"Syntax Highlighter Compress\" rel=\"ugc\">Syntax Highlighter Compress\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fauto-syntaxhighlighter\u002F\" title=\"Auto SyntaxHighlighter\" rel=\"ugc\">Auto SyntaxHighlighter\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fsyntax-highlighter-and-code-prettifier\u002F\" title=\"Syntax Highlighter and Code Colorizer for WordPress\" rel=\"ugc\">Syntax Highlighter and Code Colorizer for WordPress\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fsyntax-highlighter-mt\u002F\" title=\"Syntax Highlighter MT\" rel=\"ugc\">Syntax Highlighter MT\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fsyntaxhighlighterpro\u002F\" title=\"SyntaxHighlighterPro\" rel=\"ugc\">SyntaxHighlighterPro\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Feasy-google-syntax-highlighter\u002F\" title=\"Easy Google Syntax Highlighter\" rel=\"ugc\">Easy Google Syntax Highlighter\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fwp-geshi-highlight\u002F\" title=\"WP-GeSHi-Highlight\" rel=\"ugc\">WP-GeSHi-Highlight\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fwp-code-highlight\u002F\" title=\"WP Code Highlight\" rel=\"ugc\">WP Code Highlight\u003C\u002Fa> etc.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You can use POST2PDF Converter with following LaTex plugins and convert posts\u002Fpages with mathematical formulas, chemical formulae and charts to PDF.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fwp-quicklatex\u002F\" title=\"WP QuickLaTeX\" rel=\"ugc\">WP QuickLaTeX\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You can use POST2PDF Converter with following translation plugins and generate translated PDF.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fqtranslate\u002F\" title=\"qTranslate\" rel=\"ugc\">qTranslate\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>This list is only one example.\u003C\u002Fstrong>\u003C\u002Fp>\n","This plugin converts your post\u002Fpage to PDF for visitors and visitors can download it easily.",22609,"2012-03-05T01:31:00.000Z","3.3.2","2.8",[75,76,21,22,24],"convert","download","http:\u002F\u002Fwww.near-mint.com\u002Fblog\u002Fsoftware\u002Fpost2pdf-converter","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpost2pdf-converter.0.4.2.zip",{"slug":80,"name":81,"version":82,"author":83,"author_profile":84,"description":85,"short_description":86,"active_installs":87,"downloaded":88,"rating":27,"num_ratings":89,"last_updated":90,"tested_up_to":91,"requires_at_least":92,"requires_php":93,"tags":94,"homepage":98,"download_link":99,"security_score":100,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"auto-attachments-cleaner","Auto Attachments Cleaner","1.0.4","Stefano","https:\u002F\u002Fprofiles.wordpress.org\u002Fstefacchio\u002F","\u003Cp>Automatically deletes attachments (images, videos, files etc…) linked to a page, post or custom post type when it is deleted.\u003Cbr \u002F>\nSupport Woo Commerce and all plugins that support Custom Post Types.\u003C\u002Fp>\n\u003Cp>This plugin deletes also relative thumbnails of images.\u003C\u002Fp>\n\u003Cp>Goodbye junk, orphaned and forgotten files clogging up server space over time!\u003C\u002Fp>\n\u003Ch4>Author Plugin Website\u003C\u002Fh4>\n\u003Cp>Here you can find other premium plugins:\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwww.stefanofattori.it\u002Fwordpress\u002Fplugins\u002F\" rel=\"nofollow ugc\">Stefano Fattori – WordPress Plugins\u003C\u002Fa>\u003C\u002Fp>\n","Automatically deletes attachments on post delete",70,1227,3,"2025-03-01T17:45:00.000Z","6.7.5","5.0","7.0",[4,95,58,96,97],"custom-posts-type","pages","posts","https:\u002F\u002Fwww.stefanofattori.it\u002Fwordpress\u002Fplugins\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fauto-attachments-cleaner.1.0.4.zip",92,{"slug":102,"name":103,"version":104,"author":105,"author_profile":106,"description":107,"short_description":108,"active_installs":87,"downloaded":109,"rating":27,"num_ratings":89,"last_updated":110,"tested_up_to":111,"requires_at_least":92,"requires_php":55,"tags":112,"homepage":18,"download_link":117,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"posts-to-pdf-backend-batch-export","Posts to PDF – Backend Batch Export","1.2","onodev77","https:\u002F\u002Fprofiles.wordpress.org\u002Fonodev77\u002F","\u003Cp>This plugin allows you to select multiple posts from the WordPress backend and export them into a single PDF file.\u003Cbr \u002F>\nUseful for creating collections of articles, documentation, reports, and more.\u003C\u002Fp>\n","Short Description: Export multiple selected posts as a single PDF file directly from the WordPress backend.",614,"2025-09-06T08:44:00.000Z","6.8.5",[113,114,115,22,116],"export","export-posts","pages-to-pdf","posts-to-pdf","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fposts-to-pdf-backend-batch-export.1.2.zip",{"slug":119,"name":120,"version":121,"author":122,"author_profile":123,"description":124,"short_description":125,"active_installs":126,"downloaded":127,"rating":27,"num_ratings":128,"last_updated":129,"tested_up_to":130,"requires_at_least":131,"requires_php":18,"tags":132,"homepage":137,"download_link":138,"security_score":61,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"all-round-order","All Round Order","1.1.0","WebuddySoft","https:\u002F\u002Fprofiles.wordpress.org\u002Fitsjinlie\u002F","\u003Cp>This plugin let you order all items(pages, posts, custom post types and attachments) easily by using a drag and drop sortable javascript.\u003C\u002Fp>\n\u003Cp>No configuration is necessary.\u003C\u002Fp>\n","Order all items(Pages, Posts, Custom Post Types and attachments) easily with a drag and drop feature",40,4713,1,"2015-02-10T01:43:00.000Z","4.1.0","3.6",[133,134,135,136],"attachment-order","custom-post-type-order","page-order","post-order","http:\u002F\u002Fstore.webuddysoft.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fall-round-order.zip",{"attackSurface":140,"codeSignals":235,"taintFlows":341,"riskAssessment":368,"analyzedAt":376},{"hooks":141,"ajaxHandlers":231,"restRoutes":232,"shortcodes":233,"cronEvents":234,"entryPointCount":28,"unprotectedCount":28},[142,149,152,156,161,163,165,168,171,175,178,182,186,190,193,196,200,205,210,213,216,219,222,225,227,229],{"type":143,"name":144,"callback":145,"priority":146,"file":147,"line":148},"action","admin_enqueue_scripts","admin_pointer",999,"classes\\class.attachments.legacy.php",27,{"type":143,"name":150,"callback":151,"file":147,"line":37},"admin_notices","admin_notice",{"type":143,"name":153,"callback":154,"file":147,"line":155},"admin_print_footer_scripts","pointer_legacy",154,{"type":143,"name":157,"callback":158,"file":159,"line":160},"plugins_loaded","l10n","classes\\class.attachments.php",83,{"type":143,"name":157,"callback":162,"file":159,"line":38},"load_extensions",{"type":143,"name":144,"callback":164,"priority":146,"file":159,"line":36},"assets",{"type":143,"name":166,"callback":167,"file":159,"line":100},"init","setup_instances",{"type":143,"name":166,"callback":169,"file":159,"line":170},"set_instances_for_current_post_type",95,{"type":143,"name":172,"callback":173,"file":159,"line":174},"add_meta_boxes","meta_box_init",97,{"type":143,"name":176,"callback":176,"file":159,"line":177},"admin_footer",98,{"type":143,"name":179,"callback":180,"file":159,"line":181},"save_post","save",99,{"type":143,"name":183,"callback":184,"file":159,"line":185},"admin_menu","admin_page",102,{"type":143,"name":187,"callback":188,"file":159,"line":189},"admin_head","field_inits",104,{"type":143,"name":153,"callback":191,"file":159,"line":192},"field_assets",105,{"type":143,"name":194,"callback":194,"file":159,"line":195},"admin_init",107,{"type":143,"name":197,"callback":198,"priority":146,"file":159,"line":199},"after_setup_theme","apply_init_filters",111,{"type":143,"name":201,"callback":202,"priority":203,"file":159,"line":204},"delete_post","handle_wp_post_delete",10,160,{"type":206,"name":207,"callback":207,"file":208,"line":209},"filter","wp_default_editor","classes\\fields\\class.field.wysiwyg.php",21,{"type":143,"name":166,"callback":211,"file":212,"line":87},"attachments_pre_init","deprecated\\attachments.php",{"type":143,"name":144,"callback":214,"file":212,"line":215},"attachments_enqueues",73,{"type":143,"name":187,"callback":217,"file":212,"line":218},"attachments_init_js",74,{"type":143,"name":183,"callback":220,"file":212,"line":221},"attachments_menu",77,{"type":143,"name":157,"callback":223,"file":212,"line":224},"attachments_localization",80,{"type":143,"name":194,"callback":226,"file":212,"line":160},"attachments_register_settings",{"type":143,"name":179,"callback":228,"file":212,"line":38},"attachments_save",{"type":143,"name":172,"callback":230,"file":212,"line":36},"attachments_meta_box",[],[],[],[],{"dangerousFunctions":236,"sqlUsage":243,"outputEscaping":245,"fileOperations":28,"externalRequests":28,"nonceChecks":338,"capabilityChecks":339,"bundledLibraries":340},[237,241],{"fn":238,"file":239,"line":160,"context":240},"unserialize","classes\\class.attachments.migrate.php","$data = unserialize( base64_decode( $attachment ) );",{"fn":238,"file":242,"line":218,"context":240},"deprecated\\get-attachments.php",{"prepared":28,"raw":28,"locations":244},[],{"escaped":246,"rawEcho":247,"locations":248},147,45,[249,252,254,256,258,260,262,264,266,268,270,272,274,276,278,280,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,311,313,315,317,319,321,324,325,327,329,330,332,335,336],{"file":147,"line":250,"context":251},179,"raw output",{"file":239,"line":253,"context":251},177,{"file":239,"line":255,"context":251},232,{"file":239,"line":257,"context":251},257,{"file":239,"line":259,"context":251},321,{"file":239,"line":261,"context":251},346,{"file":239,"line":263,"context":251},347,{"file":239,"line":265,"context":251},348,{"file":239,"line":267,"context":251},352,{"file":239,"line":269,"context":251},561,{"file":239,"line":271,"context":251},566,{"file":239,"line":273,"context":251},567,{"file":239,"line":275,"context":251},568,{"file":239,"line":277,"context":251},573,{"file":239,"line":279,"context":251},576,{"file":239,"line":279,"context":251},{"file":239,"line":282,"context":251},698,{"file":239,"line":284,"context":251},705,{"file":239,"line":286,"context":251},709,{"file":239,"line":288,"context":251},731,{"file":239,"line":290,"context":251},734,{"file":239,"line":292,"context":251},739,{"file":239,"line":294,"context":251},741,{"file":239,"line":296,"context":251},742,{"file":239,"line":298,"context":251},754,{"file":239,"line":300,"context":251},761,{"file":239,"line":302,"context":251},785,{"file":239,"line":304,"context":251},787,{"file":159,"line":306,"context":251},720,{"file":159,"line":308,"context":251},747,{"file":159,"line":310,"context":251},748,{"file":159,"line":312,"context":251},749,{"file":159,"line":314,"context":251},817,{"file":159,"line":316,"context":251},1285,{"file":159,"line":318,"context":251},1352,{"file":159,"line":320,"context":251},1365,{"file":322,"line":323,"context":251},"classes\\fields\\class.field.select.php",64,{"file":208,"line":14,"context":251},{"file":212,"line":326,"context":251},244,{"file":212,"line":328,"context":251},245,{"file":212,"line":328,"context":251},{"file":212,"line":331,"context":251},361,{"file":333,"line":334,"context":251},"views\\options.php",66,{"file":333,"line":185,"context":251},{"file":333,"line":337,"context":251},116,8,5,[],[342,360],{"entryPoint":343,"graph":344,"unsanitizedCount":28,"severity":359},"init_migration (classes\\class.attachments.migrate.php:223)",{"nodes":345,"edges":356},[346,351],{"id":347,"type":348,"label":349,"file":239,"line":350},"n0","source","$_GET",228,{"id":352,"type":353,"label":354,"file":239,"line":255,"wp_function":355},"n1","sink","echo() [XSS]","echo",[357],{"from":347,"to":352,"sanitized":358},true,"low",{"entryPoint":361,"graph":362,"unsanitizedCount":28,"severity":359},"\u003Cclass.attachments.migrate> (classes\\class.attachments.migrate.php:0)",{"nodes":363,"edges":366},[364,365],{"id":347,"type":348,"label":349,"file":239,"line":350},{"id":352,"type":353,"label":354,"file":239,"line":255,"wp_function":355},[367],{"from":347,"to":352,"sanitized":358},{"summary":369,"deductions":370},"The \"attachments\" plugin v3.5.11 demonstrates a strong security posture overall, with no recorded vulnerabilities or CVEs. The static analysis reveals a minimal attack surface, with no identified AJAX handlers, REST API routes, shortcodes, or cron events that are unprotected by authentication or permission checks. The plugin also utilizes prepared statements for all its SQL queries and avoids file operations and external HTTP requests, further reducing potential risks. However, the presence of two instances of the `unserialize` function warrants attention, as it can be a vector for deserialization vulnerabilities if not handled with extreme care and input validation. While taint analysis found no unsanitized paths or critical\u002Fhigh severity flows, the `unserialize` function itself is a known risk factor. The plugin also has a good proportion of properly escaped outputs, though a quarter of them are not, which could lead to XSS vulnerabilities in specific scenarios.  The consistent lack of past vulnerabilities and the presence of nonce and capability checks indicate a development team that prioritizes security. Nevertheless, the `unserialize` usage is a notable area of concern that slightly diminishes an otherwise very good security score.",[371,373],{"reason":372,"points":338},"Dangerous function 'unserialize' used",{"reason":374,"points":375},"Output escaping is not 100%",4,"2026-03-16T17:56:59.078Z",{"wat":378,"direct":383},{"assetPaths":379,"generatorPatterns":380,"scriptPaths":381,"versionParams":382},[],[],[],[],{"cssClasses":384,"htmlComments":385,"htmlAttributes":386,"restEndpoints":387,"jsGlobals":388,"shortcodeOutput":389},[],[],[],[],[],[]]