outstand / query-loop-dedup
Package info
github.com/pixelalbatross/outstand-query-loop-dedup
Type:wordpress-plugin
pkg:composer/outstand/query-loop-dedup
Requires
- php: ^8.2
- composer-plugin-api: ^2.3
- yahnis-elsts/plugin-update-checker: ^5.6
Requires (Dev)
- phpunit/phpunit: ^9.0
- pixelalbatross/coding-standards: dev-main
- yoast/phpunit-polyfills: ^1.1
README
Prevents duplicate posts across multiple Query Loop blocks on the same page.
Opt-in per block via a toggle in the block editor. Supports custom queries, inherited queries, and arbitrary custom blocks via a resolver filter. Includes editor-side preview, PHP filters for per-block overrides, and an exclude_duplicates WP_Query arg for ad-hoc lists.
Features
See docs/deduplication.md for the full feature guide.
Installation
Manual Installation
- Download the latest release ZIP from the Releases page.
- Go to Plugins > Add New > Upload Plugin in your WordPress admin area.
- Upload the ZIP file and click Install Now.
- Activate the plugin.
Install with Composer
To include this plugin as a dependency in your Composer-managed WordPress project:
- Add the plugin to your project using the following command:
composer require outstand/query-loop-dedup
- Run
composer install. - Activate the plugin from your WordPress admin area or using WP-CLI.
Quick start
- Add multiple Query Loop blocks to a page.
- Enable Exclude duplicate posts in the block sidebar under the Deduplication panel.
- Each subsequent block will skip posts already shown by previous blocks.
Requirements
- WordPress 6.7 or higher
- PHP 8.2 or higher
Tests
JS tests run locally via Jest:
npm run test:js
PHP tests run inside a wp-env container:
npm run test:setup # first time only — starts Docker WP + test DB
npm run test:unit
Changelog
All notable changes to this project are documented in CHANGELOG.md.
License
This project is licensed under the GPL-3.0-or-later.