[wp-trac] [WordPress Trac] #62014: Editor: Add a 'format' parameter to query to enable filtering post formats in the Query Loop block
WordPress Trac
noreply at wordpress.org
Wed Sep 11 06:10:10 UTC 2024
#62014: Editor: Add a 'format' parameter to query to enable filtering post formats
in the Query Loop block
-------------------------+---------------------
Reporter: poena | Owner: (none)
Type: enhancement | Status: new
Priority: normal | Milestone: 6.7
Component: Editor | Version:
Severity: normal | Resolution:
Keywords: has-patch | Focuses:
-------------------------+---------------------
Description changed by poena:
Old description:
> I am opening this ticket tentatively to add the PHP changes from this
> Gutenberg PR:
> [https://github.com/WordPress/gutenberg/pull/64167 Query loop / Post
> template: Enable post format filter]
>
> At the time of opening this issue, this linked PR has not yet been
> approved, and this ticket should not be committed.
> I expect that there will be some additional changes to the PR.
>
> I could use help with adding a better summary (ticket title) and clearer
> description, but I will try my best.
>
> The Gutenberg PR linked above adds a new filter to the Query Loop block,
> that the user can use to display posts (or other post types) that have
> post formats assigned.
>
> The PR adds a new parameter called 'format' to the class
> {{{WP_REST_Posts_Controller}}}. Changes are made to these class methods:
> get_item and get_collection_params.
>
> 'Format' is also added to the function
> {{{build_query_vars_from_query_block}}}, which is used to display the
> correct posts on the front.
>
> ----
>
> == Testing instructions
>
> How to test the post formats filter without the rest of the Gutenberg
> changes.
>
> First, please enable post formats on the active theme. Example:
> {{{
> function twentytwentyfour_post_formats() {
> add_theme_support( 'post-formats', array( 'aside', 'gallery',
> 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat' ) );
> }
> add_action( 'after_setup_theme', 'twentytwentyfour_post_formats' );
> }}}
>
> On your WordPress test install, create a few posts with and without
> formats assigned.
>
> In the Site Editor or block editor, insert a query loop with a format
> filter.
> In this example, I have used the gallery post format. I have added
> {{{"format":["gallery"]}}} inside {{{query}}}:
>
> {{{
> <!-- wp:query
> {"query":{"perPage":10,"pages":0,"offset":0,"postType":"post","order":"desc","orderBy":"date","author":"","search":"","exclude":[],"sticky":"","inherit":true,"format":["gallery"]}}
> -->
> <div class="wp-block-query">
> <!-- wp:post-template -->
> <!-- wp:post-title /-->
> <!-- /wp:post-template -->
> </div>
> <!-- /wp:query -->
> }}}
>
> In the editor, the query loop should only display posts with the gallery
> post format.
>
> Next, change the format to standard:
>
> {{{
> <!-- wp:query
> {"query":{"perPage":10,"pages":0,"offset":0,"postType":"post","order":"desc","orderBy":"date","author":"","search":"","exclude":[],"sticky":"","inherit":true,"format":["standard"]}}
> -->
> <div class="wp-block-query">
> <!-- wp:post-template -->
> <!-- wp:post-title /-->
> <!-- /wp:post-template -->
> </div>
> <!-- /wp:query -->
> }}}
>
> In the editor, the query loop should only display posts that have no post
> format assigned.
>
> --
>
> On the front, the query loop does not show any results: I am still
> figuring out if this is because part of the block changes are missing or
> if there are problems with {{{build_query_vars_from_query_block}}} in
> this PR.
New description:
I am opening this ticket tentatively to add the PHP changes from this
Gutenberg PR:
[https://github.com/WordPress/gutenberg/pull/64167 Query loop / Post
template: Enable post format filter]
At the time of opening this issue, this linked PR has not yet been
approved, and this ticket should not be committed.
I expect that there will be some additional changes to the PR.
I could use help with adding a better summary (ticket title) and clearer
description, but I will try my best.
The Gutenberg PR linked above adds a new filter to the Query Loop block,
that the user can use to display posts (or other post types) that have
post formats assigned.
The PR adds a new parameter called 'format' to the class
{{{WP_REST_Posts_Controller}}}. Changes are made to these class methods:
get_item and get_collection_params.
'Format' is also added to the function
{{{build_query_vars_from_query_block}}}, which is used to display the
correct posts on the front.
----
== Testing instructions
How to test the post formats filter without the rest of the Gutenberg
changes.
First, please enable post formats on the active theme. Example:
{{{
function twentytwentyfour_post_formats() {
add_theme_support( 'post-formats', array( 'aside', 'gallery',
'link', 'image', 'quote', 'status', 'video', 'audio', 'chat' ) );
}
add_action( 'after_setup_theme', 'twentytwentyfour_post_formats' );
}}}
On your WordPress test install, create a few posts with and without
formats assigned.
In the Site Editor or block editor, insert a query loop with a format
filter.
In this example, I have used the gallery post format. I have added
{{{"format":["gallery"]}}} inside {{{query}}}:
{{{
<!-- wp:query
{"query":{"perPage":10,"pages":0,"offset":0,"postType":"post","order":"desc","orderBy":"date","author":"","search":"","exclude":[],"sticky":"","inherit":true,"format":["gallery"]}}
-->
<div class="wp-block-query">
<!-- wp:post-template -->
<!-- wp:post-title /-->
<!-- /wp:post-template -->
</div>
<!-- /wp:query -->
}}}
In the editor and front, the query loop should only display posts with the
gallery post format.
Next, change the format to standard:
{{{
<!-- wp:query
{"query":{"perPage":10,"pages":0,"offset":0,"postType":"post","order":"desc","orderBy":"date","author":"","search":"","exclude":[],"sticky":"","inherit":true,"format":["standard"]}}
-->
<div class="wp-block-query">
<!-- wp:post-template -->
<!-- wp:post-title /-->
<!-- /wp:post-template -->
</div>
<!-- /wp:query -->
}}}
In the editor and front, the query loop should only display posts that
have no post format assigned.
--
--
Ticket URL: <https://core.trac.wordpress.org/ticket/62014#comment:4>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list