=== DawsonyWeb Bulk Edit Posts and Products in Tabs ===
Contributors: dawsonyweb
Donate link: https://dawsony.com
Tags: bulk edit, admin, productivity, tabs, woocommerce
Requires at least: 5.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.3.3
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Open several posts, pages or WooCommerce products in browser tabs at once, or save a private editing queue.

== Description ==

Open several posts, pages or WooCommerce products in browser tabs at once, straight from the admin list. Tick the items you want, or build a private editing queue as you browse, then open them in manageable batches. It saves the click, edit and back routine when you need to update lots of content.

**Key Features:**

* **Private saved queues** - Keep up to 100 editable items per post type across list pages and filters. Add, remove or clear items, then open them in batches.

* **Open Selected in Tabs** - Open edit screens for checked items only
* **Open All on Page** - Open edit screens for all items currently visible
* **Smart Safety Limits** - Default limit of 25 tabs with confirmation at 10+ tabs; filters can raise the limit up to 100
* **Post list tables** - Supports Posts, Pages, standard custom post type lists and WooCommerce Products. Media Library is not supported.
* **Capability Aware** - Only shows for users who can edit the specific post type
* **Zero Configuration** - Works immediately after activation
* **Popup Block Recovery** - Shows individual edit links for tabs your browser blocks

**Perfect For:**

* Bulk editing multiple posts across tabs
* Reviewing and editing content in batches
* Managing large inventories (WooCommerce products)
* Content workflow management
* Site maintenance and updates

**How It Works:**

1. Navigate to any post list table in WordPress admin
2. Select items using checkboxes (or skip selection for "all")
3. Navigate to Plugins > Add New > Upload Plugin
4. Edit screens open in new tabs instantly
5. Work across multiple tabs simultaneously

**Safety Features:**

* Confirmation dialog when opening 10 or more tabs
* Default limit of 25 tabs per batch; the filter can set a value from 1 to 100
* Popup blocking reminder in confirmation message
* Respects user capabilities and permissions

**Compatibility:**

* WordPress 5.0+
* Standard post list tables, excluding Media Library
* Custom Post Types
* WooCommerce Products
* Native edit screens, including the WordPress block editor; third-party editor behaviour depends on that editor

== Installation ==

**Automatic Installation:**

1. Log in to your WordPress admin panel
2. Navigate to Plugins > Add New
3. Search for "Bulk Edit Posts & Products in Tabs"
4. Click "Install Now" then "Activate"

**Manual Installation:**

1. Download the plugin zip file
2. Log in to your WordPress admin panel
3. Navigate to Plugins > Add New > Upload Plugin
4. Choose the zip file and click "Install Now"
5. Click "Activate Plugin"

**Manual FTP Installation:**

1. Download and extract the plugin zip file
2. Upload the `dawsony-bulk-edit-tabs` folder to `/wp-content/plugins/`
3. Activate the plugin through the WordPress admin Plugins menu

== Frequently Asked Questions ==

= Does this work with custom post types? =

Yes. It supports standard post list tables, including custom post types and WooCommerce Products. Media Library is not supported.

= Can I change the tab limit? =

The default limit is 25 tabs per batch. The `dawsony_bulk_edit_tabs_limit` filter can change it from 1 to a maximum of 100. Saved queues also hold up to 100 items per post type. For example, in your theme's functions.php:

`add_filter('dawsony_bulk_edit_tabs_limit', function($limit) {
    return 50; // Change from 25 to 50
});`

= Can I change when the confirmation dialog appears? =

Yes, use the `dawsony_bulk_edit_tabs_confirm_threshold` filter:

`add_filter('dawsony_bulk_edit_tabs_confirm_threshold', function($threshold) {
    return 5; // Show confirmation at 5 tabs instead of 10
});`

= Why aren't tabs opening? =

Your browser is likely blocking popups. Look for a popup blocked icon in your browser's address bar and click "Always allow popups" for your WordPress admin site. The plugin will remind you about this in the confirmation dialog.

= Does this work with Gutenberg? =

Yes. It opens each item in its normal edit screen, including the WordPress block editor (Gutenberg) for post types that use it.

= Does this work with WooCommerce? =

Yes! The plugin fully supports WooCommerce product list tables.

