=== Portfolio Filter Gallery - Photo Gallery ===
Contributors: awordpresslife, razipathhan, hanif0991, muhammadshahid, fkfaisalkhan007, sharikkhan007, zishlife, FARAZFRANK
Donate link: https://paypal.me/awplife
Tags: portfolio, gallery, portfolio gallery, photo gallery, video gallery
Requires at least: 5.8
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 2.1.6
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Create a filterable photo gallery and portfolio. Supports images and videos with masonry layouts.

== Description ==

**Portfolio Filter Gallery** is a top-rated **photo gallery** plugin that helps you show your work. It lets you sort images and videos into categories. Users can click buttons to filter and find what they need.


= Demo Links =

* [Plugin Features](https://awplife.com/wordpress-plugins/portfolio-filter-gallery-wordpress-plugin/)
* [Gallery Demo Pro](https://awplife.com/demo/portfolio-filter-gallery-premium/)


= Support Links =

* [Documentation](https://awplife.com/wordpress-plugins/portfolio-filter-gallery-new-wordpress-plugin/)
* [Support Forum](https://wordpress.org/support/plugin/portfolio-filter-gallery/)

= What This Plugin Does =

This plugin lets you build galleries with filters. Users click a button to see one category. For example, they can pick "Web Design" to only see that work. This saves them from scrolling through many images.

You manage filters on one easy page. Create a filter once and use it on any image or video. This keeps your gallery neat and easy to manage.

= Use Cases =

This plugin suits a range of users and projects:

* Photographers displaying work by genre (portraits, landscapes, events)
* Web designers showcasing projects by type (e-commerce, corporate, landing pages)
* Agencies presenting client work across different industries
* Architects organizing projects by category (residential, commercial, renovations)
* Artists grouping pieces by medium or theme
* Freelancers building a professional online presence

= Free Features =

**Gallery Filtering**

* Manage filters through a separate category interface
* Assign multiple filters to each gallery item
* CSS3 animations for smooth filter transitions

**Layout Options**

* Masonry layout that adapts to varying image dimensions
* Grid layout for uniform presentation
* Column options: 2, 3, or 4 columns
* Configurable spacing between items


**Video Support**

* Embed YouTube videos
* Embed Vimeo videos
* Watch videos via external links

**Customization**

* Show or hide image titles
* Optional image numbering
* Grayscale effect on hover
* Customizable filter button colors
* Border width and color settings

= Premium Features =

The [premium version](https://awplife.com/wordpress-plugins/portfolio-filter-gallery-wordpress-plugin/) extends the plugin with additional capabilities:

**Advanced Features**

* URL-based filtering (load a page with a specific filter pre-selected)
* Default filter selection on page load
* Ascending/descending sort controls
* Shuffle button for randomized display
* Search functionality within galleries
* Watermark overlay support

**Extended Customization**

* Unlimited filter color schemes
* Custom thumbnail dimensions
* Responsive column control per device type (desktop, tablet, mobile)
* Dropdown-style filter menu

= How to Use Portfolio Filter Gallery =

1. Navigate to **Portfolio Gallery > Filters** in your WordPress dashboard
2. Create the filter categories you need
3. Go to **Portfolio Gallery > Add New** to create a gallery
4. Upload images, add video URLs, and assign filters to each item
5. Adjust settings for layout and appearance
6. Copy the generated shortcode and paste it into any page or post

The shortcode follows this format:
`[Portfolio_Gallery id="123"]`

Replace "123" with your gallery's ID.

= Photo Gallery Masonry Layout =

The masonry layout puts images in a Pinterest-style grid. Images of different sizes fit together well. They do not need to be the same size. This layout has:

* Automatic adjustment to image proportions
* CSS3 animation effects
* Full compatibility with filtering and sorting

= Linking Portfolio Items =

Add custom links to any gallery item. This lets you:

* Link images to project detail pages
* Direct users to external client websites
* Open links in the same tab or a new tab

= Page Builder Compatibility =

Portfolio Filter Gallery works with standard WordPress editing tools and popular page builders:

* Gutenberg block editor
* Elementor
* WPBakery Page Builder
* Divi Builder
* Beaver Builder

Simply paste the shortcode into any text block or widget.

= Support =

For questions or troubleshooting, visit the [Support Forum](https://wordpress.org/support/plugin/portfolio-filter-gallery/). The development team typically responds within the same day.

== Screenshots ==

1. Portfolio Filter Gallery 3 Column With Number And Title
2. Portfolio Filter Gallery Without Spacing
3. Portfolio Filter Gallery With 2 Column Layout
4. Portfolio Filter Gallery With Gray Scale (Gray Effect On Hover) On Thumbnails
5. Portfolio Filter Gallery With Masonry
6. Add Filters In Portfolio Gallery
7. Filter Thumbnails By Portfolio Filters
8. A. Adding Thumbnails  B. Shortcode
9. Portfolio Filter Gallery Settings

== Installation ==

**Automatic Installation**

1. Go to WordPress Dashboard → Plugins → Add New
2. Search for "Portfolio Filter Gallery"
3. Click "Install Now" and then "Activate"

**Manual Installation**

1. Download the plugin from WordPress.org
2. Upload the `portfolio-filter-gallery` folder to `/wp-content/plugins/`
3. Activate the plugin through the 'Plugins' menu in WordPress

**Getting Started**

1. Go to Portfolio Gallery → Filters to create your filter categories
2. Go to Portfolio Gallery → Add New to create your gallery
3. Upload images and assign filters to each image
4. Configure your gallery settings (layout, colors)
5. Copy the shortcode and paste it into any page or post

== Frequently Asked Questions ==

= Is Portfolio Filter Gallery free? =

Yes. The free version includes all core features: filterable galleries, masonry layout, and video embedding. A [premium version](https://awplife.com/wordpress-plugins/portfolio-filter-gallery-wordpress-plugin/) is available. Upgrading gives you more hover effects and advanced **photo gallery** tools.

= How do I create filters? =

Go to Portfolio Gallery > Filters in your WordPress dashboard. This dedicated page allows you to add, edit, and remove filter categories independently from your galleries.

= Can I include videos? =

Yes. Portfolio Filter Gallery supports YouTube and Vimeo. When adding a gallery item, select the video option and enter the video URL. Videos will open in a new tab.
[See Video Gallery Demo](https://awplife.com/demo/portfolio-filter-gallery-premium/portfolio-video-gallery/)

= Is the gallery responsive? =

Yes. The gallery layout adapts to all screen sizes. The masonry layout uses CSS3 for smooth animations on any device.

= Is there a limit to gallery items? =

No. You can add as many images and videos as needed.

= Can I place multiple galleries on one page? =

Yes. Each gallery has its own shortcode and operates independently with separate filters and settings.

= Can I rearrange gallery items? =

Yes. The gallery editor supports drag-and-drop reordering.

= Does it work with page builders? =

Yes. The plugin is compatible with Gutenberg, Elementor, WPBakery, Divi, and Beaver Builder. Paste the shortcode into any text block or widget.

= Is the plugin GDPR compliant? =

Yes. Portfolio Filter Gallery does not collect user data or make external requests. All assets load locally from your WordPress installation.

= Is translation supported? =

Yes. The plugin is translation-ready and works with WPML and other translation plugins.

= Where can I get help? =

Visit the [Support Forum](https://wordpress.org/support/plugin/portfolio-filter-gallery/) for assistance. For premium support, visit the [developer website](https://awplife.com/wordpress-plugins/portfolio-filter-gallery-wordpress-plugin/).

== Changelog ==

= 2.1.6 =
* Added: Bulk selection capability using "Shift + Click" for faster image management.
* Improved: Image gallery loading sequence to prevent layout shifts.
* Optimized: Filter button responsiveness on mobile devices.

= 2.1.5 =
* Added: Dual action overlay buttons (Link + Lightbox view) for gallery items.
* Fixed: Lightbox missing description issue and restored support for line breaks in text.
* Fixed: Issue where images reverted to "External Link".
* Fixed: Filter category disappearing/removing bug when unchecked in gallery settings.

= 2.1.4 =
* Fixed: Support for external links in images.
* Fixed: Advanced columns controls for responsive grid/masonry layouts.
* Fixed: Filter button colors settings (primary, active, text colors).
* Fixed: Lightbox content mapping for title and description.
* Fixed: Lightbox description properly mapping to the gallery wrapper data attribute.

= 2.1.3 =
* Added: Enable/Disable Lightbox toggle setting in individual gallery meta boxes.
* Improved: Pro Banner design in filter and settings pages.
* Fixed: Lightbox setting mapping in schema for proper saving/retrieval.

= 2.1.2 =
* Fixed: JavaScript error on image edit modal (undefined variable).
* Fixed: escapeHtml scope issue causing save failure in modal editor.
* Security: Hardened all dynamic DOM insertions with output escaping in admin JS.
* Removed: Deprecated layout options and unused repair feature.
* Code cleanup and minor bug fixes.

= 2.1.1 =
* Compliance: Removed Pro Features admin menu page and all associated upsell/gating UI.
* Compliance: Removed built-in lightbox to conform with free-only restrictions.
* Compliance: Removed all premium WooCommerce integrations.
* Compliance: Removed documentation for features not present in this release.

= 2.1.0 =
* Removed: Custom CSS textarea (WordPress has a built-in CSS editor in the Customizer)
* Removed: Unused Bootstrap JS/CSS files (not enqueued, legacy only)
* Removed: Unused bs5-lightbox files (index.bundle.min.js, boot.css)
* Removed: Remote placeholder.com URL references
* Fixed: Inline style tag in Pro Features page moved to properly enqueued CSS file
* Added: Third-party library source documentation in readme
* Compliance: Resolved all WordPress.org Plugin Directory review issues

= 2.0.8 =
* Security: Comprehensive security audit — nonce verification, input sanitization, and output escaping across all files
* Security: Replaced deprecated unlink() with wp_delete_file(), date() with gmdate()
* Fixed: Added translators comments for all translatable strings with placeholders
* Fixed: Unordered sprintf placeholders corrected
* Removed: Pro feature indicators from free version UI (Fancybox/PhotoSwipe in settings)
* Removed: All upsell banners, cards, and marketing content from free version
* Improved: WordPress.org Plugin Check compliance
* Fixed: Gallery items with deleted media attachments no longer show broken images on frontend
* Added: Grid Aspect Ratio setting (Pro feature) - visible in admin with Pro badge

= 2.0.7 =
* Fixed: New images added to existing galleries disappearing on update

= 2.0.6 =
* Fixed: Description text color now uses caption color setting instead of hardcoded value
* Fixed: Masonry columns now display horizontally instead of vertically

= 2.0.5 =
* Fixed: Legacy migration now correctly extracts alt text, descriptions, and links
* Fixed: External link images now properly set Link Type to "Link to External URL" after migration
* Improved: Re-migration functionality to repair galleries with missing data

= 2.0.4 =
* Added: LD Lightbox is now filter-aware - lightbox only shows visible (filtered) images
* Improved: All lightbox libraries (Fancybox, PhotoSwipe, LD Lightbox) now respect active filters
* Improved: Lightbox navigation correctly shows "Image X of Y" based on filtered count

= 2.0.3 =
* Added: Comprehensive documentation page with sidebar navigation
* Added: Both free and premium versions can now be active simultaneously (premium takes priority)
* Improved: Premium detection system for seamless upgrades
* Fixed: Function conflicts when both versions active

= 2.0.2 =
* Added: Filter multiple languages support
* Added: Search Placeholder field in gallery settings
* Fixed: Show Title toggle not saving when OFF
* Fixed: Columns/Gap settings preserved on template change

= 2.0.1 =
* Bug Fixed

= 2.0.0 =
**Major Update - Complete Redesign**

This is a major update with a completely redesigned interface. Your existing galleries and data will be automatically migrated and preserved.

* **New:** Completely redesigned admin interface with modern UI
* **New:** Enhanced image management with drag-and-drop ordering
* **New:** Improved modal editor for individual image settings
* **New:** Bulk selection and batch operations
* **New:** Filter hierarchy support with parent-child relationships
* **New:** Multiple lightbox options (LD Lightbox, Bootstrap Lightbox)
* **New:** Enhanced migration system for legacy data
* **New:** Version tracking for future upgrade logic
* **Improved:** Better PHP 8.x compatibility with strict type handling
* **Improved:** Performance optimizations for large galleries
* **Fixed:** Sanitize_title error with legacy filter data stored as arrays
* **Fixed:** Filter count migration from legacy versions
* **Fixed:** Version conflict handling when both Free and Premium active

= 1.7.5 =
* Text domain error fixed.
* Tested with WordPress version 6.9

= 1.7.4 =
* Text domain error fixed.
* Tested with WordPress version 6.8.3

= 1.7.2 =
* Regular plugin check and update.
* Tested with WordPress version 6.8

= 1.7.1 =
* Linking Fixed.
* Tested with WordPress version 6.7.2

= 1.7.0 =
* Image stacking fixed.
* Tested with WordPress version 6.7

= 1.6.9 =
* Filter select box error fix.
* Tested with WordPress version 6.7

= 1.6.8 =
* Alphabetical image sorting issue fixed.
* Tested with WordPress version 6.6.2

= 1.6.7 =
* Image border issue fixed.
* Tested with WordPress version 6.6.1

= 1.6.6 =
* Lightbox error fixed.

= 1.6.5 =
* Lightbox sanitization fixed.

= 1.6.4 =
* Filter alignment fixed.
* Tested with WordPress version 6.5.5

= 1.6.3 =
* Bootstrap CSS fixed.

= 1.6.2 =
* Tested with WordPress version 6.5.4

= 1.6.1 =
* Bootstrap extra menu CSS removed.

== Other Notes ==

= Shortcode Usage =

Copy the shortcode from your gallery and paste it into any page, post, or widget:
`[Portfolio_Gallery id="123"]`
Replace "123" with your actual gallery ID.

= Browser Compatibility =

Portfolio Filter Gallery works on all modern browsers:
* Google Chrome
* Mozilla Firefox
* Apple Safari
* Microsoft Edge
* Opera
* iOS Safari & Android browsers

= Security & Privacy =

* GDPR Compliant
* No data collection
* Secure code following WordPress standards
* Regular security updates

= Contact & Support =

* [WordPress Support Forum](https://wordpress.org/support/plugin/portfolio-filter-gallery/)
* [Premium Support](https://awplife.com/wordpress-plugins/portfolio-filter-gallery-wordpress-plugin/)
* [Documentation](https://awplife.com/wordpress-plugins/portfolio-filter-gallery-wordpress-plugin/)
* [Video Tutorials](https://www.youtube.com/watch?v=6rvJ9NN_kA0)

= Third-Party Libraries =

This plugin uses standard WordPress libraries. No external third-party libraries are bundled.

== Upgrade Notice ==

= 2.1.4 =
Bug fix release. Fixed an issue where the lightbox description was not displaying when enabled.

= 2.1.2 =
Bug fix release. Fixed JavaScript errors in the image editor modal and improved admin JS security.

= 2.1.0 =
Compliance update. Removed custom CSS insertion, removed unused Bootstrap/lightbox files, removed remote file calls, fixed inline styles. Resolves all WordPress.org Plugin Directory review issues.

= 2.0.0 =
Major update with redesigned admin UI. Existing galleries are automatically migrated. Backup recommended before updating.