Avoid Duplicates stops a second WordPress post grid from repeating posts a grid above it already shows, as when a featured row sits over a longer list.
In case we insert 2 or more blocks with posts output, they will show unique posts without duplicates. This example displays 2 blocks with the same posts set, but as you can see, there are no duplicates here.
First block:
Second block:
What the Avoid Duplicates switch does
Two Visual Portfolio blocks on one page run two separate queries, and neither knows what the other returned. Ask both for the newest posts in a category and both hand back the same three. Avoid Duplicates fixes that from the second block down, dropping any post a block higher up the page already printed. The two grids above want the same posts in the same order, so the second one opens where the first stopped.
Doing this by hand means Excluded Posts, where every post is named by title, or Offset, which skips a fixed count off the top of the query. Both go stale the moment you publish. The switch works it out again on every page load. Reach for it when a featured row sits above a longer listing, or when a category grid and a related-posts grid share one page.
The query settings around the switch
Four of the five post sources carry the switch. Manual Selection is the exception, since it keeps only Specific Posts, Order by and Order Direction. The rest of the Posts Settings panel sets the pool the two blocks share.
- Avoid Duplicates is a single on/off row, and it ships off.
- Items Per Page lives in General Settings, defaults to 6 and accepts All Items. Both grids above are set to 3.
- Order by takes Date, Title, ID, Comments Count, Modified, Menu Order, Manual Selection or Random, with Date and DESC as the defaults.
- Random is not reshuffled on every request. A visitor session keeps one order, through Load More and through paged navigation.
- Offset accepts 0 to 100 and defaults to 0. With pagination the plugin adds it to every page and corrects the page count.
- Current Query hides Items Per Page and leaves Avoid Duplicates as its only query setting. The Portfolio page and archive templates run in that mode.
Putting a second grid under the first
- Insert a Visual Portfolio block, choose Posts in the setup wizard and pick the post type. Narrow it under Taxonomies if the page needs one category, then set Items Per Page in General Settings.
- Add the second block below it with the same post type, the same terms and the same Order by. The check only helps while both blocks draw on one pool of posts.
- Open Posts Settings in the second block and switch Avoid Duplicates on, then save and reload the published page. Turning it on in the first block as well is harmless, as nothing sits above it to compare against.
Avoid Duplicates costs nothing
Nothing in the two grids above needs a license: posts as a content source, the Grid layout, the Classic skin, the switch itself. What a license changes is the reach of the query, and what a click on a card does. The free vs Pro table has the whole split, and the pricing page has the tiers.
- Authors, so a grid holds only the posts of the people you name.
- Date, All by default, with Past Day, Past Week, Past Month, Past Quarter, Past Year and a Custom range of After Date and Before Date.
- Ignore Sticky Posts, off by default. WordPress otherwise pins sticky posts to the front of the first grid.
- Exclude Posts Without Thumbnail, also off, which keeps a post with no featured image out.
- Quick View, which opens a post in an iframe inside the popup instead of the single page. See the Posts Quick View demo.
What support gets asked about overlapping grids
Why do both grids show the same posts in the editor?
The preview inside the block is your front end loaded in a frame, and it has two blind spots. Avoid Duplicates is one, infinite pagination the other, drawn as a Load More button. Save the page and open it as a visitor. The block overview lists both.
How many posts does each grid pull?
Items Per Page decides, and it starts at 6. All Items puts the whole query on one page. Both grids here ask for 3, which is why the second one starts at post four. On the Portfolio page the field is gone and the count comes from Archive Page Items Per Page, as the FAQ on where Items Per Page lives explains.
Can I reuse this pair of grids elsewhere?
Select each block, create a synced pattern, and one edit reaches every copy. Outside the block editor, save each grid as a Saved Layout, which Elementor and WPBakery both offer as a picker inside their own widget. Blocks are compared within a page, so the pair keeps working wherever the two land together. See reusing one gallery on several pages.