[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fEHXZ9LX6lg8XAdOureG5YtAN-Z1Sk0zWomhYf3pelc4":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":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":24,"download_link":25,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":37,"analysis":133,"fingerprints":237},"theme-junkie-portfolio-content","Junkie Portfolio","1.0.1","Theme Junkie","https:\u002F\u002Fprofiles.wordpress.org\u002Fthemejunkie\u002F","\u003Cp>This plugin adds a portfolio custom post type to your WordPress website to manage your works\u002Fprojects. It should work with any WordPress themes but you need to create templates for \u003Ccode>archive-portfolio.php\u003C\u002Fcode> and \u003Ccode>single-portfolio.php\u003C\u002Fcode> to display the portfolio.\u003C\u002Fp>\n\u003Cp>It has built-in meta boxes to add more data to your portfolio such as:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Project image gallery\u003C\u002Fli>\n\u003Cli>Client name\u003C\u002Fli>\n\u003Cli>Project link\u003C\u002Fli>\n\u003Cli>Video embed (\u003Cem>yes you can switch the image gallery with video\u003C\u002Fem>)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Plugin Info\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Developed by \u003Ca href=\"https:\u002F\u002Fwww.theme-junkie.com\u002F\" rel=\"nofollow ugc\">Theme Junkie\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Check out the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fthemejunkie\u002Ftheme-junkie-portfolio-content\" rel=\"nofollow ugc\">Github\u003C\u002Fa> repo to contribute.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Note for Theme Junkie user\u003C\u002Fh4>\n\u003Cp>Please \u003Cstrong>DO NOT\u003C\u002Fstrong> install this plugin before we finish to migrate all themes to this plugin or it will be conflicted with Portfolio post type in the theme you use.\u003C\u002Fp>\n","Adds a Portfolio section to your WordPress website.",100,5064,0,"2022-10-26T15:51:00.000Z","6.1.10","4.0","5.6",[19,20,21,22,23],"custom-post-type","portfolio","post-type","project","taxonomy","https:\u002F\u002Fwww.theme-junkie.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftheme-junkie-portfolio-content.1.0.1.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":33,"avg_security_score":34,"avg_patch_time_days":35,"trust_score":34,"computed_at":36},"themejunkie",6,8510,81,30,"2026-04-04T15:39:01.026Z",[38,57,76,94,108],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":13,"downloaded":46,"rating":13,"num_ratings":13,"last_updated":47,"tested_up_to":48,"requires_at_least":49,"requires_php":50,"tags":51,"homepage":47,"download_link":55,"security_score":11,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":56},"prjcts","Prjcts","1.0.3","Matteo Conti","https:\u002F\u002Fprofiles.wordpress.org\u002Fmttconti\u002F","\u003Cp>“Prjcts” is the ideal plugin for WordPress theme developers who want to integrate a simple custom post type to organize and showcase projects. It’s perfect for implementing portfolios in themes designed for creatives, photographers, artists, and more.\u003C\u002Fp>\n\u003Ch4>Key Features:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Custom Post Type: Easily create and manage individual projects, perfect for portfolios, case studies, and galleries.\u003C\u002Fli>\n\u003Cli>Custom Categories: Organize projects with tailored categories for intuitive navigation.\u003C\u002Fli>\n\u003Cli>Flexible URLs: Customize project archive and taxonomy URLs to optimize SEO and enhance user experience.\u003C\u002Fli>\n\u003Cli>Optimized Performance: Developed following WordPress best practices for smooth integration.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Benefits for Theme Developers:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Time-Saving: Rapid implementation of a custom post type to organize and showcase projects without coding from scratch.\u003C\u002Fli>\n\u003Cli>Flexibility: Offer clients the power to organize their work professionally.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cp>There are several ways to display Custom Post Types (CPT) and custom taxonomies in a WordPress theme. Here are some basic examples:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Single Template (single-prjcts.php): When you create a CPT, you can create a specific template to display individual posts of that type by using a single-{post_type}.php file.\u003C\u002Fli>\n\u003Cli>Archive Template (archive-prjcts.php): To display a list of all posts of a particular CPT, you can create an archive-{post_type}.php file.\u003C\u002Fli>\n\u003Cli>Custom Taxonomy Template (taxonomy-prjcts_category.php): To display terms of a custom taxonomy associated with the CPT, you can create a file like taxonomy-{taxonomy}.php, where ‘prjcts_category’ is the name of the taxonomy.\u003C\u002Fli>\n\u003Cli>\n\u003Cp>You can use WP_Query to create custom queries anywhere in your theme. For example, if you want to display posts from a CPT on a specific page, you can create a new query:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>    \u003C?php\n\n    $args = array(\n        'post_type' => 'prjcts',\n        'posts_per_page' => 10,\n    );\n\n    $the_query = new WP_Query($args);\n\n    if ($the_query->have_posts()) :\n        while ($the_query->have_posts()) : $the_query->the_post();\n\n            \u002F\u002F YOUR MARKUP HERE\n\n        endwhile;\n        wp_reset_postdata();\n    else :\n        echo 'No posts found';\n    endif;\n\n    ?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003C\u002Fli>\n\u003C\u002Ful>\n","Effortlessly create a custom post type to organize projects with custom categories and flexible URL settings, perfect for WordPress theme developers.",1870,"","6.7.5","5.0","7.0",[19,52,20,53,54],"custom-taxonomy","projects","works","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fprjcts.1.0.3.zip","2026-03-15T10:48:56.248Z",{"slug":58,"name":59,"version":60,"author":61,"author_profile":62,"description":63,"short_description":64,"active_installs":65,"downloaded":66,"rating":11,"num_ratings":67,"last_updated":68,"tested_up_to":69,"requires_at_least":70,"requires_php":47,"tags":71,"homepage":74,"download_link":75,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"zillaportfolio","Zilla Portfolio","1.0","marksouthard","https:\u002F\u002Fprofiles.wordpress.org\u002Fmbsatunc\u002F","\u003Cp>This plugin adds the portfolio custom post type to your WordPress blog. By default, the plugin will append portfolio meta information (client, date, and project URL) to the portfolio post. It will prepend media elements (gallery, audio and video media) to portfolio posts.\u003C\u002Fp>\n\u003Ch3>Creating Themes for this Plugin\u003C\u002Fh3>\n\u003Cp>There are several handy bits that you can use within your theme:\u003Cbr \u002F>\n1. By default, the portfolio posts are displayed in the portfolio archive. However, you may want to create a custom page template that will display your portfolio posts. As such, you’ll need to disable the archives. In your theme’s function file, use the following code: \u003Ccode>\u003C?php if( !defined('TZP_DISABLE_ARCHIVE') ) define('TZP_DISABLE_ARCHIVE', TRUE); ?>\u003C\u002Fcode>\u003Cbr \u002F>\nThis will enable child themes to enable the portfolio archives if desired.\u003Cbr \u002F>\n2. Set custom slugs for ‘portfolio’ and ‘portfolio-type’ by defining constants for: \u003Ccode>TZP_SLUG\u003C\u002Fcode> and \u003Ccode>TZP_TAX_SLUG\u003C\u002Fcode>. After defining the constants, save the Permalink Settings. Also, define the constants as above to allow a child theme to customize the slugs.\u003Cbr \u002F>\n3. There are several actions and filters available for adding additional custom fields to the existings metaboxes. Have a look through metaboxes.php to see how these all play together.\u003Cbr \u002F>\n4. To prevent the media and meta from being added to the_content(), remove these filters: \u003Ccode>tzp_add_portfolio_post_media\u003C\u002Fcode> and \u003Ccode>tzp_add_portfolio_post_meta\u003C\u002Fcode>\u003Cbr \u002F>\n5. To update the image size used for galleries add a filter to ‘tzp_set_gallery_image_size’. Pass the string name or an array of the image size to be used.\u003C\u002Fp>\n\u003Ch3>Complete List of Constants and Actions\u002FFilters\u003C\u002Fh3>\n\u003Cp>\u003Cem>Constants\u003C\u002Fem>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>TZP_DISABLE_CSS\u003C\u002Fcode> set to true to prevent plugin from loading basic CSS\u003C\u002Fli>\n\u003Cli>\u003Ccode>TZP_PORTFOLIO_ORDER\u003C\u002Fcode> default is ‘ASC’\u003C\u002Fli>\n\u003Cli>\u003Ccode>TZP_PORTFOLIO_ORDERBY\u003C\u002Fcode> default is ‘menu_order’\u003C\u002Fli>\n\u003Cli>\u003Ccode>TZP_DISABLE_ARCHIVE\u003C\u002Fcode> default is false\u003C\u002Fli>\n\u003Cli>\u003Ccode>TZP_SLUG\u003C\u002Fcode> default is ‘portfolio’\u003C\u002Fli>\n\u003Cli>\u003Ccode>TZP_DISABLE_REWRITE\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>TZP_TAX_SLUG\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>TZP_DISABLE_MEDIAELEMENT_STYLE\u003C\u002Fcode> prevent the plugin from loading the default mediaelement stylesheet\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cem>Actions\u003C\u002Fem>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>tzp_portfolio_settings_meta_box_fields\u003C\u002Fcode> add meta fields to the settings section\u003C\u002Fli>\n\u003Cli>\u003Ccode>tzp_portfolio_gallery_meta_box_fields\u003C\u002Fcode> add meta fields to the gallery section\u003C\u002Fli>\n\u003Cli>\u003Ccode>tzp_portfolio_audio_meta_box_fields\u003C\u002Fcode> add meta fields to the audio section\u003C\u002Fli>\n\u003Cli>\u003Ccode>tzp_portfolio_video_meta_box_fields\u003C\u002Fcode> add meta fields to the video section\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cem>Actions added in plugin that you may want to remove\u003C\u002Fem>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>tzp_add_custom_css\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>tzp_portfolios_display_order\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cem>Filters\u003C\u002Fem>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>tzp_metabox_fields_save\u003C\u002Fcode> add fields to be saved (use url, html, checkbox, or images for sanitization)\u003C\u002Fli>\n\u003Cli>\u003Ccode>tzp_gallery_classes\u003C\u002Fcode> class added to gallery; default is tzp-portfolio-gallery\u003C\u002Fli>\n\u003Cli>\u003Ccode>tzp_set_gallery_image_size\u003C\u002Fcode> default image size is ‘full’\u003C\u002Fli>\n\u003Cli>\u003Ccode>tzp_portfolio_labels\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>tzp_portfolio_supports\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>tzp_portfolio_post_type_args\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>tzp_portfolio_type_labels\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>tzp_portfolio_type_args\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cem>Filters applied in plugin that you may want to remove\u003C\u002Fem>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>tzp_add_portfolio_post_media\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>tzp_add_portfolio_post_meta\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n","A complete portfolio plugin for creative folks",400,13543,2,"2016-03-31T15:27:00.000Z","4.5.33","3.5",[19,52,20,72,73],"theme-zilla","themezilla","http:\u002F\u002Fthemezilla.com\u002Fplugins\u002Fzilla-portfolio","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fzillaportfolio.zip",{"slug":77,"name":78,"version":79,"author":80,"author_profile":81,"description":82,"short_description":83,"active_installs":84,"downloaded":85,"rating":13,"num_ratings":13,"last_updated":86,"tested_up_to":87,"requires_at_least":16,"requires_php":88,"tags":89,"homepage":92,"download_link":93,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"portfolio-cpt","Portfolio CPT","1.0.0","DannyCooper","https:\u002F\u002Fprofiles.wordpress.org\u002Fdannycooper\u002F","\u003Cp>Enables a \u003Cstrong>Portfolio\u003C\u002Fstrong> post type and \u003Cstrong>Portfolio Tags\u003C\u002Fstrong> taxonomy.\u003C\u002Fp>\n\u003Cp>The plugin adds a Portfolio tab to your admin menu, which allows you to add Items just as you would regular posts. This allows you to keep your work even if you change theme.\u003C\u002Fp>\n\u003Ch4>Bugs\u003C\u002Fh4>\n\u003Cp>If you find an issue, let us know \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fportfolio-cpt\" rel=\"ugc\">here\u003C\u002Fa>!\u003C\u002Fp>\n\u003Ch4>Contributions\u003C\u002Fh4>\n\u003Cp>Anyone is welcome to contribute to the Knowledge Base CPT plugin.\u003C\u002Fp>\n\u003Cp>There are various ways you can contribute:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Raise an \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fportfolio-cpt\" rel=\"ugc\">Issue\u003C\u002Fa> on GitHub\u003C\u002Fli>\n\u003Cli>Translate the Knowledge Base CPT plugin into \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fportfolio-cpt\" rel=\"nofollow ugc\">different languages\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Fol>\n","Enables a 'Portfolio' type and 'Portfolio Tags' taxonomy.",300,5017,"2018-08-30T17:50:00.000Z","4.9.29","5.2",[90,19,91,20,53],"art-portfolio","photography-portfolio","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fportfolio-cpt\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fportfolio-cpt.zip",{"slug":95,"name":96,"version":79,"author":97,"author_profile":98,"description":99,"short_description":100,"active_installs":13,"downloaded":101,"rating":13,"num_ratings":13,"last_updated":102,"tested_up_to":103,"requires_at_least":49,"requires_php":50,"tags":104,"homepage":106,"download_link":107,"security_score":11,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"as-project-portfolio","AS Project Portfolio","Ahmed Shaikh","https:\u002F\u002Fprofiles.wordpress.org\u002Fahmedshaikh0\u002F","\u003Cp>Project Portfolio adds a custom post type called “Projects” that allows users to create, manage, and display portfolios. It also includes:\u003Cbr \u002F>\n– Custom meta fields (description, client name, date, URL)\u003Cbr \u002F>\n– Admin dashboard for quick project overview\u003Cbr \u002F>\n– A frontend shortcode [project_portfolio] to display all projects\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the GPLv2 or later.\u003C\u002Fp>\n","A simple plugin to add a custom post type for managing and displaying project portfolios with a shortcode and admin dashboard.",206,"2025-08-25T09:04:00.000Z","6.8.5",[19,20,53,105],"shortcode","https:\u002F\u002Fgithub.com\u002FAhmedShaikh0\u002Fas-project-portfolio","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fas-project-portfolio.1.0.0.zip",{"slug":109,"name":110,"version":111,"author":112,"author_profile":113,"description":114,"short_description":115,"active_installs":116,"downloaded":117,"rating":118,"num_ratings":119,"last_updated":120,"tested_up_to":121,"requires_at_least":122,"requires_php":123,"tags":124,"homepage":128,"download_link":129,"security_score":130,"vuln_count":131,"unpatched_count":13,"last_vuln_date":132,"fetched_at":28},"custom-post-type-ui","Custom Post Type UI","1.18.3","webdevstudios","https:\u002F\u002Fprofiles.wordpress.org\u002Fwebdevstudios\u002F","\u003Cp>Custom Post Type UI provides an easy-to-use interface for registering and managing custom post types and taxonomies for your website.\u003C\u002Fp>\n\u003Ch4>Custom Post Type UI Extended\u003C\u002Fh4>\n\u003Cp>CPTUI helps create custom content types, but displaying that content can be a whole new challenge. \u003Ca href=\"https:\u002F\u002Fpluginize.com\u002Fplugins\u002Fcustom-post-type-ui-extended\u002F?utm_source=cptui-desription&utm_medium=text&utm_campaign=wporg\" rel=\"nofollow ugc\">Custom Post Type UI Extended\u003C\u002Fa> was created to help with displaying your crafted content. \u003Ca href=\"https:\u002F\u002Fpluginize.com\u002Fcpt-ui-extended-features\u002F?utm_source=cptui-description-examples&utm_medium=text&utm_campaign=wporg\" rel=\"nofollow ugc\">View our Layouts page\u003C\u002Fa> to see available layout examples with Custom Post Type UI Extended.\u003C\u002Fp>\n\u003Ch4>Plugin development\u003C\u002Fh4>\n\u003Cp>Custom Post Type UI development is managed on GitHub, with official releases published on WordPress.org. The GitHub repo can be found at \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FWebDevStudios\u002Fcustom-post-type-ui\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002FWebDevStudios\u002Fcustom-post-type-ui\u003C\u002Fa>. Please use the WordPress.org support tab for potential bugs, issues, or enhancement ideas.\u003C\u002Fp>\n","Admin UI for creating custom content types like post types and taxonomies",1000000,22529808,92,273,"2026-01-08T20:43:00.000Z","6.9.4","6.6","7.4",[125,126,21,23,127],"content-types","custom-post-types","types","https:\u002F\u002Fgithub.com\u002FWebDevStudios\u002Fcustom-post-type-ui\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcustom-post-type-ui.1.18.3.zip",93,4,"2025-12-12 00:00:00",{"attackSurface":134,"codeSignals":215,"taintFlows":232,"riskAssessment":233,"analyzedAt":236},{"hooks":135,"ajaxHandlers":211,"restRoutes":212,"shortcodes":213,"cronEvents":214,"entryPointCount":13,"unprotectedCount":13},[136,142,148,152,156,160,164,168,172,177,181,185,188,191,197,200,204,207],{"type":137,"name":138,"callback":139,"file":140,"line":141},"action","admin_menu","tjpc_admin_setup","admin\\admin.php",14,{"type":143,"name":144,"callback":145,"priority":146,"file":140,"line":147},"filter","enter_title_here","tjpc_title_placeholder",10,25,{"type":137,"name":149,"callback":150,"file":140,"line":151},"do_meta_boxes","tjpc_move_discussion_meta_box",28,{"type":143,"name":153,"callback":154,"file":140,"line":155},"manage_edit-portfolio_columns","tjpc_edit_portfolio_columns",31,{"type":137,"name":157,"callback":158,"priority":146,"file":140,"line":159},"manage_portfolio_posts_custom_column","tjpc_manage_portfolio_columns",32,{"type":143,"name":161,"callback":162,"file":140,"line":163},"manage_edit-portfolio_sortable_columns","tjpc_column_sortable",33,{"type":137,"name":165,"callback":166,"file":167,"line":141},"add_meta_boxes","tjpc_add_meta_boxes","admin\\metabox.php",{"type":137,"name":169,"callback":170,"priority":146,"file":167,"line":171},"save_post","tjpc_meta_boxes_save",17,{"type":137,"name":173,"callback":174,"file":175,"line":176},"init","tjpc_add_image_size","inc\\functions.php",13,{"type":137,"name":173,"callback":178,"priority":179,"file":175,"line":180},"tjpc_remove_theme_support_metabox",11,16,{"type":143,"name":182,"callback":183,"file":184,"line":176},"post_updated_messages","tjpc_updated_messages","inc\\messages.php",{"type":137,"name":173,"callback":186,"file":187,"line":141},"tjpc_register_post_type","inc\\post-type.php",{"type":137,"name":173,"callback":189,"file":190,"line":141},"tjpc_register_taxonomy","inc\\taxonomy.php",{"type":137,"name":192,"callback":193,"priority":194,"file":195,"line":196},"plugins_loaded","constants",1,"tj-portfolio-content.php",44,{"type":137,"name":192,"callback":198,"priority":67,"file":195,"line":199},"i18n",47,{"type":137,"name":192,"callback":201,"priority":202,"file":195,"line":203},"admin",3,50,{"type":137,"name":192,"callback":205,"priority":131,"file":195,"line":206},"includes",53,{"type":137,"name":208,"callback":209,"file":195,"line":210},"admin_enqueue_scripts","admin_scripts",56,[],[],[],[],{"dangerousFunctions":216,"sqlUsage":217,"outputEscaping":219,"fileOperations":13,"externalRequests":13,"nonceChecks":194,"capabilityChecks":131,"bundledLibraries":231},[],{"prepared":13,"raw":13,"locations":218},[],{"escaped":220,"rawEcho":131,"locations":221},19,[222,225,227,229],{"file":140,"line":223,"context":224},120,"raw output",{"file":167,"line":226,"context":224},72,{"file":167,"line":228,"context":224},73,{"file":167,"line":230,"context":224},82,[],[],{"summary":234,"deductions":235},"Based on the static analysis and vulnerability history, the theme-junkie-portfolio-content plugin v1.0.1 exhibits a strong security posture. The absence of any AJAX handlers, REST API routes, shortcodes, or cron events significantly limits the potential attack surface.  Furthermore, the code demonstrates good development practices with a high percentage of properly escaped output, the exclusive use of prepared statements for SQL queries, and the presence of nonce and capability checks.\n\nTaint analysis revealed no unsanitized paths, indicating that data is likely handled securely within the plugin's scope. The lack of any recorded vulnerabilities, including CVEs, further strengthens this positive assessment. This suggests a well-maintained and secure plugin.\n\nIn conclusion, this plugin appears to be very secure. The developers have implemented robust security measures and have a clean vulnerability history. There are no immediate red flags or identified risks based on the provided data, making it a low-risk plugin from a security perspective.",[],"2026-03-16T21:10:53.173Z",{"wat":238,"direct":247},{"assetPaths":239,"generatorPatterns":242,"scriptPaths":243,"versionParams":244},[240,241],"\u002Fwp-content\u002Fplugins\u002Ftheme-junkie-portfolio-content\u002Fassets\u002Fcss\u002Fadmin.css","\u002Fwp-content\u002Fplugins\u002Ftheme-junkie-portfolio-content\u002Fassets\u002Fjs\u002Fmedia.js",[],[241],[245,246],"\u002Fwp-content\u002Fplugins\u002Ftheme-junkie-portfolio-content\u002Fassets\u002Fcss\u002Fadmin.css?ver=","\u002Fwp-content\u002Fplugins\u002Ftheme-junkie-portfolio-content\u002Fassets\u002Fjs\u002Fmedia.js?ver=",{"cssClasses":248,"htmlComments":249,"htmlAttributes":250,"restEndpoints":251,"jsGlobals":252,"shortcodeOutput":254},[],[],[],[],[253],"tjpc_media",[]]