[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fWavwFZFzJ5wnh65EdjzBYPCGF-PQ9XCL1tgwK9h8Mag":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":137,"fingerprints":814},"portfolio-manager-lite","Portfolio Manager Lite","1.20","OTWthemes","https:\u002F\u002Fprofiles.wordpress.org\u002Fotwthemes\u002F","\u003Cp>Portfolio plugin for any theme. Show your work in beautiful portfolio lists. Easily, No coding. Well organized. 5 media types. Variety of templates and options.\u003C\u002Fp>\n\u003Cp>The Portfolio Manager can also be used to create beautiful image galleries. Every template can display just the images.\u003C\u002Fp>\n\u003Cp>Check on the Portfolio Manager Lite:  \u003Ca href=\"http:\u002F\u002Fotwthemes.com\u002Fdemos\u002F1ts\u002F?item=Portfolio%20Manager%20Lite&utm_source=wp.org&utm_medium=page&utm_content=demo&utm_campaign=pm\" rel=\"nofollow ugc\">Demo site\u003C\u002Fa> | \u003Ca href=\"http:\u002F\u002Fotwthemes.com\u002Fonline-documentation-portfolio-manager-lite\u002F?utm_source=wp.org&utm_medium=page&utm_content=docs&utm_campaign=pm\" rel=\"nofollow ugc\">Documentation page\u003C\u002Fa>\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>Upgrade to the \u003Cstrong>Pro version\u003C\u002Fstrong> of this plugin including tons of more features, regular updates and premium support:\u003C\u002Fp>\n\u003Cp>  \u003Ca href=\"https:\u002F\u002F1.envato.market\u002Fc\u002F1246358\u002F275988\u002F4415?subId1=pm&subId2=2020&subId3=https%3A%2F%2Fcodecanyon.net%2Fitem%2Fportfolio-manager-pro-wordpress-responsive-portfolio-gallery%2F16644715&u=https%3A%2F%2Fcodecanyon.net%2Fitem%2Fportfolio-manager-pro-wordpress-responsive-portfolio-gallery%2F16644715\" rel=\"nofollow ugc\">Portfolio Manager Pro\u003C\u002Fa> |\u003Cbr \u002F>\n  \u003Ca href=\"http:\u002F\u002Fotwthemes.com\u002Fdemos\u002F1ts\u002Fredirect.php?item=Portfolio%20Manager%20Pro&utm_source=wp.org&utm_medium=page&utm_content=upgrade&utm_campaign=pm\" rel=\"nofollow ugc\">Demo site\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>\u003Cstrong>How Portfolio Manager works – The workflow\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>It is pretty easy to create a beautiful portfolio list or a gallery. It is all done in the plugin interface with zero coding requirement.\u003C\u002Fp>\n\u003Cp>The short version is:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Upload portfolio items\u003C\u002Fli>\n\u003Cli>Create lists\u003C\u002Fli>\n\u003Cli>Display the lists wherever you need them\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Bellow we go in a little more details.\u003C\u002Fp>\n\u003Cp>First you need to upload your portfolio\u002Fgallery items. Each item is a separate post similar to the default WordPress posts. You can fill in variety of options for each portfolio posts: title, description, short description, details, upload media, and choose categories and tags.\u003C\u002Fp>\n\u003Cp>Once you have uploaded your portfolio items you can create lists with them:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Choose a template \u003C\u002Fli>\n\u003Cli>Select the portfolio items to display\u003C\u002Fli>\n\u003Cli>Modify the layout by using the settings for your list\u003C\u002Fli>\n\u003Cli>Add some custom styling via the custom css field, if needed.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Once you have a list created you can display it wherever you need: your pages, your template files, your sidebars as a widget.\u003C\u002Fp>\n\u003Cp>There is no limit for the number of portfolio items or lists you can create. Have as many as you need.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Templates\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>This plugin comes with 8 templates to choose from. Once you select a template then you can customize it however you want.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Grid – Portfolio 1 col\u003C\u002Fli>\n\u003Cli>Grid – Portfolio 4 col\u003C\u002Fli>\n\u003Cli>Image Left – Portfolio 1 column\u003C\u002Fli>\n\u003Cli>Newspaper – Portfolio 3 columns\u003C\u002Fli>\n\u003Cli>Widget Style – Image Left\u003C\u002Fli>\n\u003Cli>Timeline\u003C\u002Fli>\n\u003Cli>Slider \u003C\u002Fli>\n\u003Cli>Carousel 3 columns\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Select and re-arrange list item’s content\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>For each portfolio list you can choose to show or hide the following content. You can also re-arrange it. It is all drag and drop, easy!\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Title\u003C\u002Fli>\n\u003Cli>Media\u003C\u002Fli>\n\u003Cli>Portfolio item details\u003C\u002Fli>\n\u003Cli>Excerpt text\u003C\u002Fli>\n\u003Cli>Continue reading\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Single portfolio items\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Portfolio items are well organized in a portfolio custom post type, categories, tags and item details. Use the Media Left template or the default theme’s post template to present your portfolio post items.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Media Types\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Select media types for your portfolio items \u002F posts:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Image\u003C\u002Fli>\n\u003Cli>Slider\u003C\u002Fli>\n\u003Cli>Youtube\u003C\u002Fli>\n\u003Cli>Vimeo\u003C\u002Fli>\n\u003Cli>Soundcloud\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Images are optimized to save your hosting storage. Do not worry, quality stays as the original image you have uploaded.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Add a list in your site\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Once you have created a portfolio list you can add it everywhere in your site:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>In page\u002Fpost content area (WYSIWYG editor)\u003C\u002Fli>\n\u003Cli>In template files\u003C\u002Fli>\n\u003Cli>In a sidebar\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Every list has a shortcode you can use to add the list in a page\u002Fpost content area. Or add it in a template file by using the do_shortcode WordPress function. The plugin comes with a widget that can be used to add portfolio posts list in a sidebar.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Styling\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Style your list using the Custom CSS class name.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Translation\u002FLocalization\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>This plugin comes Localization\u002FInternationalization ready. It is following WordPress I18n standards.\u003C\u002Fp>\n\u003Cp>This plugin is \u003Ca href=\"https:\u002F\u002Fwpml.org\u002F?aid=20539&affiliate_key=qJ3LIXBmmhqR\" rel=\"nofollow ugc\">100% WPML compatible\u003C\u002Fa> too.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Pro version of the plugin\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Pro version coming soon!\u003C\u002Fp>\n\u003Cp>Some of the features of the Pro version:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>40+ ready to use templates\u003C\u002Fli>\n\u003Cli>Page builder\u003C\u002Fli>\n\u003Cli>Tabs for single portfolio items\u003C\u002Fli>\n\u003Cli>Create unlimited portfolio item details\u003C\u002Fli>\n\u003Cli>Single post template builder\u003C\u002Fli>\n\u003Cli>More single portfolio options – show title, previous\u002Fnext navigation, related posts, edit option titles, media cropping, lightbox\u003C\u002Fli>\n\u003Cli>More add list options – exclude categories, tags, authors, delimiter, Load more pagination, Infinite scroll, border and background, social icons, list title and link, click on image and title link to lightbox, 20 hover effects, strip html tags and shortcodes, edit continue reading, portfolio item details elements and order, styling interface\u003C\u002Fli>\n\u003Cli>Translation\u002FLocalization .po\u002F.mo files ready to use\u003C\u002Fli>\n\u003Cli>Support and free updates.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Follow on \u003Ca href=\"http:\u002F\u002Ftwitter.com\u002FOTWthemes\" rel=\"nofollow ugc\">Twitter\u003C\u002Fa> |\u003Cbr \u002F>\n\u003Ca href=\"http:\u002F\u002Fwww.facebook.com\u002Fpages\u002FOTWthemes\u002F250294028325665\" rel=\"nofollow ugc\">Facebook\u003C\u002Fa> |\u003Cbr \u002F>\n\u003Ca href=\"http:\u002F\u002Fwww.youtube.com\u002FOTWthemes\" rel=\"nofollow ugc\">YouTube\u003C\u002Fa> |\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fplus.google.com\u002F117222060323479158835\u002Fabout\" rel=\"nofollow ugc\">Google +\u003C\u002Fa>\u003C\u002Fp>\n","A Portfolio plugin to help you show your work in beautiful portfolio lists.",100,17096,74,9,"2022-05-06T08:33:00.000Z","5.9.13","3.8","",[20,21,22,23,24],"drag-and-drop","gallery","portfolio","portfolio-list","responsive","http:\u002F\u002FOTWthemes.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fportfolio-manager-lite.zip",85,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},"otwthemes",12,5860,66,30,70,"2026-04-04T01:16:05.857Z",[41,66,85,103,125],{"slug":42,"name":43,"version":44,"author":45,"author_profile":46,"description":47,"short_description":48,"active_installs":49,"downloaded":50,"rating":51,"num_ratings":52,"last_updated":53,"tested_up_to":54,"requires_at_least":55,"requires_php":56,"tags":57,"homepage":61,"download_link":62,"security_score":63,"vuln_count":64,"unpatched_count":28,"last_vuln_date":65,"fetched_at":30},"portfolio-elementor","PowerFolio – Portfolio & Image Gallery for Elementor","3.2.5","Diego Pereira","https:\u002F\u002Fprofiles.wordpress.org\u002Fdotrex\u002F","\u003Cp>A powerful portfolio and gallery plugin for WP, Elementor and Gutenberg. Create portfolio and image galleries in seconds using any page builder!\u003C\u002Fp>\n\u003Ch3>A Powerful Portfolio and Gallery Plugin for Elementor\u003C\u002Fh3>\n\u003Cp>WordPress has changed. Page builders have made it easier than ever to create websites.\u003C\u002Fp>\n\u003Cp>Powerfolio arrives to complement this new generation of WordPress, making it possible to create portfolios and image galleries in an easy and fast way, fully integrated with WordPress page builders.\u003C\u002Fp>\n\u003Ch3>Plugin Demo\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fpowerfoliowp.com\u002F\" rel=\"nofollow ugc\">Click here to see the portfolio demo\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>The first impression is what matters\u003C\u002Fh3>\n\u003Cp>Do you want to display projects in a classic grid or in a masonry layout? Or do you prefer an exclusive format, where each item has a specific size? With Powerfolio, you can choose any of these options.\u003C\u002Fp>\n\u003Cp>Powerfolio allows you to create a professional portfolio or an image gallery in a few seconds using your preferred page builder (Gutenberg or Elementor).\u003C\u002Fp>\n\u003Cp>It is possible, in a few clicks, to choose the number of columns, define category filters and customize hover effects, backgrounds, colors, CSS options, Animations, and much more.\u003C\u002Fp>\n\u003Ch3>Compatible With Elementor\u003C\u002Fh3>\n\u003Cp>Powerfolio is 100% compatible with Elementor. It means that you can use our portfolio for elementor or image gallery elementor widgets to create a gallery grid on any page and edit using the page builder features of Elementor.\u003C\u002Fp>\n\u003Ch3>Integrated with Gutenberg\u003C\u002Fh3>\n\u003Cp>Powerfolio is also compatible with Gutenberg, the block editor from WordPress. With our Portfolio and Image Gallery blocks you can easily create and customize filterable image grids using the visual editor from WordPress.\u003C\u002Fp>\n\u003Ch3>Filterable Galleries\u003C\u002Fh3>\n\u003Cp>Powerfolio has built-in filterable gallery option. By activating it, your users will be able to filter the items in the gallery according to the selected category.\u003C\u002Fp>\n\u003Ch3>CSS Animations and Transition Effects\u003C\u002Fh3>\n\u003Cp>You can choose from several transition effects for your portfolio or image grid. A simple way to delight your users.\u003C\u002Fp>\n\u003Ch3>Custom Grids\u003C\u002Fh3>\n\u003Cp>There are several grid options to choose from, like the classic box grid, masonry and custom grids.\u003Cbr \u002F>\nYou can also create your own custom grid by changing the width and height of each item in the gallery (PRO version only)\u003C\u002Fp>\n\u003Ch3>Fully Responsive\u003C\u002Fh3>\n\u003Cp>Portfolios are 100% responsive, this means that your portfolio or gallery will work perfectly on any screen, such as monitors, tablets and mobile phones.\u003C\u002Fp>\n\u003Ch3>Demo Videos\u003C\u002Fh3>\n\u003Cp>Getting started with your first portfolio #1\u003Cbr \u002F>\n\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\u002F6wrMp5li8ns?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>Getting started with your first portfolio #2\u003Cbr \u002F>\n\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\u002FeikLVsTO0yw?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>This is a detailed tutorial on how to build a nice portfolio with the plugin\u003Cbr \u002F>\n\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\u002FsJFL3iG1Xjk?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\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Filterable Portfolio Addon\u002FWidget for Elementor\u003C\u002Fli>\n\u003Cli>Filterable Portfolio Block for WordPress\u002FGutenberg\u003C\u002Fli>\n\u003Cli>Filterable Image Gallery Addon\u002FWidget for Elementor\u003C\u002Fli>\n\u003Cli>Filterable Image Gallery Block for WordPress\u002FGutenberg\u003C\u002Fli>\n\u003Cli>Portfolio Shortcode Generator (available on the WP Classic Editor screen)\u003C\u002Fli>\n\u003Cli>Masonry, Boxed and custom Packery Grid layouts (and also a grid builder in PRO version!)\u003C\u002Fli>\n\u003Cli>You can show the projects on a modal or on a single page\u003C\u002Fli>\n\u003Cli>Compatible with Elementor (Portfolio Widget)\u003C\u002Fli>\n\u003Cli>Compatible with any page builder (using the shortcode option)\u003C\u002Fli>\n\u003Cli>2,3,4,5 or 6 columns\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Elementor Portfolio Widget\u002FAddon\u003C\u002Fh3>\n\u003Cp>With this Elementor portfolio widget, you can display the posts of the portfolio post type in a filterable gallery. You have options to customize everything, from the layout\u002Fgrid to the hover effects.\u003C\u002Fp>\n\u003Ch3>Filterable Image Gallery for Elementor Widget\u002FAddon\u003C\u002Fh3>\n\u003Cp>You can use the Elementor gallery widget to display a filterable image gallery in your page. You will have the same customization options as the portfolio for elementor widget.\u003C\u002Fp>\n\u003Ch3>Image Gallery GRID Builder (PRO Version)\u003C\u002Fh3>\n\u003Cp>With the grid builder, you will be able to customize the width and height of each item in your gallery. In combination with the packery layout and the filter, it allows you to create unique and magic grids.\u003C\u002Fp>\n\u003Ch3>Beta Features\u003C\u002Fh3>\n\u003Cp>We also have some features that are not the main purpose of the plugin but we can turn into main features of the plugin. E.g.\u003Cbr \u002F>\n* Posts Grid Addon\u002FWidget for Elementor\u003Cbr \u002F>\n* Woocommerce Products Grid Addon\u002FWidget for Elementor\u003Cbr \u002F>\n* 4 Post\u002FProduct Grid Styles – Classic, Masonry and 2 creative styles\u003C\u002Fp>\n\u003Ch3>POSTS GRID FOR ELEMENTOR WIDGET\u003C\u002Fh3>\n\u003Cp>With this Elementor widget, you can display the content of the “post” post type in a customizable post grid, with several style options.\u003C\u002Fp>\n\u003Ch3>PRODUCTS GRID FOR ELEMENTOR WIDGET\u003C\u002Fh3>\n\u003Cp>You can use this Elementor widget to display the products of your Woocommerce store.\u003C\u002Fp>\n\u003Ch3>PRO version Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Several hover animations\u002Feffects\u003C\u002Fli>\n\u003Cli>Several grid styles, including Special Grids\u003C\u002Fli>\n\u003Cli>Grid Builder\u003C\u002Fli>\n\u003Cli>Portfolio Carousel Widget\u003C\u002Fli>\n\u003Cli>Extra CSS effects and animations\u003C\u002Fli>\n\u003Cli>Option to display a specific portfolio category\u003C\u002Fli>\n\u003Cli>Option to display content from any post type to the grid\u003C\u002Fli>\n\u003Cli>Extra customization options\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Installation Instructions \u002F How to use\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Upload \u003Ccode>elementor-portfolio\u003C\u002Fcode> folder to the \u003Ccode>\u002Fwp-content\u002Fplugins\u002F\u003C\u002Fcode> directory\u003C\u002Fli>\n\u003Cli>Activate the plugin through the ‘Plugins’ menu in WordPress\u003C\u002Fli>\n\u003Cli>Click on the “Portfolio” link from the main menu\u003C\u002Fli>\n\u003Cli>Click on “Add New Item”, create your first portfolio content and publish. Create as many posts as you want.\u003C\u002Fli>\n\u003Cli>Create a new page using Elementor, or edit an existing one\u003C\u002Fli>\n\u003Cli>Drag and drop the portfolio widget to your page.\u003C\u002Fli>\n\u003Cli>Customize it using the widget options and publish the page.\u003C\u002Fli>\n\u003Cli>Done! Your new portfolio is ready!\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>How to display the filterable portfolio grid using a shortcode\u003C\u002Fh4>\n\u003Cp>The widget will be available in Elementor items. Just drag it to your website and select the customization options 🙂\u003C\u002Fp>\n\u003Cp>You can also use the shortcode to display the portfolio grid on a page\u002Fpost, or using Gutenberg and other page builders:\u003C\u002Fp>\n\u003Cp>[powerfolio]\u003C\u002Fp>\n\u003Cp>You can customize it using these options:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>postsperpage:\u003C\u002Fstrong> Set a number of posts to show (eg: postsperpage=”12″).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>showfilter\u003C\u002Fstrong>: Show the category filter on the top of the grid. Options: yes\u002Fno. (eg: showfilter=”yes”).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>style\u003C\u002Fstrong>: Set the grid style of the portfolio. Options: masonry\u002Fbox. (eg: style=”box”).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>linkto\u003C\u002Fstrong>: Set the link type of the portfolio item. If is set to image, it will open the Featured Image on a lightbox. Options: image\u002Fproject. (eg: linkto=”image”).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>columns\u003C\u002Fstrong>: Set the columns per row of the portfolio grid. Options: 2\u002F3\u002F4. (eg: columns=”4″).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>margin\u003C\u002Fstrong>: Choose if you want a margin between the items or no. Options: yes\u002Fno. (eg: margin=”no”).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Example of a complete shortcode:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>[powerfolio postsperpage=”12″ type=”no” showfilter=”yes” style=”masonry” linkto=”image” columns=”4″ margin=”no”]\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Example of a complete shortcode without the set properties:\u003C\u002Fstrong>\u003Cbr \u002F>\n[powerfolio postsperpage=”” showfilter=”” style=”” linkto=”” columns=”” margin=””]\u003C\u002Fp>\n","A powerful portfolio and gallery plugin for WP, Elementor and Gutenberg. Create portfolio and image galleries in seconds using any page builder!",10000,365982,90,11,"2025-12-03T22:46:00.000Z","6.9.4","4.0","7.4",[58,21,59,22,60],"elementor","image-gallery","responsive-portfolio","https:\u002F\u002Fpowerfoliowp.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fportfolio-elementor.3.2.5.zip",96,4,"2025-09-22 00:00:00",{"slug":67,"name":68,"version":69,"author":70,"author_profile":71,"description":72,"short_description":73,"active_installs":74,"downloaded":75,"rating":28,"num_ratings":28,"last_updated":76,"tested_up_to":54,"requires_at_least":55,"requires_php":77,"tags":78,"homepage":18,"download_link":81,"security_score":82,"vuln_count":83,"unpatched_count":28,"last_vuln_date":84,"fetched_at":30},"sight","Sight – Professional Image Gallery and Portfolio","1.1.6","codesupplyco","https:\u002F\u002Fprofiles.wordpress.org\u002Fcodesupplyco\u002F","\u003Cp>\u003Cstrong>Introducing Sight — a fast & simple way to create professional looking portfolios and neatly stunning image and video galleries — all with zero coding knowledge\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Whether you’re a photographer, designer, or creative agency looking for a fast and easy plugin to create portfolios and unlimited image and video galleries — Sight is designed for you.\u003C\u002Fp>\n\u003Cp>Create clean unlimited HD image and video product galleries with a simple dashboard to transform your or your client’s business. Create sleek professional-looking portfolios that simply amaze clients to secure better and more leads. \u003Cem>All while without ever messing with complex codes.\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Wondering how Sight is a better help for you?\u003C\u002Fp>\n\u003Cp>Have a look at the prominent features:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Fast Loading\u003C\u002Fstrong> — With a faster loading site, win over your competition and make your visitors stay on your website.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Adaptable with Every Device\u003C\u002Fstrong> — Sight is fully adaptable with all devices; desktops, mobiles, tabs — and allows you to choose how you want your website to look on each device.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Elementor and Gutenberg Support\u003C\u002Fstrong> — With Sight , you have the freedom to creatively customize your website the way you want.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Fully SEO-Friendly\u003C\u002Fstrong> — Get faster and higher rankings with Sight.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Easily Customizable\u003C\u002Fstrong> — If you can send an email, you can customize with Sight — it’s that easy.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Simple Fast Dashboard\u003C\u002Fstrong> — Fast and simple dashboard with easy controls settings that help you seamlessly customize your portfolio or gallery.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Video Support\u003C\u002Fstrong> — Showcase stunning videos of your work with the world by embedding YouTube or local videos.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Lightbox Effect\u003C\u002Fstrong> — Illustrate your product or work images using lightbox effect. Fully customize the size and width and other settings to showcase your photos however you want.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Multiple Color Combinations\u003C\u002Fstrong> — Alter colors of headings, captions, or hover over. Give your personal brand or enterprise a unique brandish look with a custom color layout.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Multiple Column Layout\u003C\u002Fstrong> — Create galleries of your work in Grid or Justified layout that suits your products or services perfectly.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Typography Settings\u003C\u002Fstrong> — Add headings, captions, and choose different sizes and colors to perfectly match your brand’s voice.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Query Settings\u003C\u002Fstrong> — Fine-tune your gallery through filters like post types, categories, date published, ascending or descending order. Help clients and visitors easily discover exactly what they’re looking for, fast and easy.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Portfolio Post Type\u003C\u002Fstrong> — Publish your amazing portfolio posts in a single categorized portfolio post type so that clients can easily discover your awesome work.\u003C\u002Fp>\n\u003Cp>…And, plenty of more exciting and useful stuff is coming to every next update.\u003C\u002Fp>\n\u003Cp>Sight isn’t just a plugin — it’s designed to work with you as a partner to help you easily and professionally showcase your stunning work, get more eyeballs, secure more leads, and win more business.\u003C\u002Fp>\n\u003Cp>Get Sight now to supercharge your professional work.\u003C\u002Fp>\n","Introducing Sight — a fast & simple way to create professional looking portfolios and neatly stunning image and video galleries — all with zero co &hellip;",4000,54837,"2025-12-03T14:22:00.000Z","5.4",[21,79,22,80,24],"image","projects","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsight.1.1.6.zip",99,1,"2024-09-25 00:00:00",{"slug":86,"name":87,"version":88,"author":89,"author_profile":90,"description":91,"short_description":92,"active_installs":93,"downloaded":94,"rating":51,"num_ratings":95,"last_updated":96,"tested_up_to":54,"requires_at_least":55,"requires_php":97,"tags":98,"homepage":100,"download_link":101,"security_score":11,"vuln_count":83,"unpatched_count":28,"last_vuln_date":102,"fetched_at":30},"filter-gallery","Filter Gallery","0.2.3","FARAZFRANK","https:\u002F\u002Fprofiles.wordpress.org\u002Ffarazfrank\u002F","\u003Cp>The \u003Cstrong>Responsive Filter Gallery\u003C\u002Fstrong> plugin makes it simple to create beautiful, organized image displays on your WordPress site. Whether you need a professional portfolio showcase, a product catalog, or a creative photography album, this tool lets you sort content dynamically without page reloads.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Check Free Version Demo:\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fwpfrank.com\u002Fdemo\u002Ffilter-gallery-free-wordpress-pluign\u002F\" rel=\"nofollow ugc\">Filter Gallery\u003C\u002Fa>\u003Cbr \u002F>\n\u003Cstrong>Check Pro Version Demo:\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fwpfrank.com\u002Fdemo\u002Ffilter-gallery-pro\u002F\" rel=\"nofollow ugc\">Filter Gallery Pro\u003C\u002Fa>\u003Cbr \u002F>\n\u003Cstrong>More About Pro:\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fwpfrank.com\u002Fwordpress-plugins\u002Ffilter-gallery-pro\u002F\" rel=\"nofollow ugc\">Filter Gallery Pro Features\u003C\u002Fa>\u003Cbr \u002F>\n\u003Cstrong>Where To Buy:\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fwpfrank.com\u002Faccount\u002Fsignup\u002Ffilter-gallery-pro\" rel=\"nofollow ugc\">Buy Filter Gallery Pro\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Video Tutorials\u003C\u002Fh4>\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\u002FtV4AvFGgC2U?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>We designed this plugin to be intuitive and lightweight. You can upload images, assign them to categories (filters), and let your visitors browse your work seamlessly. The gallery automatically adapts to desktops, tablets, and mobile screens, ensuring a perfect viewing experience everywhere.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Responsive Design:\u003C\u002Fstrong> Automatically adapts to any screen size.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Filterable Categories:\u003C\u002Fstrong> meaningful tags to organize your projects or products.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Bootstrap Integrated:\u003C\u002Fstrong> Built on the solid foundation of Bootstrap for reliability.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Easy Management:\u003C\u002Fstrong> Simple drag-and-drop interface for ordering images.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Unlimited Galleries:\u003C\u002Fstrong> Create as many distinctive galleries as you need.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Lightbox Support:\u003C\u002Fstrong> Includes a built-in lightbox for viewing full-size images.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shortcode System:\u003C\u002Fstrong> precise placement of galleries anywhere on your site.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Pro Version Features\u003C\u002Fh4>\n\u003Cp>Unlock the full potential of your portfolios with the Pro Version:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Unlimited Filters:\u003C\u002Fstrong> Create deep folder structures with parent and child filters.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Advanced Layouts:\u003C\u002Fstrong> Choose from Masonry, multi-column (2, 3, 4), and more.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Styling:\u003C\u002Fstrong> Full control over colors for buttons, titles, and active states.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>SEO Optimization:\u003C\u002Fstrong> Add “Alt” text to images for better search engine visibility.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>External Linking:\u003C\u002Fstrong> Link gallery images to custom URLs.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Hover Effects:\u003C\u002Fstrong> Choose from multiple distinct hover animations.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Premium Support:\u003C\u002Fstrong> Get priority assistance for any questions.\u003C\u002Fli>\n\u003C\u002Ful>\n","Build a responsive filter gallery for your portfolio. Organize images with filters in a stunning grid or masonry layout easily.",3000,54793,19,"2025-12-31T12:49:00.000Z","5.0",[86,59,99,22,24],"masonry","https:\u002F\u002Fwpfrank.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffilter-gallery.0.2.3.zip","2022-12-06 00:00:00",{"slug":104,"name":105,"version":106,"author":107,"author_profile":108,"description":109,"short_description":110,"active_installs":111,"downloaded":112,"rating":113,"num_ratings":114,"last_updated":115,"tested_up_to":54,"requires_at_least":55,"requires_php":116,"tags":117,"homepage":122,"download_link":123,"security_score":113,"vuln_count":83,"unpatched_count":28,"last_vuln_date":124,"fetched_at":30},"new-photo-gallery","Photo Gallery for Images","1.5.4","A WP Life","https:\u002F\u002Fprofiles.wordpress.org\u002Fawordpresslife\u002F","\u003Cp>New Photo Gallery offers a versatile solution for creating and managing image collections on your WordPress website. This plugin enables you to build responsive photo galleries that adjust seamlessly to different screen resolutions, ensuring a consistent viewing experience across desktop and mobile devices.\u003C\u002Fp>\n\u003Ch4>Check Live Demos\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fawplife.com\u002Fdemo\u002Fphoto-gallery-free-wordpress-plugin\u002F\" rel=\"nofollow ugc\">Photo Gallery Free\u003C\u002Fa>\u003C\u002Fstrong> | \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fawplife.com\u002Fdemo\u002Fphoto-gallery-premium\u002F\" rel=\"nofollow ugc\">Photo Gallery Premium\u003C\u002Fa>\u003C\u002Fstrong> | \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fawplife.com\u002Fwordpress-plugins\u002Fphoto-gallery-wordpress-plugin\u002F\" rel=\"nofollow ugc\">Where To Buy\u003C\u002Fa>\u003C\u002Fstrong>\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\u002FnAhzDfCTl6M?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>The core functionality centers on a grid-based display that keeps your images organized. When a visitor clicks on an item, it opens in a lightbox, providing a focused view of the image or video. This feature is particularly useful for portfolios, product showcases, or event albums where visual detail is important.\u003C\u002Fp>\n\u003Cp>Beyond standard images, the plugin supports video content from YouTube and Vimeo, allowing you to create mixed media galleries. You can also utilize the layout options to present team members or partner logos in a structured format. The interface is designed to be intuitive, letting you upload media and generate shortcodes without complex configuration.\u003C\u002Fp>\n\u003Ch4>What You Can Create\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Photo Gallery\u003C\u002Fstrong> – Organize your images in a clean, structured grid layout.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Portfolio Showcase\u003C\u002Fstrong> – Present your work professionally with optional hover effects.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Lightbox Display\u003C\u002Fstrong> – Enable users to view images in a full-screen overlay.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Video Gallery\u003C\u002Fstrong> – Integrate content directly from YouTube and Vimeo.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Team Layouts\u003C\u002Fstrong> – Introduce team members with photos and bios.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Brand Displays\u003C\u002Fstrong> – Show client logos or partner brands effectively.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Key Features (Free Version)\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Responsive grid system that adapts to any screen size.\u003C\u002Fli>\n\u003Cli>Lightbox functionality for viewing images and videos without leaving the page.\u003C\u002Fli>\n\u003Cli>Create unlimited galleries with no restriction on the number of images.\u003C\u002Fli>\n\u003Cli>Support for YouTube and Vimeo video embedding.\u003C\u002Fli>\n\u003Cli>Image protection for gallery\u003C\u002Fli>\n\u003Cli>Grayscale effect for images.\u003C\u002Fli>\n\u003Cli>Options to add titles and descriptions to your media.\u003C\u002Fli>\n\u003Cli>Multiple column configurations (ranging from 2 to 6 columns).\u003C\u002Fli>\n\u003Cli>Hover effects for gallery thumbnails.\u003C\u002Fli>\n\u003Cli>Shortcode system for easy insertion into posts and pages.\u003C\u002Fli>\n\u003Cli>Translation support for multilingual websites.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Premium Features\u003C\u002Fh4>\n\u003Cp>Upgrade to the premium version for additional capabilities:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Masonry Layout\u003C\u002Fstrong> – Utilize a dynamic Pinterest-style grid for varied image aspect ratios.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Advanced Hover Effects\u003C\u002Fstrong> – Choose from 30 distinct animation styles for thumbnails.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Load More Pagination\u003C\u002Fstrong> – Implement a “Load More” button for large collections.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Map Integration\u003C\u002Fstrong> – Associate images with location data on a map.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Links\u003C\u002Fstrong> – Attach specific URLs to individual gallery items.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Fixed Dimension Lightbox\u003C\u002Fstrong> – maintain consistent sizing for the lightbox viewer.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Transition Effects\u003C\u002Fstrong> – Smooth 2D animations when enhanced gallery navigation.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Visual Enhancements\u003C\u002Fstrong> – Apply shadow and glow effects to thumbnails.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Interface Customization\u003C\u002Fstrong> – Adjust colors for the lightbox tool and background.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom CSS\u003C\u002Fstrong> – Apply your own style rules for precise control.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Priority Support\u003C\u002Fstrong> – Receive direct assistance for technical inquiries.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fawplife.com\u002Fwordpress-plugins\u002Fphoto-gallery-wordpress-plugin\u002F\" rel=\"nofollow ugc\">Get Photo Gallery Premium\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>How to Use\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Navigate to \u003Cstrong>Photo Gallery > Add New\u003C\u002Fstrong> in your WordPress dashboard.\u003C\u002Fli>\n\u003Cli>Provide a title for your new gallery.\u003C\u002Fli>\n\u003Cli>Upload your desired images using the standard media uploader.\u003C\u002Fli>\n\u003Cli>Adjust the gallery settings, such as column count and spacing.\u003C\u002Fli>\n\u003Cli>Copy the shortcode generated by the plugin.\u003C\u002Fli>\n\u003Cli>Paste this shortcode into any page or post editor.\u003C\u002Fli>\n\u003Cli>Publish the page to view your live gallery.\u003C\u002Fli>\n\u003C\u002Fol>\n","Display photos in responsive grid and lightbox layouts. Build image galleries, portfolios, and video galleries.",2000,161148,98,14,"2025-12-29T09:51:00.000Z","7.0",[59,118,119,120,121],"lightbox-gallery","photo-gallery","portfolio-gallery","responsive-gallery","https:\u002F\u002Fawplife.com\u002Fwordpress-plugins\u002Fphoto-gallery-premium\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fnew-photo-gallery.1.5.4.zip","2024-04-29 00:00:00",{"slug":126,"name":127,"version":106,"author":107,"author_profile":108,"description":128,"short_description":129,"active_installs":130,"downloaded":131,"rating":11,"num_ratings":14,"last_updated":132,"tested_up_to":54,"requires_at_least":17,"requires_php":18,"tags":133,"homepage":134,"download_link":135,"security_score":113,"vuln_count":136,"unpatched_count":28,"last_vuln_date":124,"fetched_at":30},"new-grid-gallery","Grid Gallery for Images","\u003Cp>Grid Gallery helps you showcase your images in a clean, organized grid layout. Unlike traditional lightbox galleries, this one presents images in a slider-style preview while keeping the familiar gallery appearance. It’s a fresh approach that works well for photographers, artists, and anyone who wants their images to stand out.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>View Pro Demo:\u003C\u002Fstrong> \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fawplife.com\u002Fdemo\u002Fgrid-gallery-premium\u002F\" rel=\"nofollow ugc\">Grid Gallery Premium\u003C\u002Fa>\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cstrong>More About Pro:\u003C\u002Fstrong> \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fawplife.com\u002Fwordpress-plugins\u002Fgrid-gallery-wordpress-plugin\u002F\" rel=\"nofollow ugc\">Grid Gallery Premium Features\u003C\u002Fa>\u003C\u002Fstrong>\u003Cbr \u002F>\n\u003Cstrong>Where To buy:\u003C\u002Fstrong> \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fawplife.com\u002Faccount\u002Fsignup\u002Fgrid-gallery-premium\" rel=\"nofollow ugc\">Buy Grid Gallery Premium\u003C\u002Fa>\u003C\u002Fstrong>\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\u002FGusIaoInRJQ?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\u003Ch4>Why Choose Grid Gallery?\u003C\u002Fh4>\n\u003Cp>When visitors click on a thumbnail, the image opens smoothly within the gallery area – no popup windows or separate lightbox overlays. This keeps users engaged on your page while they browse through your photos.\u003C\u002Fp>\n\u003Cp>The gallery adapts to any screen size using CSS3 hardware acceleration, so it looks crisp and performs smoothly on phones, tablets, and desktops alike.\u003C\u002Fp>\n\u003Ch4>What You Can Do\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Build unlimited galleries with as many images as you need\u003C\u002Fli>\n\u003Cli>Display galleries anywhere using simple shortcodes\u003C\u002Fli>\n\u003Cli>Add titles and descriptions to your images\u003C\u002Fli>\n\u003Cli>Choose from multiple hover animation effects\u003C\u002Fli>\n\u003Cli>Customize column layouts to match your design\u003C\u002Fli>\n\u003Cli>Adjust animation speed and transition styles\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Perfect For\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Photography portfolios\u003C\u002Fli>\n\u003Cli>Art and design showcases\u003C\u002Fli>\n\u003Cli>Product catalogs\u003C\u002Fli>\n\u003Cli>Event photo collections\u003C\u002Fli>\n\u003Cli>Travel blogs\u003C\u002Fli>\n\u003Cli>Personal photo albums\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Free Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Responsive grid layout\u003C\u002Fli>\n\u003Cli>3 hover animation effects\u003C\u002Fli>\n\u003Cli>Shortcode support for pages and posts\u003C\u002Fli>\n\u003Cli>Image titles with show\u002Fhide option\u003C\u002Fli>\n\u003Cli>Navigation controls\u003C\u002Fli>\n\u003Cli>Mobile-friendly touch support\u003C\u002Fli>\n\u003Cli>Unlimited galleries\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Pro Features\u003C\u002Fh4>\n\u003Cp>The premium version adds more customization options for professional use:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>6 column layout options\u003C\u002Fli>\n\u003Cli>25 animation easing effects\u003C\u002Fli>\n\u003Cli>20 hover effects\u003C\u002Fli>\n\u003Cli>5 navigation button positions\u003C\u002Fli>\n\u003Cli>5 title and description positions\u003C\u002Fli>\n\u003Cli>Title on image preview\u003C\u002Fli>\n\u003Cli>Description on image preview\u003C\u002Fli>\n\u003Cli>Custom thumbnail border settings\u003C\u002Fli>\n\u003Cli>Custom image spacing controls\u003C\u002Fli>\n\u003Cli>Link images to external URLs\u003C\u002Fli>\n\u003Cli>Auto scroll functionality\u003C\u002Fli>\n\u003Cli>Load more button\u003C\u002Fli>\n\u003Cli>Custom CSS support\u003C\u002Fli>\n\u003Cli>Gallery ordering (ascending, descending, shuffle)\u003C\u002Fli>\n\u003Cli>Priority support\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>More Pro Demo Examples\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fawplife.com\u002Fdemo\u002Fgrid-gallery-premium\u002Fcustomize-border-settings\u002F\" rel=\"nofollow ugc\">Customize Border Settings\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fawplife.com\u002Fdemo\u002Fgrid-gallery-premium\u002Fimage-hover-effects\u002F\" rel=\"nofollow ugc\">Image Hover Effects\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fawplife.com\u002Fdemo\u002Fgrid-gallery-premium\u002Fspacing-settings\u002F\" rel=\"nofollow ugc\">Gallery Spacing Settings\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fawplife.com\u002Fdemo\u002Fgrid-gallery-premium\u002Ftitle-and-description-on-thumbnails\u002F\" rel=\"nofollow ugc\">Title And Description On Thumbnails\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fawplife.com\u002Fdemo\u002Fgrid-gallery-premium\u002Fcolumn-layout\u002F\" rel=\"nofollow ugc\">Multiple Column Layout\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","Create responsive grid galleries with hover effects and smooth animations. Easy shortcode integration for pages and posts.",1000,93633,"2025-12-15T12:24:00.000Z",[21,59,119,22,121],"https:\u002F\u002Fawplife.com\u002Fwodpress-plugins\u002Fgrid-gallery-premium\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fnew-grid-gallery.1.5.4.zip",2,{"attackSurface":138,"codeSignals":314,"taintFlows":799,"riskAssessment":800,"analyzedAt":813},{"hooks":139,"ajaxHandlers":260,"restRoutes":304,"shortcodes":305,"cronEvents":313,"entryPointCount":309,"unprotectedCount":163},[140,146,148,150,155,158,164,170,174,177,181,185,189,192,196,201,205,209,213,218,221,225,229,233,236,240,243,247,251,255,257],{"type":141,"name":142,"callback":143,"file":144,"line":145},"filter","posts_where","addORAuthors","classes\\otw_pm_query.php",276,{"type":141,"name":142,"callback":143,"file":144,"line":147},287,{"type":141,"name":142,"callback":143,"file":144,"line":149},298,{"type":141,"name":151,"callback":152,"priority":153,"file":144,"line":154},"post_limits","filterSkipLimit",10,308,{"type":141,"name":151,"callback":156,"priority":153,"file":144,"line":157},"filterLimit",337,{"type":159,"name":160,"callback":161,"file":162,"line":163},"action","init","integrateWithVC","classes\\otw_portfolio_manager_vc_addon.php",13,{"type":159,"name":165,"callback":166,"priority":167,"file":168,"line":169},"admin_menu","register_pages",1000000,"include\\otw_components\\otw_factory\\otw_factory.class.php",34,{"type":159,"name":171,"callback":172,"file":168,"line":173},"admin_print_styles","enqueue_admin_styles",36,{"type":159,"name":175,"callback":175,"file":168,"line":176},"admin_notices",38,{"type":141,"name":178,"callback":179,"file":168,"line":180},"pre_set_site_transient_update_plugins","change_plugin_transient",40,{"type":141,"name":182,"callback":183,"priority":153,"file":168,"line":184},"plugins_api","get_updates_info",42,{"type":159,"name":186,"callback":187,"priority":130,"file":188,"line":51},"wp_enqueue_scripts","enqueue_scripts","include\\otw_components\\otw_functions\\otw_component.class.php",{"type":159,"name":190,"callback":187,"priority":130,"file":188,"line":191},"admin_enqueue_scripts",94,{"type":159,"name":175,"callback":193,"file":194,"line":195},"render_errors","include\\otw_components\\otw_image\\otw_image.class.php",21,{"type":159,"name":197,"callback":198,"file":199,"line":200},"admin_footer","load_admin_js","include\\otw_components\\otw_shortcode\\otw_shortcode.class.php",164,{"type":141,"name":202,"callback":203,"file":199,"line":204},"mce_external_plugins","add_tinymce_plugin",175,{"type":141,"name":206,"callback":207,"file":199,"line":208},"mce_buttons","register_tinymce_button",176,{"type":159,"name":210,"callback":211,"file":199,"line":212},"wp_footer","load_front_js",185,{"type":159,"name":214,"callback":215,"file":216,"line":217},"admin_init","register_resources","otw_portfolio_manager_lite.php",152,{"type":159,"name":165,"callback":219,"file":216,"line":220},"register_menu",155,{"type":159,"name":222,"callback":223,"priority":153,"file":216,"line":224},"add_meta_boxes","pm_meta_boxes",158,{"type":159,"name":226,"callback":227,"file":216,"line":228},"save_post","pm_save_meta_box",161,{"type":141,"name":230,"callback":231,"file":216,"line":232},"otwfcr_notice","factory_message",167,{"type":159,"name":160,"callback":234,"file":216,"line":235},"load_resources",170,{"type":159,"name":237,"callback":238,"file":216,"line":239},"widgets_init","pm_register_widgets",178,{"type":159,"name":186,"callback":241,"file":216,"line":242},"register_fe_resources",181,{"type":159,"name":244,"callback":245,"file":216,"line":246},"template_redirect","otw_pm_portfolio_template",195,{"type":141,"name":248,"callback":249,"priority":82,"file":216,"line":250},"get_post_metadata","otw_pm_portfolio_thumbnail_metadata",197,{"type":141,"name":252,"callback":253,"priority":82,"file":216,"line":254},"post_thumbnail_html","otw_pm_portfolio_thumbnail",198,{"type":159,"name":171,"callback":172,"file":216,"line":256},1046,{"type":159,"name":190,"callback":258,"file":216,"line":259},"enqueue_admin_scripts",1047,[261,266,269,273,277,280,284,287,291,293,297,299,302],{"action":262,"nopriv":263,"callback":264,"hasNonce":263,"hasCapCheck":263,"file":199,"line":265},"otw_shortcode_editor_dialog",false,"build_shortcode_editor_dialog",166,{"action":267,"nopriv":263,"callback":268,"hasNonce":263,"hasCapCheck":263,"file":199,"line":232},"otw_shortcode_get_code","get_code",{"action":270,"nopriv":263,"callback":271,"hasNonce":263,"hasCapCheck":263,"file":199,"line":272},"otw_shortcode_live_preview","live_preview",168,{"action":274,"nopriv":263,"callback":275,"hasNonce":263,"hasCapCheck":263,"file":199,"line":276},"otw_shortcode_live_reload","live_reload",169,{"action":278,"nopriv":263,"callback":279,"hasNonce":263,"hasCapCheck":263,"file":199,"line":235},"otw_shortcode_preview_shortcodes","preview_shortcodes",{"action":281,"nopriv":263,"callback":282,"hasNonce":263,"hasCapCheck":263,"file":199,"line":283},"otw_shortcode_preview_front_shortcodes","preview_front_shortcodes",171,{"action":285,"nopriv":263,"callback":286,"hasNonce":263,"hasCapCheck":263,"file":216,"line":200},"otw_pml_select2_options","get_select2_options",{"action":288,"nopriv":263,"callback":289,"hasNonce":263,"hasCapCheck":263,"file":216,"line":290},"get_pm_posts","otw_pm_get_posts",184,{"action":288,"nopriv":292,"callback":289,"hasNonce":263,"hasCapCheck":263,"file":216,"line":212},true,{"action":294,"nopriv":263,"callback":295,"hasNonce":263,"hasCapCheck":263,"file":216,"line":296},"pm_social_share","otw_pm_social_share",188,{"action":294,"nopriv":292,"callback":295,"hasNonce":263,"hasCapCheck":263,"file":216,"line":298},189,{"action":300,"nopriv":263,"callback":300,"hasNonce":263,"hasCapCheck":263,"file":216,"line":301},"otw_pm_get_video",192,{"action":300,"nopriv":292,"callback":300,"hasNonce":263,"hasCapCheck":263,"file":216,"line":303},193,[],[306,310],{"tag":307,"callback":308,"file":162,"line":309},"otw_pm_vc","renderShortcode",15,{"tag":311,"callback":312,"file":216,"line":204},"otw-pm-list","pm_list_shortcode",[],{"dangerousFunctions":315,"sqlUsage":323,"outputEscaping":325,"fileOperations":14,"externalRequests":64,"nonceChecks":136,"capabilityChecks":28,"bundledLibraries":788},[316,321],{"fn":317,"file":318,"line":319,"context":320},"unserialize","include\\otw_components\\otw_functions\\otw_functions.php",600,"$value = unserialize( urldecode( $value ) );",{"fn":317,"file":216,"line":322,"context":18},922,{"prepared":28,"raw":28,"locations":324},[],{"escaped":326,"rawEcho":327,"locations":328},336,295,[329,333,336,338,340,342,344,347,348,349,352,353,355,357,359,361,363,365,367,369,370,372,374,376,378,380,381,382,383,385,387,389,391,393,395,397,399,401,403,405,407,409,411,413,415,418,420,422,424,426,429,430,432,434,436,438,440,442,444,446,448,450,452,453,454,455,456,457,458,459,461,463,465,467,468,469,471,472,474,475,476,477,478,479,480,482,484,485,486,488,489,491,492,493,495,497,498,500,501,502,503,504,505,506,507,509,510,511,512,513,514,515,516,517,518,519,521,523,525,527,528,529,530,531,533,535,536,537,538,539,541,542,543,545,546,548,550,552,554,556,558,560,563,564,566,569,571,572,574,575,577,578,580,581,582,583,584,586,588,589,590,592,594,596,597,599,600,601,602,604,605,607,608,610,613,615,616,617,618,619,620,621,623,624,625,626,627,628,629,630,631,632,633,634,635,637,639,641,643,645,646,647,648,649,651,652,653,654,655,656,657,659,661,662,663,664,665,666,668,669,670,671,672,673,674,675,676,678,679,680,681,682,683,684,685,686,687,689,691,693,695,696,698,700,702,704,706,708,710,712,714,716,718,720,722,723,725,727,729,731,733,735,737,739,741,742,743,744,745,746,748,750,751,752,753,754,756,757,758,760,761,762,764,767,769,770,772,774,775,777,779,782,783,785,786],{"file":330,"line":331,"context":332},"classes\\otw_pm_dispatcher.php",325,"raw output",{"file":334,"line":335,"context":332},"classes\\otw_portfolio_manager_widgets.php",82,{"file":334,"line":337,"context":332},139,{"file":168,"line":339,"context":332},142,{"file":168,"line":341,"context":332},144,{"file":168,"line":343,"context":332},518,{"file":345,"line":346,"context":332},"include\\otw_components\\otw_factory\\views\\action_message.php",6,{"file":345,"line":153,"context":332},{"file":345,"line":163,"context":332},{"file":350,"line":351,"context":332},"include\\otw_components\\otw_factory\\views\\license_manager.php",7,{"file":350,"line":195,"context":332},{"file":350,"line":354,"context":332},24,{"file":350,"line":356,"context":332},27,{"file":350,"line":358,"context":332},43,{"file":350,"line":360,"context":332},50,{"file":350,"line":362,"context":332},55,{"file":350,"line":364,"context":332},56,{"file":350,"line":366,"context":332},59,{"file":350,"line":368,"context":332},61,{"file":350,"line":368,"context":332},{"file":350,"line":371,"context":332},63,{"file":350,"line":373,"context":332},71,{"file":350,"line":375,"context":332},72,{"file":350,"line":377,"context":332},84,{"file":350,"line":379,"context":332},95,{"file":350,"line":63,"context":332},{"file":350,"line":113,"context":332},{"file":350,"line":113,"context":332},{"file":350,"line":384,"context":332},109,{"file":350,"line":386,"context":332},110,{"file":350,"line":388,"context":332},119,{"file":350,"line":390,"context":332},121,{"file":194,"line":392,"context":332},746,{"file":199,"line":394,"context":332},281,{"file":199,"line":396,"context":332},297,{"file":199,"line":398,"context":332},383,{"file":199,"line":400,"context":332},447,{"file":199,"line":402,"context":332},477,{"file":199,"line":404,"context":332},540,{"file":199,"line":406,"context":332},543,{"file":199,"line":408,"context":332},551,{"file":199,"line":410,"context":332},555,{"file":199,"line":412,"context":332},594,{"file":199,"line":414,"context":332},704,{"file":416,"line":417,"context":332},"include\\otw_components\\otw_shortcode\\shortcodes\\otw_shortcodes.class.php",453,{"file":416,"line":419,"context":332},1242,{"file":416,"line":421,"context":332},1276,{"file":416,"line":423,"context":332},1310,{"file":416,"line":425,"context":332},1345,{"file":427,"line":428,"context":332},"include\\otw_components\\otw_shortcode\\widgets\\otw_shortcode_widget.class.php",111,{"file":427,"line":339,"context":332},{"file":216,"line":431,"context":332},826,{"file":216,"line":433,"context":332},828,{"file":216,"line":435,"context":332},1729,{"file":216,"line":437,"context":332},1820,{"file":216,"line":439,"context":332},1822,{"file":216,"line":441,"context":332},1831,{"file":216,"line":443,"context":332},1833,{"file":216,"line":445,"context":332},1842,{"file":216,"line":447,"context":332},1844,{"file":216,"line":449,"context":332},2094,{"file":451,"line":83,"context":332},"skeleton\\1-column-lft-img.php",{"file":451,"line":136,"context":332},{"file":451,"line":64,"context":332},{"file":451,"line":351,"context":332},{"file":451,"line":351,"context":332},{"file":451,"line":351,"context":332},{"file":451,"line":52,"context":332},{"file":451,"line":95,"context":332},{"file":451,"line":460,"context":332},22,{"file":451,"line":462,"context":332},25,{"file":451,"line":464,"context":332},28,{"file":451,"line":466,"context":332},39,{"file":451,"line":180,"context":332},{"file":451,"line":358,"context":332},{"file":470,"line":83,"context":332},"skeleton\\1-column.php",{"file":470,"line":136,"context":332},{"file":470,"line":473,"context":332},3,{"file":470,"line":153,"context":332},{"file":470,"line":153,"context":332},{"file":470,"line":153,"context":332},{"file":470,"line":52,"context":332},{"file":470,"line":34,"context":332},{"file":470,"line":163,"context":332},{"file":470,"line":481,"context":332},20,{"file":483,"line":14,"context":332},"skeleton\\3-column-carousel.php",{"file":483,"line":14,"context":332},{"file":483,"line":460,"context":332},{"file":483,"line":487,"context":332},23,{"file":483,"line":462,"context":332},{"file":490,"line":136,"context":332},"skeleton\\3-column-news.php",{"file":490,"line":473,"context":332},{"file":490,"line":64,"context":332},{"file":490,"line":494,"context":332},5,{"file":490,"line":496,"context":332},8,{"file":490,"line":496,"context":332},{"file":490,"line":499,"context":332},18,{"file":490,"line":95,"context":332},{"file":490,"line":95,"context":332},{"file":490,"line":95,"context":332},{"file":490,"line":481,"context":332},{"file":490,"line":195,"context":332},{"file":490,"line":460,"context":332},{"file":490,"line":356,"context":332},{"file":508,"line":83,"context":332},"skeleton\\4-column.php",{"file":508,"line":136,"context":332},{"file":508,"line":494,"context":332},{"file":508,"line":494,"context":332},{"file":508,"line":499,"context":332},{"file":508,"line":95,"context":332},{"file":508,"line":95,"context":332},{"file":508,"line":95,"context":332},{"file":508,"line":481,"context":332},{"file":508,"line":195,"context":332},{"file":508,"line":460,"context":332},{"file":508,"line":520,"context":332},29,{"file":522,"line":462,"context":332},"skeleton\\components\\content.php",{"file":524,"line":494,"context":332},"skeleton\\components\\continue_read.php",{"file":526,"line":153,"context":332},"skeleton\\components\\item_media.php",{"file":526,"line":95,"context":332},{"file":526,"line":354,"context":332},{"file":526,"line":520,"context":332},{"file":526,"line":169,"context":332},{"file":532,"line":466,"context":332},"skeleton\\components\\media.php",{"file":532,"line":534,"context":332},54,{"file":532,"line":534,"context":332},{"file":532,"line":364,"context":332},{"file":532,"line":371,"context":332},{"file":532,"line":36,"context":332},{"file":532,"line":540,"context":332},79,{"file":532,"line":377,"context":332},{"file":532,"line":113,"context":332},{"file":532,"line":544,"context":332},104,{"file":532,"line":428,"context":332},{"file":532,"line":547,"context":332},117,{"file":532,"line":549,"context":332},122,{"file":532,"line":551,"context":332},128,{"file":532,"line":553,"context":332},136,{"file":532,"line":555,"context":332},137,{"file":532,"line":557,"context":332},143,{"file":532,"line":559,"context":332},148,{"file":561,"line":562,"context":332},"skeleton\\components\\meta_categories.php",17,{"file":561,"line":499,"context":332},{"file":565,"line":460,"context":332},"skeleton\\components\\news_filter.php",{"file":567,"line":568,"context":332},"skeleton\\components\\pagination.php",31,{"file":567,"line":570,"context":332},33,{"file":567,"line":176,"context":332},{"file":567,"line":573,"context":332},69,{"file":567,"line":375,"context":332},{"file":576,"line":494,"context":332},"skeleton\\components\\related_posts.php",{"file":576,"line":464,"context":332},{"file":576,"line":579,"context":332},32,{"file":576,"line":173,"context":332},{"file":576,"line":358,"context":332},{"file":576,"line":360,"context":332},{"file":576,"line":362,"context":332},{"file":576,"line":585,"context":332},65,{"file":587,"line":579,"context":332},"skeleton\\components\\simple_media.php",{"file":587,"line":579,"context":332},{"file":587,"line":169,"context":332},{"file":587,"line":591,"context":332},41,{"file":587,"line":593,"context":332},44,{"file":587,"line":595,"context":332},51,{"file":587,"line":364,"context":332},{"file":587,"line":598,"context":332},60,{"file":587,"line":585,"context":332},{"file":587,"line":573,"context":332},{"file":587,"line":13,"context":332},{"file":587,"line":603,"context":332},80,{"file":587,"line":603,"context":332},{"file":587,"line":606,"context":332},81,{"file":587,"line":27,"context":332},{"file":587,"line":609,"context":332},89,{"file":611,"line":612,"context":332},"skeleton\\components\\slider_title.php",26,{"file":614,"line":499,"context":332},"skeleton\\components\\social.php",{"file":614,"line":462,"context":332},{"file":614,"line":570,"context":332},{"file":614,"line":173,"context":332},{"file":614,"line":466,"context":332},{"file":614,"line":184,"context":332},{"file":614,"line":184,"context":332},{"file":614,"line":622,"context":332},45,{"file":614,"line":622,"context":332},{"file":614,"line":622,"context":332},{"file":614,"line":595,"context":332},{"file":614,"line":364,"context":332},{"file":614,"line":368,"context":332},{"file":614,"line":36,"context":332},{"file":614,"line":36,"context":332},{"file":614,"line":36,"context":332},{"file":614,"line":373,"context":332},{"file":614,"line":373,"context":332},{"file":614,"line":373,"context":332},{"file":614,"line":373,"context":332},{"file":614,"line":636,"context":332},78,{"file":614,"line":638,"context":332},97,{"file":640,"line":520,"context":332},"skeleton\\components\\title.php",{"file":642,"line":462,"context":332},"skeleton\\components\\widget_content.php",{"file":644,"line":153,"context":332},"skeleton\\single-portfolio-media-left.php",{"file":644,"line":309,"context":332},{"file":644,"line":481,"context":332},{"file":644,"line":612,"context":332},{"file":644,"line":568,"context":332},{"file":644,"line":650,"context":332},47,{"file":644,"line":650,"context":332},{"file":644,"line":368,"context":332},{"file":644,"line":368,"context":332},{"file":644,"line":373,"context":332},{"file":644,"line":606,"context":332},{"file":644,"line":335,"context":332},{"file":644,"line":658,"context":332},83,{"file":660,"line":14,"context":332},"skeleton\\slider.php",{"file":660,"line":153,"context":332},{"file":660,"line":464,"context":332},{"file":660,"line":37,"context":332},{"file":660,"line":579,"context":332},{"file":660,"line":364,"context":332},{"file":667,"line":83,"context":332},"skeleton\\timeline.php",{"file":667,"line":136,"context":332},{"file":667,"line":14,"context":332},{"file":667,"line":52,"context":332},{"file":667,"line":52,"context":332},{"file":667,"line":52,"context":332},{"file":667,"line":34,"context":332},{"file":667,"line":163,"context":332},{"file":667,"line":114,"context":332},{"file":677,"line":83,"context":332},"skeleton\\widget-lft.php",{"file":677,"line":64,"context":332},{"file":677,"line":351,"context":332},{"file":677,"line":351,"context":332},{"file":677,"line":499,"context":332},{"file":677,"line":462,"context":332},{"file":677,"line":464,"context":332},{"file":677,"line":568,"context":332},{"file":677,"line":169,"context":332},{"file":677,"line":466,"context":332},{"file":677,"line":688,"context":332},46,{"file":690,"line":136,"context":332},"skeleton\\wrappers\\meta.php",{"file":692,"line":204,"context":332},"views\\otw_portfolio_manager_lite_add_list.php",{"file":692,"line":694,"context":332},177,{"file":692,"line":212,"context":332},{"file":692,"line":697,"context":332},191,{"file":692,"line":699,"context":332},204,{"file":692,"line":701,"context":332},210,{"file":692,"line":703,"context":332},223,{"file":692,"line":705,"context":332},238,{"file":692,"line":707,"context":332},246,{"file":692,"line":709,"context":332},268,{"file":692,"line":711,"context":332},271,{"file":692,"line":713,"context":332},274,{"file":692,"line":715,"context":332},300,{"file":692,"line":717,"context":332},303,{"file":692,"line":719,"context":332},306,{"file":692,"line":721,"context":332},333,{"file":692,"line":326,"context":332},{"file":692,"line":724,"context":332},339,{"file":692,"line":726,"context":332},355,{"file":692,"line":728,"context":332},415,{"file":692,"line":730,"context":332},434,{"file":692,"line":732,"context":332},492,{"file":692,"line":734,"context":332},536,{"file":692,"line":736,"context":332},601,{"file":692,"line":738,"context":332},625,{"file":740,"line":481,"context":332},"views\\otw_portfolio_manager_lite_details.php",{"file":740,"line":356,"context":332},{"file":740,"line":184,"context":332},{"file":740,"line":593,"context":332},{"file":740,"line":622,"context":332},{"file":740,"line":360,"context":332},{"file":747,"line":568,"context":332},"views\\otw_portfolio_manager_lite_details_meta_box.php",{"file":749,"line":95,"context":332},"views\\otw_portfolio_manager_lite_list.php",{"file":749,"line":354,"context":332},{"file":749,"line":520,"context":332},{"file":749,"line":169,"context":332},{"file":749,"line":377,"context":332},{"file":749,"line":755,"context":332},86,{"file":749,"line":609,"context":332},{"file":749,"line":51,"context":332},{"file":749,"line":759,"context":332},91,{"file":749,"line":638,"context":332},{"file":749,"line":113,"context":332},{"file":749,"line":763,"context":332},114,{"file":765,"line":766,"context":332},"views\\otw_portfolio_manager_lite_meta_box.php",102,{"file":765,"line":768,"context":332},112,{"file":765,"line":390,"context":332},{"file":765,"line":771,"context":332},130,{"file":765,"line":773,"context":332},138,{"file":765,"line":559,"context":332},{"file":765,"line":776,"context":332},153,{"file":765,"line":778,"context":332},159,{"file":780,"line":781,"context":332},"views\\otw_portfolio_manager_lite_settings.php",76,{"file":780,"line":658,"context":332},{"file":780,"line":784,"context":332},126,{"file":780,"line":341,"context":332},{"file":780,"line":787,"context":332},225,[789,792,796],{"name":790,"version":29,"knownCves":791},"Select2",[],{"name":793,"version":794,"knownCves":795},"jQuery","1.8.3",[],{"name":797,"version":29,"knownCves":798},"TinyMCE",[],[],{"summary":801,"deductions":802},"The portfolio-manager-lite plugin v1.20 presents a mixed security posture. On the positive side, it utilizes prepared statements for all SQL queries, which is a strong defense against SQL injection.  Furthermore, the absence of known CVEs and recorded vulnerabilities suggests a history of relatively secure development or prompt patching by the developers.  The plugin also incorporates some nonces and performs a decent percentage of output escaping, indicating an awareness of common web security practices.\n\nHowever, significant concerns arise from the substantial attack surface exposed without authentication. A high number of AJAX handlers (13 out of 13) lack any form of authentication check. This means any user, including unauthenticated visitors, can potentially trigger these actions, leading to unintended consequences or information disclosure if these handlers are not robustly protected internally.  Additionally, the presence of the `unserialize` function, while not necessarily a vulnerability on its own, is a known risky function that can lead to remote code execution if used with untrusted input. The bundled jQuery version is also outdated, posing a potential risk if vulnerabilities are discovered in that specific version.\n\nIn conclusion, while the plugin has strengths in its SQL handling and vulnerability history, the large number of unprotected AJAX endpoints and the use of `unserialize` are significant security weaknesses that warrant attention. The outdated bundled jQuery adds another layer of potential concern. Addressing the unprotected AJAX handlers should be a priority to improve the plugin's overall security.",[803,805,807,809,811],{"reason":804,"points":153},"13 unprotected AJAX handlers",{"reason":806,"points":351},"Dangerous function: unserialize",{"reason":808,"points":64},"Bundled outdated jQuery v1.8.3",{"reason":810,"points":494},"Low percentage of output escaping (53%)",{"reason":812,"points":496},"0 capability checks on entry points","2026-03-16T21:12:37.356Z",{"wat":815,"direct":828},{"assetPaths":816,"generatorPatterns":821,"scriptPaths":822,"versionParams":823},[817,818,819,820],"\u002Fwp-content\u002Fplugins\u002Fportfolio-manager-lite\u002Fassets\u002Fcss\u002Fotw-portfolio-manager-lite.css","\u002Fwp-content\u002Fplugins\u002Fportfolio-manager-lite\u002Fassets\u002Fcss\u002Fotw-portfolio-manager-lite-admin.css","\u002Fwp-content\u002Fplugins\u002Fportfolio-manager-lite\u002Fassets\u002Fjs\u002Fotw-portfolio-manager-lite.js","\u002Fwp-content\u002Fplugins\u002Fportfolio-manager-lite\u002Fassets\u002Fjs\u002Fotw-portfolio-manager-lite-admin.js",[],[819,820],[824,825,826,827],"portfolio-manager-lite\u002Fassets\u002Fcss\u002Fotw-portfolio-manager-lite.css?ver=","portfolio-manager-lite\u002Fassets\u002Fjs\u002Fotw-portfolio-manager-lite.js?ver=","portfolio-manager-lite\u002Fassets\u002Fcss\u002Fotw-portfolio-manager-lite-admin.css?ver=","portfolio-manager-lite\u002Fassets\u002Fjs\u002Fotw-portfolio-manager-lite-admin.js?ver=",{"cssClasses":829,"htmlComments":833,"htmlAttributes":836,"restEndpoints":839,"jsGlobals":840,"shortcodeOutput":843},[830,831,832],"otw-pm-portfolio","otw-portfolio-item","otw-portfolio-list",[834,835],"\u003C!-- OTW Portfolio Manager Lite -->","\u003C!-- OTW Portfolio Manager Lite Admin -->",[837,838],"data-otw-pm-id","data-otw-portfolio-id",[],[841,842],"otw_pml_options","otw_pml_ajax_url",[844],"[otw-pm-list]"]