[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$ft67tsRYeCv2HwRKbuf1TRV5sWzohu-L9mPK7i85S418":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":23,"download_link":24,"security_score":11,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26,"vulnerabilities":27,"developer":28,"crawl_stats":25,"alternatives":34,"analysis":145,"fingerprints":1022},"supapress","Supafolio","2.27.0","david.kane","https:\u002F\u002Fprofiles.wordpress.org\u002Fdavidkane\u002F","\u003Cp>The \u003Ca href=\"https:\u002F\u002Fwww.supadu.com\u002F\" rel=\"nofollow ugc\">Supafolio WordPress plugin\u003C\u002Fa> allows trade publishers to access powerful features through WordPress previously only available to Supacms users which can be easily embedded in your pages using shortcodes.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features include:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Metadata.\u003C\u002Fstrong> Display the metadata (e.g. ONIX) for any book in your catalog, including cover image, title, subtitle, author, price, format and link by typing in the ISBN13.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Layouts.\u003C\u002Fstrong> Choose how to display your books through a variety of layouts including grid, carousel and list.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Control.\u003C\u002Fstrong> Change the metadata that is displayed on the page by overwriting the underlying data through the SupaFolio dashboard.\u003C\u002Fli>\n\u003C\u002Ful>\n","Quickly and easily connect your book metadata (ONIX) to your WordPress site.",100,19156,0,"2026-01-08T16:27:00.000Z","6.9.0","6.0","",[19,20,21,22],"books","folio","publishers","supadu","https:\u002F\u002Fwww.supadu.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsupapress.2.27.0.zip",null,"2026-03-15T15:16:48.613Z",[],{"slug":29,"display_name":7,"profile_url":8,"plugin_count":30,"total_installs":11,"avg_security_score":11,"avg_patch_time_days":31,"trust_score":32,"computed_at":33},"davidkane",1,30,94,"2026-04-04T06:46:38.037Z",[35,54,79,103,122],{"slug":36,"name":37,"version":38,"author":39,"author_profile":40,"description":41,"short_description":42,"active_installs":13,"downloaded":43,"rating":13,"num_ratings":13,"last_updated":44,"tested_up_to":45,"requires_at_least":46,"requires_php":47,"tags":48,"homepage":17,"download_link":52,"security_score":53,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26},"kitab","Kitab","1.2.0","Jlil","https:\u002F\u002Fprofiles.wordpress.org\u002Fjlil\u002F","\u003Cp>\u003Cstrong>Kitab\u003C\u002Fstrong> (Arabic: كِتَاب) is a comprehensive Books Management System plugin for WordPress, designed to create, organize, and display books as a custom post type (CPT). With support for publishers, authors, and detailed book fields, Kitab enables easy cataloging and display of book information.\u003C\u002Fp>\n\u003Cp>Kitab enhances WordPress by adding a \u003Cstrong>Books\u003C\u002Fstrong> custom post type with a range of book-specific custom fields and taxonomies. It allows you to organize books by author, publisher, and other metadata, and provides multiple options for displaying book information in an intuitive and customizable format.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Custom Post Type for Books\u003C\u002Fstrong>: Add books as unique posts with detailed information.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Support for Default Posts and Pages\u003C\u002Fstrong>: Use Kitab features with regular WordPress posts and pages if desired.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Authors and Publishers Taxonomies\u003C\u002Fstrong>: Easily categorize books by authors and publishers.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Detailed Custom Fields\u003C\u002Fstrong>: Track essential book details with dedicated fields, including:\n\u003Cul>\n\u003Cli>\u003Cstrong>Book Name\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Author\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Pages\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Edition\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>ISBN\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Copyright Year\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Copyright Holder\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>PDF Download Link\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>EPUB Download Link\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Buy Link \u002F Affiliate Link\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Book Cover as Thumbnail\u003C\u002Fstrong>: Upload a cover image for each book, displayed as the post thumbnail.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Flexible Display Options\u003C\u002Fstrong>: Control how and where book information is shown:\n\u003Cul>\n\u003Cli>Above content\u003C\u002Fli>\n\u003Cli>Below content\u003C\u002Fli>\n\u003Cli>Both above and below content\u003C\u002Fli>\n\u003Cli>Manually via shortcode or template tag\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Format Options\u003C\u002Fstrong>: Choose how to display book details:\n\u003Cul>\n\u003Cli>\u003Cstrong>Definition List (dl)\u003C\u002Fstrong>: For a clean, concise list.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Table Format\u003C\u002Fstrong>: For a structured table display of book details.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Once activated, go to \u003Cstrong>Books\u003C\u002Fstrong> in the WordPress admin menu to add and manage your book entries.\u003C\u002Fli>\n\u003Cli>Organize books using the \u003Cstrong>Authors\u003C\u002Fstrong> and \u003Cstrong>Publishers\u003C\u002Fstrong> taxonomies.\u003C\u002Fli>\n\u003Cli>Configure display options in \u003Cstrong>Kitab Settings\u003C\u002Fstrong> to determine where book details appear in relation to content.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Customization\u003C\u002Fh3>\n\u003Ch3>Custom Fields for Book Details\u003C\u002Fh3>\n\u003Cp>Kitab provides the following fields for storing and displaying book-specific details:\u003Cbr \u002F>\n– \u003Cstrong>Book Name\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Cstrong>Author\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Cstrong>Pages\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Cstrong>Edition\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Cstrong>ISBN\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Cstrong>Copyright Year\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Cstrong>Copyright Holder\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Cstrong>PDF Download\u003C\u002Fstrong>: Link to a downloadable PDF version of the book.\u003Cbr \u002F>\n– \u003Cstrong>EPUB Download\u003C\u002Fstrong>: Link to a downloadable EPUB version of the book.\u003Cbr \u002F>\n– \u003Cstrong>Buy Link or Affiliate Link\u003C\u002Fstrong>: Link to purchase the book or affiliate URL.\u003C\u002Fp>\n\u003Ch3>Display Options\u003C\u002Fh3>\n\u003Cp>Kitab offers various ways to position book details on your website:\u003Cbr \u002F>\n– \u003Cstrong>Above Content\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Cstrong>Below Content\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Cstrong>Both Above and Below Content\u003C\u002Fstrong>\u003Cbr \u002F>\n– \u003Cstrong>Manual Placement\u003C\u002Fstrong>: Use the Kitab shortcode or template tag for custom placement.\u003C\u002Fp>\n\u003Ch3>Display Formats\u003C\u002Fh3>\n\u003Cp>Kitab provides two formats for book details display:\u003Cbr \u002F>\n– \u003Cstrong>Definition List (dl)\u003C\u002Fstrong>: A straightforward list layout.\u003Cbr \u002F>\n– \u003Cstrong>Table Format\u003C\u002Fstrong>: An organized, grid-style table display.\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>For support, issues, or feature requests, contact us via the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fkitab\" rel=\"ugc\">Support Forum\u003C\u002Fa> or email support@jlil.net.\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the \u003Ca href=\"https:\u002F\u002Fwww.gnu.org\u002Flicenses\u002Fgpl-2.0.html\" rel=\"nofollow ugc\">GPL-2.0 License\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>About the Author\u003C\u002Fh3>\n\u003Cp>Developed by \u003Ca href=\"https:\u002F\u002Fjlil.net\" rel=\"nofollow ugc\">جليل\u003C\u002Fa>, Kitab is inspired by the need for a structured, intuitive platform for book lovers and libraries on WordPress.\u003C\u002Fp>\n\u003Ch3>Keywords\u003C\u002Fh3>\n\u003Cp>Books, Book Management, WordPress Plugin, Custom Post Type, Taxonomies, ISBN, Custom Fields, Publishers, Authors, Affiliate Links, eBook Downloads, Book Covers\u003C\u002Fp>\n","Kitab - Books Management System for WordPress",3185,"2024-11-12T14:58:00.000Z","6.6.5","4.7","8.0",[49,50,19,51,21],"authors","book-management","isbn","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fkitab.1.2.0.zip",92,{"slug":55,"name":56,"version":57,"author":58,"author_profile":59,"description":60,"short_description":61,"active_installs":62,"downloaded":63,"rating":32,"num_ratings":64,"last_updated":65,"tested_up_to":66,"requires_at_least":67,"requires_php":17,"tags":68,"homepage":74,"download_link":75,"security_score":76,"vuln_count":77,"unpatched_count":13,"last_vuln_date":78,"fetched_at":26},"wp-show-posts","WP Show Posts","1.1.6","Tom","https:\u002F\u002Fprofiles.wordpress.org\u002Fedge22\u002F","\u003Ch4>Note\u003C\u002Fh4>\n\u003Cp>This plugin is only receiving security updates at this time. Check out our \u003Ca href=\"https:\u002F\u002Fgenerateblocks.com\u002F\" rel=\"nofollow ugc\">GenerateBlocks\u003C\u002Fa> plugin for a more modern solution.\u003C\u002Fp>\n\u003Cp>\u003Ciframe loading=\"lazy\" title=\"WP Show Posts\" src=\"https:\u002F\u002Fplayer.vimeo.com\u002Fvideo\u002F175638957?dnt=1&app_id=122963\" width=\"750\" height=\"422\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write\">\u003C\u002Fiframe>\u003C\u002Fp>\n\u003Cp>WP Show Posts allows you to display posts anywhere on your website using an easy to use shortcode.\u003C\u002Fp>\n\u003Cp>You can pull posts from any post type like WooCommerce, Easy Digital Downloads etc..\u003C\u002Fp>\n\u003Cp>This plugin works with any theme.\u003C\u002Fp>\n\u003Cp>Here are the features in the free version:\u003C\u002Fp>\n\u003Ch4>Posts\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Post type\u003C\u002Fli>\n\u003Cli>Taxonomy\u003C\u002Fli>\n\u003Cli>Terms\u003C\u002Fli>\n\u003Cli>Posts per page\u003C\u002Fli>\n\u003Cli>Pagination\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Columns\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Columns\u003C\u002Fli>\n\u003Cli>Columns gutter\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Images\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Show images\u003C\u002Fli>\n\u003Cli>Image width\u003C\u002Fli>\n\u003Cli>Image height\u003C\u002Fli>\n\u003Cli>Image alignment\u003C\u002Fli>\n\u003Cli>Image location\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Content\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Content type (excerpt or full post)\u003C\u002Fli>\n\u003Cli>Excerpt length\u003C\u002Fli>\n\u003Cli>Include title\u003C\u002Fli>\n\u003Cli>Read more text\u003C\u002Fli>\n\u003Cli>Read more button class\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Meta\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Include author\u003C\u002Fli>\n\u003Cli>Author location\u003C\u002Fli>\n\u003Cli>Include date\u003C\u002Fli>\n\u003Cli>Date location\u003C\u002Fli>\n\u003Cli>Include terms\u003C\u002Fli>\n\u003Cli>Terms location\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>More settings\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Author ID\u003C\u002Fli>\n\u003Cli>Exclude current\u003C\u002Fli>\n\u003Cli>Post ID\u003C\u002Fli>\n\u003Cli>Exclude post ID\u003C\u002Fli>\n\u003Cli>Ignore sticky posts\u003C\u002Fli>\n\u003Cli>Offset\u003C\u002Fli>\n\u003Cli>Order\u003C\u002Fli>\n\u003Cli>Order by\u003C\u002Fli>\n\u003Cli>Status\u003C\u002Fli>\n\u003Cli>Meta key\u003C\u002Fli>\n\u003Cli>Meta value\u003C\u002Fli>\n\u003Cli>Tax operator\u003C\u002Fli>\n\u003Cli>No results message\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Our *Pro* version has these features\u003C\u002Fh4>\n\u003Cp>\u003Ciframe loading=\"lazy\" title=\"WP Show Posts Pro\" src=\"https:\u002F\u002Fplayer.vimeo.com\u002Fvideo\u002F175660953?dnt=1&app_id=122963\" width=\"750\" height=\"422\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write\">\u003C\u002Fiframe>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpshowposts.com\u002F\" title=\"Check out Pro\" rel=\"nofollow ugc\">Check out Pro\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Posts\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>AJAX pagination\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Columns\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Masonry\u003C\u002Fli>\n\u003Cli>Featured post\u003C\u002Fli>\n\u003Cli>Background color\u003C\u002Fli>\n\u003Cli>Background color hover\u003C\u002Fli>\n\u003Cli>Border color\u003C\u002Fli>\n\u003Cli>Border color hover\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Images\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Image overlay color\u003C\u002Fli>\n\u003Cli>Image overlay icon\u003C\u002Fli>\n\u003Cli>Image hover effect\u003C\u002Fli>\n\u003Cli>Image lightbox\u003C\u002Fli>\n\u003Cli>Image lightbox gallery\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Content\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Read more style\u003C\u002Fli>\n\u003Cli>Read more color\u003C\u002Fli>\n\u003Cli>Content link color\u003C\u002Fli>\n\u003Cli>Content link color hover\u003C\u002Fli>\n\u003Cli>Content text color\u003C\u002Fli>\n\u003Cli>Title color\u003C\u002Fli>\n\u003Cli>Title color hover\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Meta\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Meta color\u003C\u002Fli>\n\u003Cli>Meta color hover\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Social\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Twitter\u003C\u002Fli>\n\u003Cli>Twitter color + hover\u003C\u002Fli>\n\u003Cli>Facebook\u003C\u002Fli>\n\u003Cli>Facebook color + hover\u003C\u002Fli>\n\u003Cli>Google+\u003C\u002Fli>\n\u003Cli>Google+ color + hover\u003C\u002Fli>\n\u003Cli>Pinterest\u003C\u002Fli>\n\u003Cli>Pinterest color + hover\u003C\u002Fli>\n\u003Cli>Love it\u003C\u002Fli>\n\u003Cli>Alignment\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Check out GeneratePress, our awesome WordPress theme! (https:\u002F\u002Fwordpress.org\u002Fthemes\u002Fgeneratepress)\u003C\u002Fp>\n","Add posts to your website from any post type using a simple shortcode.",70000,604723,80,"2024-04-16T19:12:00.000Z","6.1.10","4.5",[69,70,71,72,73],"display-posts-shortcode","gallery","portfolio","post-columns","show-posts","https:\u002F\u002Fwpshowposts.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-show-posts.1.1.6.zip",90,3,"2024-04-16 00:00:00",{"slug":80,"name":81,"version":82,"author":83,"author_profile":84,"description":85,"short_description":86,"active_installs":87,"downloaded":88,"rating":89,"num_ratings":90,"last_updated":91,"tested_up_to":92,"requires_at_least":93,"requires_php":94,"tags":95,"homepage":99,"download_link":100,"security_score":101,"vuln_count":77,"unpatched_count":13,"last_vuln_date":102,"fetched_at":26},"visual-portfolio","Visual Portfolio, Photo Gallery & Post Grid","3.5.2","nK","https:\u002F\u002Fprofiles.wordpress.org\u002Fnko\u002F","\u003Cp>\u003Cstrong>Gallery & Portfolio Plugin For WordPress\u003C\u002Fstrong>\u003Cbr \u002F>\n★★★★★\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Portfolio websites are the most popular nowadays.\u003C\u002Fstrong> We created \u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=head\" rel=\"nofollow ugc\">\u003Cstrong>Visual Portfolio, Photo Gallery & Post Grid WordPress plugin\u003C\u002Fstrong>\u003C\u002Fa>, to help every creative, agency, and photographers get access to the powerful tools they need to showcase their beautiful works and attract more love from their potential and existing customers.\u003C\u002Fp>\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\u002F354pybu91aQ?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>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=head\" rel=\"nofollow ugc\">See Live Demo\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002Fdocs\u002Fgetting-started\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=head\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnk-crew\u002Fvisual-portfolio\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Create beautiful, clean, and powerful photo galleries and portfolio layouts using the Visual Portfolio gallery plugin. It is easy for simple photo galleries, but powerful enough for professionals. Whether you’re a photographer, agency, or anything in between, \u003Cstrong>Visual Portfolio will boost your online presence\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch3>🏆 Visual Gallery Builder\u003C\u002Fh3>\n\u003Cp>Build your portfolio and gallery blocks with no coding knowledge. Thanks to Gutenberg page builder you are able to create and customize galleries visually.\u003C\u002Fp>\n\u003Cp>Convenient visual block editor with support to various layouts such as Masonry, Justified, Tiles, Grid, Slider and Carousel. A \u003Cstrong>well thought out design, powerful features, and years of development\u003C\u002Fstrong> by the nK team make Visual Portfolio a game-changing Portfolio and Gallery plugin that will level the WordPress showcases playing field in your favor to help increase visitors engagement.\u003C\u002Fp>\n\u003Ch3>🚀 Optimized to be Fast as Native\u003C\u002Fh3>\n\u003Cp>Despite the rich functionality, the Visual Portfolio is optimized as much as possible, to be fast and lightweight.\u003C\u002Fp>\n\u003Cp>Due to the modular code structure, all scripts and styles are loaded only when they are needed for the current page that displays your gallery. So, your pages will never load unused features.\u003C\u002Fp>\n\u003Cp>Pictures are not loaded in the main thread due to lazy loading. Moreover, our plugin is compatible with third-party WebP providers and image optimization plugins.\u003C\u002Fp>\n\u003Cp>Smart adaptive image sizes fully supported in any gallery, created with Visual Portfolio plugin.\u003C\u002Fp>\n\u003Ch3>📱 Layouts\u003C\u002Fh3>\n\u003Cp>Our gallery plugin shipped with popular layouts such as Masonry and Justified (Flickr). Every feature optimized and works seamlessly with all of these layouts, you just need to set up and go with no headache. See it in action:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002Fmasonry-image-filters\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=layouts\" rel=\"nofollow ugc\">Masonry Gallery\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002Fjustified-tilt-effect\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=layouts\" rel=\"nofollow ugc\">Justified (Flickr) Gallery\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002Ftiles-custom-color\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=layouts\" rel=\"nofollow ugc\">Tiles Gallery\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002Fgrid\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=layouts\" rel=\"nofollow ugc\">Grid Gallery\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002Fslider\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=layouts\" rel=\"nofollow ugc\">Slider Gallery\u003C\u002Fa> (Fade, Carousel, Coverflow)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🎨 Prebuilt Skins\u003C\u002Fh3>\n\u003Cp>Showcase your projects ang gallery images with clean and beautiful skins. See it in action:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002Fmasonry\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=effects\" rel=\"nofollow ugc\">Classic\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002Ftiles-paged-pagination\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=effects\" rel=\"nofollow ugc\">Fade\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002Fmasonry-infinite-scroll\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=effects\" rel=\"nofollow ugc\">Emerge\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002Ftiles-popup-gallery\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=effects\" rel=\"nofollow ugc\">Fly\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002Fmasonry-caption-move\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=effects\" rel=\"nofollow ugc\">Caption Move\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>⚙️ Easy to Customize\u003C\u002Fh3>\n\u003Cp>The gallery block with live preview includes a lot of design settings that are point-and-click, no coding knowledge required. If you’re a bit more adventurous, the custom CSS module and PHP filters are set up to be easily used by developers.\u003C\u002Fp>\n\u003Ch3>📁 Portfolio Post Type\u003C\u002Fh3>\n\u003Cp>Optional custom post type \u003Ccode>portfolio\u003C\u002Fcode> will ensure all your portfolios to keep in a single post type. In this way, you can distinguish your portfolios from other post types. Taxonomies are used to categorize your portfolio types, it will help you to group and sort your portfolios. Moreover, you can use these portfolios as a source for your showcase gallery using Visual Portfolio block.\u003C\u002Fp>\n\u003Cp>Customize and rename Portfolio archive templates using visual gallery and page builder \u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002Fdocs\u002Fportfolio-archive\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=archive\" rel=\"nofollow ugc\">https:\u002F\u002Fwww.visualportfolio.com\u002Fdocs\u002Fportfolio-archive\u002F\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>In case you want to use Visual Portfolio plugin for photo gallery only you can disable custom post type registration.\u003C\u002Fp>\n\u003Ch3>💎 Posts Query Builder\u003C\u002Fh3>\n\u003Cp>Fine-tune the source of your galleries. Display posts, portfolios, and any other post types, filter by taxonomies, author, and date ranges, include or exclude specific posts, and much more options.\u003C\u002Fp>\n\u003Ch3>🖼️ Photo Galleries\u003C\u002Fh3>\n\u003Cp>Create galleries using image sets right inside block editor, just drop your images and the gallery is ready. You can create unlimited galleries with different styles, there is no limitation.\u003C\u002Fp>\n\u003Ch3>⚡ Powerful Lightbox\u003C\u002Fh3>\n\u003Cp>Visual Portfolio uses only modern solutions, and lightboxes are not an exception. High performance, mobile optimization, retina-ready, and a wide range of features available in Fancybox and PhotoSwipe plugins, that you can choose for your gallery lightboxes.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Mobile Optimized\u003C\u002Fstrong> \u003Cbr \u002F> Looks great on every device. Swipe to navigate, spread\u002Fpinch to zoom in\u002Fout supported on touch devices.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>GPU Accelerated\u003C\u002Fstrong> \u003Cbr \u002F> Hardware accelerated animations for better performance and seamless user experience.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Smart Loading\u003C\u002Fstrong> \u003Cbr \u002F> Gallery images are responsive and loaded progressively using lazy loading on demand.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Social Sharing\u003C\u002Fstrong> \u003Cbr \u002F> You can allow users to share photos on Facebook, X, and Pinterest with social sharing buttons.\u003C\u002Fp>\n\u003Ch3>📹 Video and 🎵 Audio Support\u003C\u002Fh3>\n\u003Cp>Visual Portfolio plugin allows you to work with audios and videos within a single gallery. You just need to copy the URL of the video or audio and it will work automatically in the popup gallery. The full list with supported vendors see below (mostly thanks to the Pro plugin).\u003C\u002Fp>\n\u003Cp>Supported Video Vendors:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Youtube\u003C\u002Fli>\n\u003Cli>Vimeo\u003C\u002Fli>\n\u003Cli>IGTV (Instagram)\u003C\u002Fli>\n\u003Cli>TikTok\u003C\u002Fli>\n\u003Cli>Twitch\u003C\u002Fli>\n\u003Cli>Facebook Video\u003C\u002Fli>\n\u003Cli>DailyMotion\u003C\u002Fli>\n\u003Cli>Wistia\u003C\u002Fli>\n\u003Cli>VideoPress\u003C\u002Fli>\n\u003Cli>TED\u003C\u002Fli>\n\u003Cli>Rutube\u003C\u002Fli>\n\u003Cli>Metacafe\u003C\u002Fli>\n\u003Cli>Coub\u003C\u002Fli>\n\u003Cli>Self Hosted Video\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Supported Audio Vendors:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Spotify\u003C\u002Fli>\n\u003Cli>SoundCloud\u003C\u002Fli>\n\u003Cli>Mixcloud\u003C\u002Fli>\n\u003Cli>Beatport\u003C\u002Fli>\n\u003Cli>Self Hosted Audio\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>📈 SEO-Friendly\u003C\u002Fh3>\n\u003Cp>Visual Portfolio plugin is built keeping SEO and performance in mind by defining proper structure and tags. Furthermore, due to optimization, it is lightweight and fast when it comes to page load.\u003C\u002Fp>\n\u003Cp>In addition our plugin add images in the sitemap for \u003Ccode>All In One SEO\u003C\u002Fcode>, \u003Ccode>Rank Math\u003C\u002Fcode>, and \u003Ccode>Yoast SEO\u003C\u002Fcode> plugins\u003C\u002Fp>\n\u003Ch3>🏳️ Multilingual & Translation Ready\u003C\u002Fh3>\n\u003Cp>Visual Portfolio adds a new layer of compatibility for \u003Ca href=\"https:\u002F\u002Fwpml.org\u002F\" rel=\"nofollow ugc\">WPML\u003C\u002Fa>. All blocks are compatible with it and ready for translation. \u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002Fdocs\u002Fmultilingual\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=wpml\" rel=\"nofollow ugc\">https:\u002F\u002Fwww.visualportfolio.com\u002Fdocs\u002Fmultilingual\u002F\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>🛠 Built For Developers\u003C\u002Fh3>\n\u003Cp>Visual Portfolio gives you a wide range of filters and actions to customize every part of your gallery. Also, it allows you to overwrite templates and change it in the theme directory. Moreover, you can customize separate portfolio lists using custom CSS and CSS Variables.\u003C\u002Fp>\n\u003Ch3>🔥 Visual Portfolio Pro\u003C\u002Fh3>\n\u003Cblockquote>\n\u003Cp>The Visual Portfolio plugin is also available in a professional version which includes more features and enhanced performance! \u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=pro\" rel=\"nofollow ugc\">\u003Cstrong>Learn more about Visual Portfolio Pro\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>In order to maintain the free version of the plugin on an ongoing basis, and to provide quick and effective support for free, we offer a Pro version of the plugin. The Pro version allows you to:\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Advanced Skin Settings\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Image Filters and Blend Mode\u003C\u002Fstrong> – apply Instagram-like filters on images for Normal and Hover states\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Transformations\u003C\u002Fstrong> – control the image transformation and border radius for Normal and Hover states\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Typography\u003C\u002Fstrong> – control every text part of gallery captions and overlays\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Dimensions\u003C\u002Fstrong> – controls paddings, margins and border radius of captions and overlays\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Stylish Interaction Effects\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002Fjustified-tilt-effect\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=pro_effects\" rel=\"nofollow ugc\">Hover Tilt Effect\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002Fcustom-hover-image-animated-gif\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=pro_effects\" rel=\"nofollow ugc\">Custom Hover Image\u003C\u002Fa> – useful for animated GIFs\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002Fmasonry-caption-move\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=pro_effects\" rel=\"nofollow ugc\">Caption Move Skin\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Social Feeds\u003C\u002Fstrong>\u003Cbr \u002F>\nAutomatically fetch posts from your social networks to display in gallery on your site.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002Fsocial-instagram\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=pro_social_feeds\" rel=\"nofollow ugc\">Instagram\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002Fsocial-youtube\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=pro_social_feeds\" rel=\"nofollow ugc\">Youtube\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002Fsocial-vimeo\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=pro_social_feeds\" rel=\"nofollow ugc\">Vimeo\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002Fsocial-unsplash\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=pro_social_feeds\" rel=\"nofollow ugc\">Unsplash\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002Fsocial-x\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=pro_social_feeds\" rel=\"nofollow ugc\">X\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002Fsocial-flickr\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=pro_social_feeds\" rel=\"nofollow ugc\">Flickr\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002Fsocial-dribbble\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=pro_social_feeds\" rel=\"nofollow ugc\">Dribbble\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002Fsocial-twitch\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=pro_social_feeds\" rel=\"nofollow ugc\">Twitch\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002Fsocial-medium-rss\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=pro_social_feeds\" rel=\"nofollow ugc\">RSS\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>VK (Vkontakte)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002Ftheft-protection\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=pro_protection\" rel=\"nofollow ugc\">\u003Cstrong>Theft Protection\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Watermarks\u003C\u002Fstrong> – add your logo on top of your images to make them harder to steal\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Password Form\u003C\u002Fstrong> – add a password to gallery blocks and send it to your clients\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Age Gate\u003C\u002Fstrong> – Protect visitors from viewing adult content\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002Fdocs\u002Fproofing\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=pro_proofing\" rel=\"nofollow ugc\">\u003Cstrong>Photos Proofing\u003C\u002Fstrong>\u003C\u002Fa>\u003Cbr \u002F>\nCommunicate with your clients in a modern way:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cstrong>Create Proofing Gallery\u003C\u002Fstrong> – Easily create a gallery with photos, as you did before. Change styling, layout, etc. if you want.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Send to a Client\u003C\u002Fstrong> – Send photos collection to your client for proofing. The client will be able to leave comments on individual photos and communicate with you.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Get Approval\u003C\u002Fstrong> – Once the client approves the selection, you will be able to see the selected photos and copy filenames for post-production.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Advanced Click Actions\u003C\u002Fstrong>\u003Cbr \u002F>\nManually configure how to open specific item types and filter clicking on title or on image.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Responsive Breakpoints Settings\u003C\u002Fstrong>\u003Cbr \u002F>\nManually control the screen sizes, which used by the automatic responsive function to adapt your gallery layouts.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>AJAX Improvements\u003C\u002Fstrong>\u003Cbr \u002F>\nRequests properly cached and links preloaded before you click.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Advanced Query Settings\u003C\u002Fstrong>\u003Cbr \u002F>\nFilter by Author, Date Range, Ignore Sticky Posts, exclude posts without Featured Image, and much more…\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Quick View for Posts and Pages\u003C\u002Fstrong>\u003Cbr \u002F>\nDisplay posts and pages in popup iframe, not only image and video galleries. It’s like works preview in Dribbble and Behance, but on your own site.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Popup Gallery Deep Linking\u003C\u002Fstrong>\u003Cbr \u002F>\nMakes URL automatically change when you open popup and you can easily link to a specific popup image.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>White Label\u003C\u002Fstrong>\u003Cbr \u002F>\nPossibility to use your brand name and logo instead of our “Visual Portfolio”.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002Fpricing\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=pro\" rel=\"nofollow ugc\">\u003Cstrong>Find much more portfolio and gallery features of Visual Portfolio Pro today!\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>🌟 More Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Lightboxes for Standard WordPress Images\u003C\u002Fstrong>\u003Cbr \u002F>\nImage lightbox available for Visual Portfolio galleries as well as for standard WordPress images and galleries in your content.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>AJAX Loading and Pagination\u003C\u002Fstrong>\u003Cbr \u002F>\nEvery dynamic part of the Visual Portfolio plugin is using AJAX to update the gallery content in live mode.\u003Cbr \u002F>\nOrganized galleries and portfolio lists will make your website look more professional, easy to navigate and result in a better user experience. We prepared 3 types of paginations for you:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Infinite Scroll\u003C\u002Fli>\n\u003Cli>Load More button\u003C\u002Fli>\n\u003Cli>Paged pagination\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Filter\u003C\u002Fstrong>\u003Cbr \u002F>\nFilter your gallery and portfolio by taxonomies (mostly categories and tags). Let users select a category and see the relevant items.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Sort gallery items by date and title\u003C\u002Fstrong>\u003Cbr \u002F>\nUsers may sort gallery items by date and title.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>GIFs Support\u003C\u002Fstrong>\u003Cbr \u002F>\nOur plugin automatically displays the animated GIFs in photo galleries. Also, you can show the animated GIFs on mouseover with the Pro plugin.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Items Gutters\u003C\u002Fstrong>\u003Cbr \u002F>\nManually adjust the spacing between gallery images and projects.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Images Lazy Loading\u003C\u002Fstrong>\u003Cbr \u002F>\nImages lazy loading boost your page loading speed. You don’t need to worry about it, just use your beautiful images in the gallery, Visual Portfolio will do all the work for you.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Images Aspect Ratio\u003C\u002Fstrong>\u003Cbr \u002F>\nAll built-in gallery layouts support custom image aspect ratio. You don’t need to crop the image manually.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Images Focal Point\u003C\u002Fstrong>\u003Cbr \u002F>\nSometimes it is very important to specify the focal point so that the custom aspect ratio does not cut off important parts of the photos. For example, people’s faces on the portrait photos.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Custom Links for Gallery Images\u003C\u002Fstrong>\u003Cbr \u002F>\nBy default, gallery images will contain the links to original images. You can manually set the custom links, for example, to a website or Youtube video.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>RTL Support\u003C\u002Fstrong>\u003Cbr \u002F>\nVisual Portfolio natively supports RTL languages, proper styles loaded automatically, without user interaction.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Elementor and WPBakery Page Builder support\u003C\u002Fstrong>\u003Cbr \u002F>\nThere is a helpful widget for Elementor and shortcode for WPBakery Page Builder, which will let you select one of the available Saved Layouts and output it.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Responsive and Mobile Ready\u003C\u002Fstrong>\u003Cbr \u002F>\nVisual Portfolio and Galleries are completely responsive and mobile ready – layouts automagically transforms to display perfectly on your screen size.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Custom CSS\u003C\u002Fstrong>\u003Cbr \u002F>\nDeeply customize the look of your gallery using custom CSS and CSS Variables.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>… And Much More\u003C\u002Fstrong>\u003Cbr \u002F>\nAll available features you can find on the \u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=more_features\" rel=\"nofollow ugc\">plugin’s site\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fwww.visualportfolio.com\u002Fdocs\u002Fgetting-started\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=docs\" rel=\"nofollow ugc\">documentation\u003C\u002Fa>.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n","Modern photo gallery and portfolio plugin with advanced layouts editor. Clean gallery styles with powerful settings in the Gutenberg block.",60000,2250422,96,328,"2026-02-18T07:58:00.000Z","6.9.4","6.2","7.2",[70,96,97,71,98],"gallery-block","image-gallery","wordpress-gallery-plugin","https:\u002F\u002Fwww.visualportfolio.com\u002F?utm_source=wordpress.org&utm_medium=readme&utm_campaign=byline","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fvisual-portfolio.3.5.2.zip",98,"2024-05-14 11:31:11",{"slug":104,"name":105,"version":106,"author":107,"author_profile":108,"description":109,"short_description":110,"active_installs":111,"downloaded":112,"rating":32,"num_ratings":113,"last_updated":114,"tested_up_to":115,"requires_at_least":116,"requires_php":17,"tags":117,"homepage":119,"download_link":120,"security_score":121,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26},"portfolio-post-type","Portfolio Post Type","1.0.1","Devin Price","https:\u002F\u002Fprofiles.wordpress.org\u002Fdownstairsdev\u002F","\u003Cp>This plugin registers a custom post type for portfolio items.  It also registers separate portfolio taxonomies for tags and categories.  If featured images are selected, they will be displayed in the column view.\u003C\u002Fp>\n\u003Cp>This plugin doesn’t change how portfolio items are displayed in your theme.  You’ll need to add templates for archive-portfolio.php and single-portfolio.php if you want to customize the display of portfolio items.\u003C\u002Fp>\n","This plugin registers a custom post type for portfolio items.  It also registers separate portfolio taxonomies for tags and categories.",50000,878190,14,"2020-08-29T18:37:00.000Z","5.5.18","3.8",[71,118],"post-type","https:\u002F\u002Fwptheming.com\u002Fportfolio-post-type\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fportfolio-post-type.1.0.1.zip",85,{"slug":123,"name":124,"version":125,"author":126,"author_profile":127,"description":128,"short_description":129,"active_installs":130,"downloaded":131,"rating":132,"num_ratings":133,"last_updated":134,"tested_up_to":135,"requires_at_least":46,"requires_php":136,"tags":137,"homepage":140,"download_link":141,"security_score":142,"vuln_count":143,"unpatched_count":13,"last_vuln_date":144,"fetched_at":26},"auxin-portfolio","Premium Portfolio Features for Phlox theme","2.3.12","averta","https:\u002F\u002Fprofiles.wordpress.org\u002Faverta\u002F","\u003Ch4>Overview\u003C\u002Fh4>\n\u003Cp>This plugin adds plenty of premium portfolio functionalities to Phlox theme that makes you able to showcase and present your projects in an elegant way.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fphlox.pro\" title=\"Live demo of Phlox Portfolio\" rel=\"nofollow ugc\">Demo on Phlox Theme\u003C\u002Fa> | \u003Ca href=\"http:\u002F\u002Fsupport.averta.net\u002Fen\u002Fe-item\u002Fphlox-wordpress-theme\u002F?utm_source=wporg-auxin-portfolio&utm_medium=wporg&utm_content=auxin-portfolio-doc&utm_term=documentation\" title=\"Phlox Portfolio documentation\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa> | \u003Ca href=\"http:\u002F\u002Fsupport.averta.net\u002Fen\u002Fvideos\u002Fphlox-video-tutorials\u002F\" title=\"Watch all video tutorials\" rel=\"nofollow ugc\">Video tutorials\u003C\u002Fa> | \u003Ca href=\"http:\u002F\u002Fsupport.averta.net\u002Fen\u002Fitem\u002Fphlox\u002F?utm_source=wporg-auxin-portfolio&utm_medium=wporg&utm_content=auxin-portfolio-supp&utm_term=support\" title=\"Free support\" rel=\"nofollow ugc\">Support forum\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Elementor Page builder support (6 Exclusive Portfolio Elements)\u003C\u002Fli>\n\u003Cli>Portfolio in Grid Layout\u003C\u002Fli>\n\u003Cli>Portfolio in Grid Layout With Filter Options\u003C\u002Fli>\n\u003Cli>Portfolio in Masonry Layout\u003C\u002Fli>\n\u003Cli>Portfolio in Masonry Layout With Filter Options\u003C\u002Fli>\n\u003Cli>Portfolio in Tiles Layout\u003C\u002Fli>\n\u003Cli>Customizable Portfolio Archive pages\u003C\u002Fli>\n\u003Cli>Sticky Header\u003C\u002Fli>\n\u003Cli>Sticky Footer\u003C\u002Fli>\n\u003Cli>Fully Responsive\u003C\u002Fli>\n\u003Cli>Cross Browser IE9+ and Other Modern Browsers\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Some demo sites by Phlox theme\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fdemo.phlox.pro\u002Fportfolio-minimal\u002F?utm_source=wporg-auxin-portfolio&utm_medium=wporg&utm_campaign=wporg-profile&utm_term=25\" rel=\"nofollow ugc\">Minimal Portfolio\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fdemo.phlox.pro\u002Ffree-shop\u002F?utm_source=wporg-auxin-portfolio&utm_medium=wporg&utm_campaign=wporg-profile&utm_term=29\" rel=\"nofollow ugc\">Modern Shop\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fdemo.phlox.pro\u002Frealstate\u002F?utm_source=wporg-auxin-portfolio&utm_medium=wporg&utm_campaign=wporg-profile&utm_term=44\" rel=\"nofollow ugc\">Real State\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fdemo.phlox.pro\u002Farchitect\u002F?utm_source=wporg-auxin-portfolio&utm_medium=wporg&utm_campaign=wporg-profile&utm_term=41\" rel=\"nofollow ugc\">The Architect\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fdemo.phlox.pro\u002Fminimal-photography\u002F?utm_source=wporg-auxin-portfolio&utm_medium=wporg&utm_campaign=wporg-profile&utm_term=28\" rel=\"nofollow ugc\">Minimal Photography\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fdemo.phlox.pro\u002Fjourney\u002F?utm_source=wporg-auxin-portfolio&utm_medium=wporg&utm_campaign=wporg-profile&utm_term=6\" rel=\"nofollow ugc\">Journey Blog\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fdemo.phlox.pro\u002Fclassic-blog\u002F?utm_source=wporg-auxin-portfolio&utm_medium=wporg&utm_campaign=wporg-profile&utm_term=7\" rel=\"nofollow ugc\">Classic Blog\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fdemo.phlox.pro\u002Fportfolio\u002Fvivid\u002F?utm_source=wporg-auxin-portfolio&utm_medium=wporg&utm_campaign=wporg-profile&utm_term=32\" rel=\"nofollow ugc\">Portfolio Vivid\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fdemo.phlox.pro\u002Fportfolio\u002F?utm_source=wporg-auxin-portfolio&utm_medium=wporg&utm_campaign=wporg-profile&utm_term=10\" rel=\"nofollow ugc\">Classic Portfolio\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fdemo.phlox.pro\u002Ffood\u002F?utm_source=wporg-auxin-portfolio&utm_medium=wporg&utm_campaign=wporg-profile&utm_term=2\" rel=\"nofollow ugc\">Food Blog\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fdemo.phlox.pro\u002Fdefault\u002F?utm_source=wporg-auxin-portfolio&utm_medium=wporg&utm_campaign=wporg-profile&utm_term=8\" rel=\"nofollow ugc\">Default\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fdemo.phlox.pro\u002Fcoming-soon-1\u002F?utm_source=wporg-auxin-portfolio&utm_medium=wporg&utm_campaign=wporg-profile&utm_term=37\" rel=\"nofollow ugc\">Coming Soon Red\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fdemo.phlox.pro\u002Fcoming-soon-2\u002F?utm_source=wporg-auxin-portfolio&utm_medium=wporg&utm_campaign=wporg-profile&utm_term=38\" rel=\"nofollow ugc\">Coming Soon Galaxy\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Compatible Browsers\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>IE9+\u003C\u002Fli>\n\u003Cli>Firefox\u003C\u002Fli>\n\u003Cli>Safari\u003C\u002Fli>\n\u003Cli>Opera\u003C\u002Fli>\n\u003Cli>Chrome\u003C\u002Fli>\n\u003Cli>iOS browser\u003C\u002Fli>\n\u003Cli>Android browser\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Documentations\u003C\u002Fh4>\n\u003Cp>If you have any question about working with “Phlox Portfolio”, you can take a look at \u003Ca href=\"http:\u002F\u002Fsupport.averta.net\u002Fen\u002Fe-item\u002Fphlox-wordpress-theme\u002F?utm_source=wporg-auxin-portfolio&utm_medium=wporg&utm_content=auxin-portfolio-doc&utm_term=documentation\" rel=\"nofollow ugc\">online documentations\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Translation\u003C\u002Fh4>\n\u003Cp>You can start translating this plugin from here: \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fauxin-portfolio\u002F\" rel=\"nofollow ugc\">online translation service\u003C\u002Fa>.\u003C\u002Fp>\n","Showcase your projects beautifully in Phlox theme",40000,1072443,84,6,"2025-11-03T09:46:00.000Z","6.8.5","5.6",[126,138,70,139,71],"elementor","phlox","http:\u002F\u002Fphlox.pro\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fauxin-portfolio.2.3.12.zip",89,4,"2025-11-04 21:46:49",{"attackSurface":146,"codeSignals":295,"taintFlows":931,"riskAssessment":1010,"analyzedAt":1021},{"hooks":147,"ajaxHandlers":253,"restRoutes":288,"shortcodes":289,"cronEvents":292,"entryPointCount":293,"unprotectedCount":294},[148,154,158,162,168,172,176,178,182,186,190,194,198,202,206,211,215,218,221,224,227,230,233,236,239,243,246,251],{"type":149,"name":150,"callback":151,"file":152,"line":153},"action","admin_menu","supapress_add_menu","admin\\admin.php",13,{"type":149,"name":155,"callback":156,"file":152,"line":157},"admin_init","supapress_register_settings",15,{"type":149,"name":159,"callback":160,"file":152,"line":161},"supapress_admin_notices","supapress_admin_updated_message",17,{"type":163,"name":164,"callback":165,"priority":166,"file":152,"line":167},"filter","set-screen-option","supapress_set_screen_options",10,32,{"type":149,"name":169,"callback":170,"file":152,"line":171},"admin_enqueue_scripts","supapress_admin_enqueue_scripts",44,{"type":163,"name":173,"callback":174,"file":152,"line":175},"screen_options_show_screen","__return_false",61,{"type":149,"name":169,"callback":177,"file":152,"line":142},"supapress_admin_enqueue_widget_scripts",{"type":163,"name":179,"callback":180,"file":152,"line":181},"parse_query","supapress_filter_widget_type",323,{"type":149,"name":183,"callback":184,"priority":11,"file":152,"line":185},"edit_form_after_editor","supapress_add_shortcode_panel",485,{"type":149,"name":187,"callback":188,"file":189,"line":166},"plugins_loaded","supapress_add_shortcodes","includes\\controller.php",{"type":149,"name":191,"callback":192,"file":189,"line":193},"wp_enqueue_scripts","supapress_do_enqueue_scripts",59,{"type":163,"name":195,"callback":196,"file":189,"line":197},"rewrite_rules_array","supapress_add_rewrite_rules",76,{"type":163,"name":199,"callback":200,"file":189,"line":201},"query_vars","supapress_add_query_vars",77,{"type":149,"name":203,"callback":204,"file":189,"line":205},"wp_loaded","supapress_add_flush_rules",78,{"type":149,"name":207,"callback":208,"file":209,"line":210},"get_header","supapress_override_seo_field","includes\\functions.php",839,{"type":163,"name":212,"callback":213,"priority":157,"file":209,"line":214},"wpseo_opengraph_url","anonymous",943,{"type":163,"name":216,"callback":213,"priority":157,"file":209,"line":217},"wpseo_title",944,{"type":163,"name":219,"callback":213,"priority":157,"file":209,"line":220},"wpseo_twitter_title",945,{"type":163,"name":222,"callback":213,"priority":157,"file":209,"line":223},"wpseo_opengraph_title",946,{"type":163,"name":225,"callback":213,"priority":157,"file":209,"line":226},"wpseo_metadesc",947,{"type":163,"name":228,"callback":213,"priority":157,"file":209,"line":229},"wpseo_opengraph_desc",948,{"type":163,"name":231,"callback":213,"priority":157,"file":209,"line":232},"wpseo_canonical",949,{"type":163,"name":234,"callback":213,"priority":157,"file":209,"line":235},"wpseo_opengraph_image",950,{"type":163,"name":237,"callback":213,"priority":157,"file":209,"line":238},"wpseo_twitter_image",951,{"type":149,"name":240,"callback":241,"file":242,"line":161},"init","supapress_init","settings.php",{"type":149,"name":187,"callback":244,"file":242,"line":245},"supapress_translations_setup",58,{"type":149,"name":247,"callback":248,"file":249,"line":250},"widgets_init","supapress_load_widgets","widgets.php",5,{"type":149,"name":169,"callback":170,"file":249,"line":252},7,[254,258,261,265,269,273,276,278,281,283,286],{"action":255,"nopriv":256,"callback":255,"hasNonce":256,"hasCapCheck":256,"file":152,"line":257},"supapress_predictive",false,401,{"action":255,"nopriv":259,"callback":255,"hasNonce":256,"hasCapCheck":256,"file":152,"line":260},true,402,{"action":262,"nopriv":256,"callback":263,"hasNonce":256,"hasCapCheck":256,"file":152,"line":264},"supapress_cache_clear","supapress_cache_clear_ajax",403,{"action":266,"nopriv":256,"callback":267,"hasNonce":256,"hasCapCheck":256,"file":152,"line":268},"supapress_bulk_isbn_lookup","supapress_bulk_isbn_lookup_ajax",404,{"action":270,"nopriv":256,"callback":271,"hasNonce":256,"hasCapCheck":256,"file":152,"line":272},"supapress_get_module_list","supapress_get_module_list_ajax",405,{"action":274,"nopriv":256,"callback":274,"hasNonce":256,"hasCapCheck":256,"file":152,"line":275},"supapress_isbn_lookup",419,{"action":274,"nopriv":259,"callback":274,"hasNonce":256,"hasCapCheck":256,"file":152,"line":277},420,{"action":279,"nopriv":256,"callback":279,"hasNonce":256,"hasCapCheck":256,"file":152,"line":280},"supapress_collections",433,{"action":279,"nopriv":259,"callback":279,"hasNonce":256,"hasCapCheck":256,"file":152,"line":282},434,{"action":284,"nopriv":256,"callback":284,"hasNonce":256,"hasCapCheck":256,"file":152,"line":285},"supapress_filters",445,{"action":284,"nopriv":259,"callback":284,"hasNonce":256,"hasCapCheck":256,"file":152,"line":287},446,[],[290],{"tag":4,"callback":291,"file":189,"line":153},"supapress_widget_short_tag",[],12,11,{"dangerousFunctions":296,"sqlUsage":297,"outputEscaping":305,"fileOperations":250,"externalRequests":30,"nonceChecks":143,"capabilityChecks":77,"bundledLibraries":923},[],{"prepared":30,"raw":298,"locations":299},2,[300,303],{"file":209,"line":301,"context":302},206,"$wpdb->query() with variable interpolation",{"file":304,"line":167,"context":302},"uninstall.php",{"escaped":197,"rawEcho":306,"locations":307},348,[308,311,314,315,317,318,320,321,323,325,328,330,332,334,336,338,340,342,343,345,346,348,349,351,353,355,357,359,361,363,365,367,369,371,373,375,377,379,381,383,385,387,388,390,392,394,396,398,400,402,404,406,408,410,412,414,416,418,420,422,424,425,426,428,430,432,434,435,437,438,439,440,442,445,446,448,450,451,453,455,457,459,461,463,465,467,469,471,472,473,475,476,477,478,479,481,483,485,487,488,490,492,494,495,497,499,501,503,504,506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,551,553,555,557,559,561,563,565,567,569,571,573,575,577,579,581,582,584,586,588,589,590,592,594,596,598,600,602,604,606,608,610,612,614,616,618,620,622,624,626,628,630,632,634,636,638,640,642,644,646,648,650,652,654,656,658,660,662,664,666,668,670,672,674,676,678,680,682,684,686,688,690,692,694,696,698,699,700,702,703,704,706,707,708,709,710,711,714,715,717,719,721,723,724,726,727,728,730,731,732,733,735,736,738,740,741,742,744,746,747,748,749,750,751,753,754,755,756,757,758,760,762,764,766,768,770,772,773,775,777,779,781,783,785,787,788,789,790,791,792,793,795,797,800,801,804,805,806,807,809,811,813,815,816,818,819,821,823,825,827,829,831,833,835,837,839,841,843,845,847,849,851,853,855,857,859,860,862,864,866,868,870,872,874,876,877,879,881,883,885,887,888,890,891,892,894,896,897,898,899,900,901,902,904,905,907,909,910,911,912,914,916,917,919,920,922],{"file":152,"line":309,"context":310},186,"raw output",{"file":312,"line":313,"context":310},"admin\\includes\\widget-list-table.php",202,{"file":312,"line":313,"context":310},{"file":312,"line":316,"context":310},203,{"file":312,"line":316,"context":310},{"file":312,"line":319,"context":310},229,{"file":312,"line":319,"context":310},{"file":312,"line":322,"context":310},230,{"file":324,"line":166,"context":310},"admin\\views\\add-edit-config.php",{"file":326,"line":327,"context":310},"admin\\views\\add-edit-partials\\arrangement.php",19,{"file":326,"line":329,"context":310},31,{"file":326,"line":331,"context":310},43,{"file":326,"line":333,"context":310},56,{"file":326,"line":335,"context":310},72,{"file":326,"line":337,"context":310},73,{"file":326,"line":339,"context":310},74,{"file":326,"line":341,"context":310},75,{"file":326,"line":205,"context":310},{"file":326,"line":344,"context":310},79,{"file":326,"line":64,"context":310},{"file":326,"line":347,"context":310},81,{"file":326,"line":142,"context":310},{"file":326,"line":350,"context":310},99,{"file":326,"line":352,"context":310},101,{"file":326,"line":354,"context":310},104,{"file":326,"line":356,"context":310},107,{"file":326,"line":358,"context":310},110,{"file":326,"line":360,"context":310},113,{"file":326,"line":362,"context":310},116,{"file":326,"line":364,"context":310},126,{"file":326,"line":366,"context":310},139,{"file":326,"line":368,"context":310},154,{"file":326,"line":370,"context":310},166,{"file":326,"line":372,"context":310},173,{"file":326,"line":374,"context":310},176,{"file":326,"line":376,"context":310},179,{"file":326,"line":378,"context":310},182,{"file":326,"line":380,"context":310},185,{"file":326,"line":382,"context":310},188,{"file":326,"line":384,"context":310},191,{"file":326,"line":386,"context":310},194,{"file":326,"line":313,"context":310},{"file":326,"line":389,"context":310},205,{"file":326,"line":391,"context":310},208,{"file":326,"line":393,"context":310},211,{"file":326,"line":395,"context":310},214,{"file":326,"line":397,"context":310},217,{"file":326,"line":399,"context":310},220,{"file":326,"line":401,"context":310},223,{"file":326,"line":403,"context":310},231,{"file":326,"line":405,"context":310},238,{"file":326,"line":407,"context":310},251,{"file":326,"line":409,"context":310},262,{"file":326,"line":411,"context":310},271,{"file":326,"line":413,"context":310},288,{"file":326,"line":415,"context":310},295,{"file":326,"line":417,"context":310},297,{"file":326,"line":419,"context":310},299,{"file":326,"line":421,"context":310},306,{"file":326,"line":423,"context":310},321,{"file":326,"line":423,"context":310},{"file":326,"line":423,"context":310},{"file":427,"line":157,"context":310},"admin\\views\\add-edit-partials\\content.php",{"file":427,"line":429,"context":310},18,{"file":427,"line":431,"context":310},21,{"file":427,"line":433,"context":310},28,{"file":427,"line":167,"context":310},{"file":427,"line":436,"context":310},39,{"file":427,"line":436,"context":310},{"file":427,"line":436,"context":310},{"file":427,"line":436,"context":310},{"file":427,"line":441,"context":310},46,{"file":443,"line":444,"context":310},"admin\\views\\add-edit-partials\\elements.php",24,{"file":443,"line":31,"context":310},{"file":443,"line":447,"context":310},33,{"file":443,"line":449,"context":310},36,{"file":443,"line":436,"context":310},{"file":443,"line":452,"context":310},42,{"file":443,"line":454,"context":310},45,{"file":443,"line":456,"context":310},48,{"file":443,"line":458,"context":310},51,{"file":443,"line":460,"context":310},54,{"file":443,"line":462,"context":310},57,{"file":443,"line":464,"context":310},60,{"file":443,"line":466,"context":310},69,{"file":443,"line":468,"context":310},83,{"file":443,"line":470,"context":310},86,{"file":443,"line":142,"context":310},{"file":443,"line":53,"context":310},{"file":443,"line":474,"context":310},95,{"file":443,"line":101,"context":310},{"file":443,"line":352,"context":310},{"file":443,"line":354,"context":310},{"file":443,"line":356,"context":310},{"file":443,"line":480,"context":310},117,{"file":443,"line":482,"context":310},146,{"file":443,"line":484,"context":310},147,{"file":443,"line":486,"context":310},161,{"file":443,"line":486,"context":310},{"file":443,"line":489,"context":310},170,{"file":443,"line":491,"context":310},178,{"file":443,"line":493,"context":310},190,{"file":443,"line":393,"context":310},{"file":443,"line":496,"context":310},212,{"file":443,"line":498,"context":310},221,{"file":443,"line":500,"context":310},242,{"file":443,"line":502,"context":310},243,{"file":443,"line":407,"context":310},{"file":443,"line":505,"context":310},257,{"file":443,"line":507,"context":310},260,{"file":443,"line":509,"context":310},261,{"file":443,"line":511,"context":310},270,{"file":443,"line":513,"context":310},281,{"file":443,"line":515,"context":310},287,{"file":443,"line":517,"context":310},290,{"file":443,"line":519,"context":310},291,{"file":443,"line":521,"context":310},300,{"file":443,"line":523,"context":310},311,{"file":443,"line":525,"context":310},312,{"file":443,"line":527,"context":310},313,{"file":443,"line":529,"context":310},314,{"file":443,"line":531,"context":310},315,{"file":443,"line":533,"context":310},318,{"file":443,"line":535,"context":310},324,{"file":443,"line":537,"context":310},327,{"file":443,"line":539,"context":310},330,{"file":443,"line":541,"context":310},333,{"file":443,"line":543,"context":310},336,{"file":443,"line":545,"context":310},339,{"file":443,"line":547,"context":310},342,{"file":443,"line":549,"context":310},345,{"file":443,"line":306,"context":310},{"file":443,"line":552,"context":310},351,{"file":443,"line":554,"context":310},354,{"file":443,"line":556,"context":310},357,{"file":443,"line":558,"context":310},360,{"file":443,"line":560,"context":310},363,{"file":443,"line":562,"context":310},366,{"file":443,"line":564,"context":310},369,{"file":443,"line":566,"context":310},372,{"file":443,"line":568,"context":310},381,{"file":443,"line":570,"context":310},382,{"file":443,"line":572,"context":310},385,{"file":443,"line":574,"context":310},391,{"file":443,"line":576,"context":310},394,{"file":443,"line":578,"context":310},397,{"file":443,"line":580,"context":310},400,{"file":443,"line":264,"context":310},{"file":443,"line":583,"context":310},406,{"file":443,"line":585,"context":310},409,{"file":443,"line":587,"context":310},418,{"file":443,"line":275,"context":310},{"file":443,"line":277,"context":310},{"file":443,"line":591,"context":310},421,{"file":443,"line":593,"context":310},422,{"file":443,"line":595,"context":310},423,{"file":443,"line":597,"context":310},424,{"file":443,"line":599,"context":310},425,{"file":443,"line":601,"context":310},426,{"file":443,"line":603,"context":310},430,{"file":443,"line":605,"context":310},432,{"file":443,"line":607,"context":310},438,{"file":443,"line":609,"context":310},441,{"file":443,"line":611,"context":310},444,{"file":443,"line":613,"context":310},447,{"file":443,"line":615,"context":310},450,{"file":443,"line":617,"context":310},453,{"file":443,"line":619,"context":310},456,{"file":443,"line":621,"context":310},459,{"file":443,"line":623,"context":310},462,{"file":443,"line":625,"context":310},465,{"file":443,"line":627,"context":310},468,{"file":443,"line":629,"context":310},471,{"file":443,"line":631,"context":310},474,{"file":443,"line":633,"context":310},477,{"file":443,"line":635,"context":310},480,{"file":443,"line":637,"context":310},483,{"file":443,"line":639,"context":310},486,{"file":443,"line":641,"context":310},497,{"file":443,"line":643,"context":310},498,{"file":443,"line":645,"context":310},499,{"file":443,"line":647,"context":310},500,{"file":443,"line":649,"context":310},501,{"file":443,"line":651,"context":310},502,{"file":443,"line":653,"context":310},503,{"file":443,"line":655,"context":310},504,{"file":443,"line":657,"context":310},505,{"file":443,"line":659,"context":310},506,{"file":443,"line":661,"context":310},507,{"file":443,"line":663,"context":310},508,{"file":443,"line":665,"context":310},509,{"file":443,"line":667,"context":310},510,{"file":443,"line":669,"context":310},511,{"file":443,"line":671,"context":310},512,{"file":443,"line":673,"context":310},513,{"file":443,"line":675,"context":310},514,{"file":443,"line":677,"context":310},515,{"file":443,"line":679,"context":310},516,{"file":443,"line":681,"context":310},517,{"file":443,"line":683,"context":310},518,{"file":443,"line":685,"context":310},519,{"file":443,"line":687,"context":310},520,{"file":443,"line":689,"context":310},521,{"file":443,"line":691,"context":310},522,{"file":443,"line":693,"context":310},523,{"file":443,"line":695,"context":310},524,{"file":697,"line":433,"context":310},"admin\\views\\add-edit-partials\\restrictions.php",{"file":697,"line":433,"context":310},{"file":697,"line":433,"context":310},{"file":697,"line":701,"context":310},41,{"file":697,"line":701,"context":310},{"file":697,"line":701,"context":310},{"file":697,"line":705,"context":310},55,{"file":697,"line":705,"context":310},{"file":697,"line":705,"context":310},{"file":697,"line":337,"context":310},{"file":697,"line":337,"context":310},{"file":697,"line":337,"context":310},{"file":712,"line":713,"context":310},"admin\\views\\add-edit-partials\\step1.php",9,{"file":712,"line":294,"context":310},{"file":712,"line":716,"context":310},20,{"file":712,"line":718,"context":310},29,{"file":712,"line":720,"context":310},38,{"file":722,"line":294,"context":310},"admin\\views\\add-module-shortcode-panel.php",{"file":722,"line":294,"context":310},{"file":725,"line":157,"context":310},"admin\\views\\list.php",{"file":725,"line":429,"context":310},{"file":725,"line":431,"context":310},{"file":729,"line":294,"context":310},"admin\\views\\settings-partials\\book-url.php",{"file":729,"line":157,"context":310},{"file":729,"line":429,"context":310},{"file":729,"line":327,"context":310},{"file":729,"line":734,"context":310},23,{"file":729,"line":167,"context":310},{"file":729,"line":737,"context":310},34,{"file":739,"line":113,"context":310},"admin\\views\\settings-partials\\retailer-link.php",{"file":739,"line":429,"context":310},{"file":739,"line":431,"context":310},{"file":739,"line":743,"context":310},26,{"file":739,"line":745,"context":310},27,{"file":739,"line":329,"context":310},{"file":739,"line":449,"context":310},{"file":739,"line":449,"context":310},{"file":739,"line":171,"context":310},{"file":739,"line":171,"context":310},{"file":739,"line":752,"context":310},47,{"file":739,"line":705,"context":310},{"file":739,"line":705,"context":310},{"file":739,"line":462,"context":310},{"file":739,"line":462,"context":310},{"file":739,"line":462,"context":310},{"file":759,"line":53,"context":310},"admin\\views\\settings.php",{"file":759,"line":761,"context":310},121,{"file":759,"line":763,"context":310},124,{"file":759,"line":765,"context":310},127,{"file":759,"line":767,"context":310},130,{"file":759,"line":769,"context":310},133,{"file":759,"line":771,"context":310},136,{"file":759,"line":366,"context":310},{"file":759,"line":774,"context":310},150,{"file":759,"line":776,"context":310},153,{"file":759,"line":778,"context":310},156,{"file":759,"line":780,"context":310},159,{"file":759,"line":782,"context":310},162,{"file":759,"line":784,"context":310},165,{"file":759,"line":786,"context":310},168,{"file":759,"line":376,"context":310},{"file":759,"line":378,"context":310},{"file":759,"line":380,"context":310},{"file":759,"line":382,"context":310},{"file":759,"line":384,"context":310},{"file":759,"line":386,"context":310},{"file":759,"line":794,"context":310},197,{"file":759,"line":796,"context":310},234,{"file":798,"line":799,"context":310},"admin\\views\\url-pattern-label.php",8,{"file":798,"line":713,"context":310},{"file":802,"line":803,"context":310},"includes\\book.php",70,{"file":802,"line":76,"context":310},{"file":802,"line":360,"context":310},{"file":802,"line":489,"context":310},{"file":802,"line":808,"context":310},210,{"file":802,"line":810,"context":310},224,{"file":802,"line":812,"context":310},365,{"file":802,"line":814,"context":310},390,{"file":802,"line":595,"context":310},{"file":802,"line":817,"context":310},464,{"file":802,"line":665,"context":310},{"file":802,"line":820,"context":310},534,{"file":802,"line":822,"context":310},555,{"file":802,"line":824,"context":310},606,{"file":802,"line":826,"context":310},636,{"file":802,"line":828,"context":310},685,{"file":802,"line":830,"context":310},730,{"file":802,"line":832,"context":310},756,{"file":802,"line":834,"context":310},786,{"file":802,"line":836,"context":310},807,{"file":802,"line":838,"context":310},828,{"file":802,"line":840,"context":310},877,{"file":802,"line":842,"context":310},898,{"file":802,"line":844,"context":310},927,{"file":802,"line":846,"context":310},953,{"file":802,"line":848,"context":310},985,{"file":802,"line":850,"context":310},1017,{"file":802,"line":852,"context":310},1044,{"file":802,"line":854,"context":310},1076,{"file":802,"line":856,"context":310},1127,{"file":858,"line":132,"context":310},"includes\\filters.php",{"file":858,"line":486,"context":310},{"file":858,"line":861,"context":310},273,{"file":858,"line":863,"context":310},302,{"file":858,"line":865,"context":310},331,{"file":209,"line":867,"context":310},50,{"file":209,"line":869,"context":310},542,{"file":209,"line":871,"context":310},954,{"file":873,"line":245,"context":310},"includes\\typesense-functions.php",{"file":873,"line":875,"context":310},87,{"file":873,"line":362,"context":310},{"file":873,"line":878,"context":310},148,{"file":873,"line":880,"context":310},164,{"file":882,"line":293,"context":310},"views\\filters.php",{"file":884,"line":252,"context":310},"views\\widget-display.php",{"file":886,"line":166,"context":310},"views\\widget-search-form.php",{"file":249,"line":458,"context":310},{"file":249,"line":889,"context":310},52,{"file":249,"line":889,"context":310},{"file":249,"line":462,"context":310},{"file":249,"line":893,"context":310},63,{"file":249,"line":895,"context":310},64,{"file":249,"line":895,"context":310},{"file":249,"line":895,"context":310},{"file":249,"line":769,"context":310},{"file":249,"line":769,"context":310},{"file":249,"line":769,"context":310},{"file":249,"line":769,"context":310},{"file":249,"line":903,"context":310},135,{"file":249,"line":903,"context":310},{"file":249,"line":906,"context":310},140,{"file":249,"line":908,"context":310},144,{"file":249,"line":484,"context":310},{"file":249,"line":484,"context":310},{"file":249,"line":774,"context":310},{"file":249,"line":913,"context":310},152,{"file":249,"line":915,"context":310},155,{"file":249,"line":915,"context":310},{"file":249,"line":918,"context":310},158,{"file":249,"line":486,"context":310},{"file":249,"line":921,"context":310},163,{"file":249,"line":374,"context":310},[924,927],{"name":925,"version":25,"knownCves":926},"Select2",[],{"name":928,"version":929,"knownCves":930},"Guzzle","1.1",[],[932,969,987,1000],{"entryPoint":933,"graph":934,"unsanitizedCount":143,"severity":968},"search_box (admin\\includes\\widget-list-table.php:186)",{"nodes":935,"edges":963},[936,941,946,950,952,955,957,961],{"id":937,"type":938,"label":939,"file":312,"line":940},"n0","source","$_REQUEST['orderby']",193,{"id":942,"type":943,"label":944,"file":312,"line":940,"wp_function":945},"n1","sink","echo() [XSS]","echo",{"id":947,"type":938,"label":948,"file":312,"line":949},"n2","$_REQUEST['order']",195,{"id":951,"type":943,"label":944,"file":312,"line":949,"wp_function":945},"n3",{"id":953,"type":938,"label":954,"file":312,"line":794},"n4","$_REQUEST['post_mime_type']",{"id":956,"type":943,"label":944,"file":312,"line":794,"wp_function":945},"n5",{"id":958,"type":938,"label":959,"file":312,"line":960},"n6","$_REQUEST['detached']",199,{"id":962,"type":943,"label":944,"file":312,"line":960,"wp_function":945},"n7",[964,965,966,967],{"from":937,"to":942,"sanitized":256},{"from":947,"to":951,"sanitized":256},{"from":953,"to":956,"sanitized":256},{"from":958,"to":962,"sanitized":256},"medium",{"entryPoint":970,"graph":971,"unsanitizedCount":13,"severity":986},"\u003Cwidget-list-table> (admin\\includes\\widget-list-table.php:0)",{"nodes":972,"edges":981},[973,974,975,976,977,978,979,980],{"id":937,"type":938,"label":939,"file":312,"line":940},{"id":942,"type":943,"label":944,"file":312,"line":940,"wp_function":945},{"id":947,"type":938,"label":948,"file":312,"line":949},{"id":951,"type":943,"label":944,"file":312,"line":949,"wp_function":945},{"id":953,"type":938,"label":954,"file":312,"line":794},{"id":956,"type":943,"label":944,"file":312,"line":794,"wp_function":945},{"id":958,"type":938,"label":959,"file":312,"line":960},{"id":962,"type":943,"label":944,"file":312,"line":960,"wp_function":945},[982,983,984,985],{"from":937,"to":942,"sanitized":259},{"from":947,"to":951,"sanitized":259},{"from":953,"to":956,"sanitized":259},{"from":958,"to":962,"sanitized":259},"low",{"entryPoint":988,"graph":989,"unsanitizedCount":30,"severity":986},"\u003Clist> (admin\\views\\list.php:0)",{"nodes":990,"edges":997},[991,993,994,996],{"id":937,"type":938,"label":992,"file":725,"line":799},"$_REQUEST",{"id":942,"type":943,"label":944,"file":725,"line":429,"wp_function":945},{"id":947,"type":938,"label":995,"file":725,"line":327},"$_REQUEST['page']",{"id":951,"type":943,"label":944,"file":725,"line":327,"wp_function":945},[998,999],{"from":937,"to":942,"sanitized":256},{"from":947,"to":951,"sanitized":259},{"entryPoint":1001,"graph":1002,"unsanitizedCount":30,"severity":986},"\u003Cbook> (includes\\book.php:0)",{"nodes":1003,"edges":1008},[1004,1007],{"id":937,"type":938,"label":1005,"file":802,"line":1006},"$_GET",219,{"id":942,"type":943,"label":944,"file":802,"line":810,"wp_function":945},[1009],{"from":937,"to":942,"sanitized":256},{"summary":1011,"deductions":1012},"The Supapress plugin, version 2.27.0, exhibits a mixed security posture. While it has no recorded historical vulnerabilities and no critical issues in taint analysis, significant concerns arise from its attack surface. A large number of AJAX handlers (11 out of 11) lack proper authentication checks, presenting a substantial risk of unauthorized actions.  The code analysis also reveals issues with output escaping, with only 18% of outputs being properly escaped, increasing the potential for cross-site scripting (XSS) vulnerabilities. The presence of bundled libraries like Select2 and Guzzle v1.1, while not explicitly flagged as outdated, warrants caution as outdated dependencies can introduce known vulnerabilities.  Despite a lack of historical CVEs suggesting a proactive approach to security or a low profile, the current static analysis points to immediate risks that need to be addressed, particularly the unprotected AJAX endpoints and widespread output escaping deficiencies.",[1013,1015,1017,1019],{"reason":1014,"points":166},"AJAX handlers without auth checks",{"reason":1016,"points":799},"Low percentage of properly escaped output",{"reason":1018,"points":250},"SQL queries not always prepared",{"reason":1020,"points":77},"Bundled outdated library (Guzzle v1.1)","2026-03-16T20:53:42.993Z",{"wat":1023,"direct":1048},{"assetPaths":1024,"generatorPatterns":1037,"scriptPaths":1038,"versionParams":1039},[1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036],"\u002Fwp-content\u002Fplugins\u002Fsupapress\u002Fadmin\u002Fcss\u002Fadmin-overrides.min.css","\u002Fwp-content\u002Fplugins\u002Fsupapress\u002Fadmin\u002Fcss\u002Fselect2.min.css","\u002Fwp-content\u002Fplugins\u002Fsupapress\u002Fadmin\u002Fjs\u002Fselect2.min.js","\u002Fwp-content\u002Fplugins\u002Fsupapress\u002Fadmin\u002Fjs\u002Fadd-shortcode.min.js","\u002Fwp-content\u002Fplugins\u002Fsupapress\u002Fadmin\u002Fcss\u002Fadd-shortcode.min.css","\u002Fwp-content\u002Fplugins\u002Fsupapress\u002Fadmin\u002Fcss\u002Fjquery.asmselect.css","\u002Fwp-content\u002Fplugins\u002Fsupapress\u002Fadmin\u002Fcss\u002Fstyles.min.css","\u002Fwp-content\u002Fplugins\u002Fsupapress\u002Fadmin\u002Fjs\u002Fsvg4everybody.min.js","\u002Fwp-content\u002Fplugins\u002Fsupapress\u002Fadmin\u002Fjs\u002Fjquery.placeholder.min.js","\u002Fwp-content\u002Fplugins\u002Fsupapress\u002Fadmin\u002Fjs\u002Fjquery.asmselect.js","\u002Fwp-content\u002Fplugins\u002Fsupapress\u002Fadmin\u002Fjs\u002Fscripts.min.js","\u002Fwp-content\u002Fplugins\u002Fsupapress\u002Fadmin\u002Fjs\u002Fwidgets.min.js",[],[1027,1028,1032,1033,1034,1035,1036],[1040,1041,1041,1042,1042,1043,1044,1045,1046,1043,1044,1047],"supapress-admin-overrides","supapress-admin-select2","supapress-admin-add-shortcode","supapress-admin-asm","supapress-admin","supapress-admin-svg4everybody","supapress-admin-placeholder","widget",{"cssClasses":1049,"htmlComments":1051,"htmlAttributes":1053,"restEndpoints":1055,"jsGlobals":1056,"shortcodeOutput":1081},[4,1050],"supafolio",[1052],"This program is free software; you can redistribute it and\u002For modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation; version 2 of the License.\n\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU General Public License for more details.\n\n * You should have received a copy of the GNU General Public License\n * along with this program; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA",[1054],"data-supapress-setting-id",[],[1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,165,170,177,1077,1078,1079,1080],"SUPAPRESS_VERSION","SUPAPRESS_SITE_URL","SUPAPRESS_PLUGIN_BASENAME","SUPAPRESS_PLUGIN_DIR","SUPAPRESS_PLUGIN_URL","SUPAPRESS_DEFAULT_SERVICE_URL","SUPAPRESS_DEFAULT_SERVICE_API","SUPAPRESS_DEFAULT_NO_BOOKS_MESSAGE","SUPAPRESS_DEFAULT_BOOK_NOT_FOUND_MESSAGE","SUPAPRESS_CACHE_PREFIX","SUPAPRESS_CACHE_PREFIX_KEY","SUPAPRESS_CAPABILITIES","SUPAPRESS_CACHE_LIFETIME_DEFAULT","SUPAPRESS_CACHE_LIFETIME_PRODUCT_DETAILS","SUPAPRESS_CACHE_LIFETIME_SEARCH_RESULTS","SUPAPRESS_CACHE_LIFETIME_ISBN_LOOKUP","supapress_list","supapress_add_new_widget","supapress_settings","supapress_add_page_load","supapress_get_current_contact_form","supapress_get_custom_templates_for_module","supapress_get_autoload_path","supapress_is_ts_api",[]]