= Will this slow down my site? =

Opening edit tabs is handled in your browser. Adding, removing or clearing a saved queue sends an authenticated AJAX request to your site. The plugin also loads its own Tools > Bulk Edit Tabs help screen; it adds no public-facing assets.

= Can I use this with Quick Edit? =

No, this plugin opens the full edit screen in new tabs. It doesn't interact with WordPress Quick Edit functionality.

= Does it work with the Media Library? =

No. The Media Library is not supported; use standard post and product list tables.

= Is it compatible with multisite? =

Yes, the plugin works on both single-site and multisite WordPress installations.

= Does it support translation? =

Yes! The plugin is fully translation-ready with the text domain `dawsony-bulk-edit-tabs`.

== Screenshots ==

1. Save a private editing queue across post list pages and filters.
2. Use the opening controls, popup fallback and saved queue guidance.


== Changelog ==

= 1.3.3 =
* Updated the plugin display name with distinctive DawsonyWeb branding. No functionality changes.

= 1.3.2 =
* Improved plugin directory listing and documentation.


= 1.3.1 =
* Updated the public plugin name and listing text. No feature, settings or data changes.


= 1.3.0 =
* Private saved editing queues persist across list pages and filters, separately for each user, site and post type.
* Add selected items, remove individual entries, clear the queue or open queued editors with the existing tab limits and popup fallback. Queues hold up to 100 items; permissions and trashed items are checked again on each load.


= 1.2.0 =
* Redesigned settings and list-table controls to match Product & Shipping Label Designer for WooCommerce, with responsive navigation and keyboard focus indicators.
* Corrected the Suite documentation link. Existing popup fallback links, selection controls and safety limits retained.

= 1.1.0 =
* Opens actual permitted edit links, handles popup blocking with individual fallback links, and refreshes selection counts after Quick Edit. Refreshed the DawsonyWeb workspace.


= 1.0.5 =
* Compatibility: tested up to WordPress 7.0.

= 1.0.3 =
* WordPress.org Plugin Check: i18n translators comment, readme name/stable tag sync, prefixed template variables, GET/nonce PHPCS notes, wp_unslash on tab param.

= 1.0.1 =
- Change name of plugin and new assets

= 1.0.0 =
* Initial release
* Open selected posts in tabs
* Open all posts on page in tabs
* Configurable safety limits (25 tab max, 10 tab confirmation)
* Support for standard Posts, Pages, custom post type and WooCommerce Product list tables
* Capability checks for security
* Popup blocker awareness and warnings
* Translation ready
* Two customisable filters

== Upgrade Notice ==

= 1.3.0 =
New free features, updated guidance and screenshots. Back up your site before updating.

= 1.0.3 =
Maintenance release for Plugin Check and version alignment.

= 1.0.0 =
Initial release of Bulk Edit Posts & Products in Tabs.

== Developer Notes ==

**Filters Available:**

`dawsony_bulk_edit_tabs_limit` - Modify the maximum number of tabs that can be opened (default: 25)

`dawsony_bulk_edit_tabs_confirm_threshold` - Modify when the confirmation dialog appears (default: 10)

**Storage and uninstall:**

Saved queues store post IDs in user meta under the site-prefixed `dbet_editing_queues` key, grouped by post type. They are private to each user and site. The Tools screen explains the tab-limit filters; it does not save a separate settings option. Deactivation retains queues. Uninstall removes queue user meta for the current site's prefix. On multisite, queues for other site prefixes are not removed by this routine. Content itself is never deleted.

**Browser Compatibility:**

* Chrome/Edge: Full support
* Firefox: Full support
* Safari: Full support
* Internet Explorer 11: Not supported

**Performance:**

List controls load on supported edit.php screens. Help assets also load on Tools > Bulk Edit Tabs. No assets are added to the public site.

== Support ==

For support, feature requests, or bug reports, please visit:

* Website: https://dawsony.com
* Author: dawsonyweb

== Privacy ==

Saved queues associate selected post IDs with the signed-in user in WordPress user meta. Queue changes use authenticated AJAX requests to your own site. Queue IDs are checked against current edit permissions when read or changed. No external service or telemetry is used. See Storage and uninstall above for retention and multisite limits.
