{"id":305146,"date":"2026-06-27T06:50:12","date_gmt":"2026-06-27T06:50:12","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/filterable-image-gallery\/"},"modified":"2026-06-27T06:34:58","modified_gmt":"2026-06-27T06:34:58","slug":"webcasata-filter-gallery","status":"publish","type":"plugin","link":"https:\/\/ky.wordpress.org\/plugins\/webcasata-filter-gallery\/","author":23488074,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.1.0","stable_tag":"trunk","tested":"6.9.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Webcasata Filter Gallery","header_author":"Vishal Singh","header_description":"Create beautiful filterable image galleries with multi-group dropdown filtering, AND logic, lightbox, URL links, load more pagination, shortcode and Gutenberg block support.","assets_banners_color":"534a9f","last_updated":"2026-06-27 06:34:58","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/webcasata.com\/webcasata-filter-gallery","header_author_uri":"https:\/\/webcasata.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":68,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":{"2.1.0":"<p>Adds template override system. Existing galleries work without any changes.<\/p>","2.0.0":"<p>Major upgrade: flat tags replaced by multi-group dropdown filters. Existing v1 galleries continue working automatically.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3587871,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"webcasata-filter-gallery\/gallery":{"name":"webcasata-filter-gallery\/gallery","title":"Webcasata Filter Gallery"}},"tagged_versions":[],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3587871,"resolution":"1","location":"assets","locale":"","width":1047,"height":830},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3587871,"resolution":"2","location":"assets","locale":"","width":1926,"height":830},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3587871,"resolution":"3","location":"assets","locale":"","width":1926,"height":997},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3587871,"resolution":"4","location":"assets","locale":"","width":1926,"height":902},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3587871,"resolution":"5","location":"assets","locale":"","width":1926,"height":664},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3587871,"resolution":"6","location":"assets","locale":"","width":1090,"height":767}},"screenshots":{"1":"After activation you can find in the sidebar menu","2":"Add New Gallery","3":"Explained each fields","4":"Copy the Shortcode","5":"Create new page\/post and paste the shortcode.","6":"Front end view"}},"plugin_section":[],"plugin_tags":[2236,7781,210,604,237],"plugin_category":[50],"plugin_contributors":[269072],"plugin_business_model":[],"class_list":["post-305146","plugin","type-plugin","status-publish","hentry","plugin_tags-filter","plugin_tags-filterable-gallery","plugin_tags-gallery","plugin_tags-image-gallery","plugin_tags-lightbox","plugin_category-media","plugin_contributors-webcasata","plugin_committers-webcasata"],"banners":{"banner":"https:\/\/ps.w.org\/webcasata-filter-gallery\/assets\/banner-772x250.png?rev=3587871","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/webcasata-filter-gallery_534a9f.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/webcasata-filter-gallery\/assets\/screenshot-1.png?rev=3587871","caption":"After activation you can find in the sidebar menu"},{"src":"https:\/\/ps.w.org\/webcasata-filter-gallery\/assets\/screenshot-2.png?rev=3587871","caption":"Add New Gallery"},{"src":"https:\/\/ps.w.org\/webcasata-filter-gallery\/assets\/screenshot-3.png?rev=3587871","caption":"Explained each fields"},{"src":"https:\/\/ps.w.org\/webcasata-filter-gallery\/assets\/screenshot-4.png?rev=3587871","caption":"Copy the Shortcode"},{"src":"https:\/\/ps.w.org\/webcasata-filter-gallery\/assets\/screenshot-5.png?rev=3587871","caption":"Create new page\/post and paste the shortcode."},{"src":"https:\/\/ps.w.org\/webcasata-filter-gallery\/assets\/screenshot-6.png?rev=3587871","caption":"Front end view"}],"raw_content":"<!--section=description-->\n<p><strong>Webcasata Filter Gallery<\/strong> lets you build stunning, responsive image galleries where visitors can instantly filter images using custom dropdown menus \u2014 all without any page reload.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>Multi-group dropdown filtering<\/strong> \u2014 Create filter groups (e.g. \"Country\", \"Room Type\"). Each becomes a styled dropdown on the front end.<\/li>\n<li><strong>AND logic across groups, OR within a group<\/strong> \u2014 Country=India AND Room=Kitchen; image can belong to multiple countries.<\/li>\n<li><strong>Custom styled dropdowns<\/strong> \u2014 Single-select, closes on pick, with active pill indicators.<\/li>\n<li><strong>Real-time title search<\/strong> \u2014 Search box with 220ms debounce filters images as you type.<\/li>\n<li><strong>Equal Grid &amp; Masonry layouts<\/strong> \u2014 Choose your preferred display style.<\/li>\n<li><strong>Configurable columns<\/strong> \u2014 1 to 6 columns with automatic responsive breakpoints.<\/li>\n<li><strong>Slide \/ Fade \/ None animations<\/strong> \u2014 Smooth transitions when switching filters.<\/li>\n<li><strong>Load More pagination<\/strong> \u2014 Shows a configurable number of images on load; load more on click. Set to -1 to show all.<\/li>\n<li><strong>Built-in Lightbox<\/strong> \u2014 Full-screen image viewer with prev\/next, keyboard support, and optional Visit Link button.<\/li>\n<li><strong>Image URL link<\/strong> \u2014 Assign an external URL to any image, with optional new tab.<\/li>\n<li><strong>Image Title &amp; Caption<\/strong> \u2014 Display below each image. Title hideable via shortcode.<\/li>\n<li><strong>Filter labels on image cards<\/strong> \u2014 Show assigned filter values as badge labels or ribbons.<\/li>\n<li><strong>Template override system<\/strong> \u2014 WooCommerce-style. Copy templates to your theme to customise layout completely.<\/li>\n<li><strong>Shortcode<\/strong> \u2014 <code>[wbfg_gallery id=\"X\"]<\/code> with full inline attribute overrides.<\/li>\n<li><strong>Gutenberg Block<\/strong> \u2014 Live preview block with full sidebar controls.<\/li>\n<li><strong>Per-gallery custom CSS<\/strong> \u2014 Fine-tune each gallery independently.<\/li>\n<li><strong>Global settings<\/strong> \u2014 Control defaults for all galleries from one Settings page.<\/li>\n<li><strong>Accessibility<\/strong> \u2014 ARIA roles, keyboard-navigable dropdowns, focus management.<\/li>\n<li><strong>Fully responsive<\/strong> \u2014 Mobile-first CSS with sensible breakpoints.<\/li>\n<\/ul>\n\n<h4>Template Override System<\/h4>\n\n<p>Copy templates to your active theme to customise the output:<\/p>\n\n<pre><code>your-theme\/webcasata-filter-gallery\/image-card.php\nyour-theme\/webcasata-filter-gallery\/gallery-template.php\n<\/code><\/pre>\n\n<p>All image variables are available in <code>image-card.php<\/code>: <code>$image<\/code>, <code>$title<\/code>, <code>$caption<\/code>, <code>$link_url<\/code>, <code>$link_new_tab<\/code>, <code>$filters<\/code>, <code>$lightbox<\/code>, <code>$show_title<\/code>, <code>$index<\/code>, <code>$gallery_id<\/code>.<\/p>\n\n<h4>Shortcode Parameters<\/h4>\n\n<pre><code>[wbfg_gallery id=\"X\" columns=\"3\" show_all=\"yes\" per_page=\"6\" loadmore=\"6\" layout=\"grid\" lightbox=\"yes\" animation=\"slide\" title=\"show\"]\n<\/code><\/pre>\n\n\n\n\n  Parameter\n  Values\n  Default\n\n\n\n\n  id\n  Gallery post ID\n  <em>(required)<\/em>\n\n\n  columns\n  1\u20136\n  3\n\n\n  show_all\n  yes \/ no\n  yes\n\n\n  per_page\n  number or -1\n  6\n\n\n  loadmore\n  number\n  6\n\n\n  layout\n  grid \/ masonry\n  grid\n\n\n  lightbox\n  yes \/ no\n  yes\n\n\n  animation\n  slide \/ fade \/ none\n  slide\n\n\n  title\n  show \/ hide\n  show\n\n\n\n\n<h4>Credits<\/h4>\n\n<p>Developed by <strong>Vishal Singh<\/strong> at <a href=\"https:\/\/webcasata.com\">Webcasata<\/a>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>webcasata-filter-gallery<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin through <strong>Plugins \u203a Installed Plugins<\/strong>.<\/li>\n<li>Go to <strong>Filter Galleries \u203a Add New<\/strong> to create your first gallery.<\/li>\n<li>Add filter groups and values, upload images, assign filter values, and publish.<\/li>\n<li>Copy the shortcode from the sidebar and paste it into any page or post.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"can%20one%20image%20belong%20to%20multiple%20filter%20values%3F\"><h3>Can one image belong to multiple filter values?<\/h3><\/dt>\n<dd><p>Yes. Each image has a multi-select box per filter group. Hold Ctrl\/Cmd to select multiple values \u2014 e.g. a cuisine image can be tagged as both India and USA.<\/p><\/dd>\n<dt id=\"how%20does%20the%20filtering%20logic%20work%3F\"><h3>How does the filtering logic work?<\/h3><\/dt>\n<dd><p>AND logic across groups, OR within a group. If you select Country=India and Room=Kitchen, only images assigned to India (or both India and USA) AND Kitchen are shown.<\/p><\/dd>\n<dt id=\"can%20i%20customise%20the%20image%20card%20layout%3F\"><h3>Can I customise the image card layout?<\/h3><\/dt>\n<dd><p>Yes \u2014 copy <code>image-card.php<\/code> from the plugin's <code>templates\/<\/code> folder to <code>your-theme\/webcasata-filter-gallery\/image-card.php<\/code> and edit freely. All image data is available as PHP variables.<\/p><\/dd>\n<dt id=\"how%20do%20i%20show%20all%20images%20without%20a%20load%20more%20button%3F\"><h3>How do I show all images without a Load More button?<\/h3><\/dt>\n<dd><p>Set <code>per_page=\"-1\"<\/code> in the shortcode, or set \"Images on Page Load\" to -1 in the Settings page.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20slow%20down%20my%20site%3F\"><h3>Does this plugin slow down my site?<\/h3><\/dt>\n<dd><p>CSS and JavaScript are only enqueued on pages that contain a gallery shortcode or block. Images use native <code>loading=\"lazy\"<\/code>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>New: WooCommerce-style template override system (image-card.php, gallery-template.php).<\/li>\n<li>New: Filter value labels displayed on each image card (badge and ribbon styles).<\/li>\n<li>New: <code>FIG_Template<\/code> class with <code>locate()<\/code>, <code>load()<\/code>, <code>is_overridden()<\/code> methods.<\/li>\n<li>New: Admin notice showing theme override path and active overrides.<\/li>\n<li>Improved: <code>render_item()<\/code> now delegates to template system; fallback inline renderer kept.<\/li>\n<li>Fix: Per-gallery custom CSS now uses <code>wp_add_inline_style()<\/code> instead of inline <code>&lt;style&gt;<\/code> tag.<\/li>\n<li>Fix: Settings page styles moved to <code>wp_add_inline_style()<\/code>.<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>New: Multi-group dropdown filtering with AND logic across groups, OR within a group.<\/li>\n<li>New: Custom styled single-select dropdowns replace flat filter tabs.<\/li>\n<li>New: Images support multiple filter values per group via multi-select admin UI.<\/li>\n<li>New: Image title displayed below each image (hideable via shortcode title=\"hide\").<\/li>\n<li>New: Image URL link field with open-in-new-tab option.<\/li>\n<li>New: Visit Link button inside lightbox when image has a URL.<\/li>\n<li>New: Real-time title search box with debounce and clear button.<\/li>\n<li>New: Filter group collapse\/expand in admin edit screen.<\/li>\n<li>New: Active filter pill tags shown above gallery with individual remove buttons.<\/li>\n<li>New: Initial count supports -1 to show all images (no Load More button).<\/li>\n<li>Improved: Filter assignment uses scrollable multi-select box (handles 50+ values).<\/li>\n<li>Improved: All filtering is client-side \u2014 instant, no AJAX round-trips.<\/li>\n<li>Improved: Backward compatible with v1 flat-tag galleries.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Create beautiful filterable image galleries with multi-group dropdown filtering, lightbox, URL links, load more pagination, shortcode and Gutenberg bl &hellip;","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/305146","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=305146"}],"author":[{"embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/webcasata"}],"wp:attachment":[{"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=305146"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=305146"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=305146"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=305146"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=305146"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ky.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=305146"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}