=== List YARPP Block ===
Contributors: MarcDK
Tags: Gutenberg, block, yarpp, full-site-editing, related posts
Requires at least: 6.5
Donate link: https://marc.tv/out/donate
Tested up to: 7.0
Stable tag: 3.0.0
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Adds a block that lists yarpp related posts. 

== Description ==

Displays YARPP related posts with the native Query Loop block. YARPP only provides the related post IDs, rendering is done by core blocks like Post Template, Post Featured Image and Post Title, so the layout can be styled in the Site Editor.

The legacy List YARPP block is still included for existing sites.

This block **requires** the [YARPP plugin](https://wordpress.org/plugins/yet-another-related-posts-plugin/) and relies on the *yarpp_get_related()* function.

= Query Loop integration =

Insert the **YARPP Related Posts** variation of the Query Loop block, or add these optional keys to the `query` attribute of any Query Loop block:

* `"related": "yarpp"` – Shows the YARPP related posts of the current post in YARPP order.
* `"excludeCurrent": true` – Excludes the currently viewed post.
* `"excludeDisplayed": true` – Excludes posts already shown by Query Loops rendered earlier on the same page.
* `"requireThumbnail": true` – Only shows posts with a featured image.
* `"hideEmpty": true` – Hides the whole Query Loop, including headings inside it, if no posts are found.

Example: related posts followed by the latest posts without duplicates.

`<!-- wp:query {"queryId":1,"query":{"perPage":3,"postType":"post","inherit":false,"related":"yarpp","excludeCurrent":true,"hideEmpty":true}} -->`
`<!-- wp:query {"queryId":2,"query":{"perPage":3,"postType":"post","inherit":false,"excludeCurrent":true,"excludeDisplayed":true}} -->`

The editor preview shows regular posts; the related posts are applied on the frontend.

= Legacy block features =

* Gutenberg column width support.
* The block is not visible in the frontend if no related posts are found.
* Minimum html and css that is based on the standard Gutenberg Latest Posts block.
* Valid HTML output.
* Inherits the style of your theme for links and headlines.

== Installation ==

1. Upload the plugin files to the `/wp-content/plugins/list-yarpp-block` directory, or install the plugin through the WordPress plugins screen directly.
1. Activate the plugin through the 'Plugins' screen in WordPress

== Changelog ==
= 3.0.0 =
* Added: Query Loop integration. YARPP related posts can be displayed with the native Query Loop block.
* Added: "YARPP Related Posts" Query Loop block variation.
* Added: Optional Query Loop keys related, excludeCurrent, excludeDisplayed, requireThumbnail and hideEmpty.
* Changed: Requires WordPress 6.5 or later.
* The legacy List YARPP block keeps working.

= 2.7.2 =
* Prepared release for WordPress 7.0 compatibility.


= 2.7.1 =
Fix: Added missing direct WordPress package dependencies so the JavaScript lint workflow passes.

= 2.7 =
Added: Frontend block output caching with automatic invalidation on content changes.
Improved: Faster latest-post queries through leaner ID-only lookups and cache priming.
Improved: GitHub Actions now use dependency caching for lint, build and deployment.
Fix: Renderer sanitizes stored block attributes before generating markup.
Fix: Latest mode works independently from missing or insufficient YARPP related posts.

= 2.6 = 
Added: Tested compatibility with WordPress 6.9
Added: Migration to block api V3.
Fix: Links in the block UX are disabled.

= 2.5 = 
Fix: Width of images is now 100% within the padding limits.

= 2.3 = 
Fix: Image width set to auto.

= 2.2 =
Fix: Target blank broken link
Fix: image width won't be saved.

= 2.1 =
* Feature: New coding standards
* Feature: Automatic WordPress repository deployment with GitHub actions.

= 1.5 =
* Feature: Added option to open links in new tab.

= 1.4 =
* Feature: Added YARPP required notice. 

= 1.2 =
* Fixed: fatal error if not enough related posts are found.

= 1.0 =
* Inital version.

== Screenshots ==
1. List YARPP block in Gutenberg editor.
2. List YARPP block in the Theme Twenty-Twenty-Two
3. List YARPP block supports custom width. 
