[wp-trac] [WordPress Trac] #55203: Bug with get_post_galleries
WordPress Trac
noreply at wordpress.org
Sun Feb 20 08:40:47 UTC 2022
#55203: Bug with get_post_galleries
---------------------------+-----------------------
Reporter: BinaryMoon | Owner: costdev
Type: defect (bug) | Status: accepted
Priority: normal | Milestone: 5.9.2
Component: Media | Version: 5.9
Severity: normal | Resolution:
Keywords: needs-testing | Focuses:
---------------------------+-----------------------
Description changed by SergeyBiryukov:
Old description:
> Hi - I really like the changes made to get_post_galleries in 5.9 but
> there is a bug with it.
>
> The change I am referring to can be seen here:
> https://core.trac.wordpress.org/ticket/43826
>
> In this section
> https://core.trac.wordpress.org/browser/trunk/src/wp-
> includes/media.php?rev=52190#L4770
>
> There is no check that you are actually dealing with galleries, and so
> non-gallery blocks can be returned. I spotted this in a problem when
> using `get_post_gallery` and a paragraph was being returned.
>
> This happens when the gallery block is not the first block in the post
> content. If you have a paragraph, and then a gallery, and use
> `get_post_gallery` the paragraph will be returned instead of the gallery.
>
> The process as I see it is:
>
> * check for block name
> * check has innerBlocks and not gallery (for nested blocks)
> * check if has inner blocks
> * grab ids and use those
>
> Currently there is no check that the block being looped through is
> actually a gallery.
>
> I think it needs to check if the block is a gallery or not before doing
> any processing. I would add this check after the check for ''innerblocks
> and not gallery''.
>
> The following fixed the issue for me.
>
> [[Image(https://cldup.com/OgtyNxvnsz.png)]]
>
> Currently get_post_gallery will only work when the gallery is the first
> item in the post. If there's a different block in the post then it's
> possible that will be used instead.
New description:
Hi - I really like the changes made to get_post_galleries in 5.9 but there
is a bug with it.
The change I am referring to can be seen here: #43826
In this section
https://core.trac.wordpress.org/browser/trunk/src/wp-
includes/media.php?rev=52190#L4770
There is no check that you are actually dealing with galleries, and so
non-gallery blocks can be returned. I spotted this in a problem when using
`get_post_gallery` and a paragraph was being returned.
This happens when the gallery block is not the first block in the post
content. If you have a paragraph, and then a gallery, and use
`get_post_gallery` the paragraph will be returned instead of the gallery.
The process as I see it is:
* check for block name
* check has innerBlocks and not gallery (for nested blocks)
* check if has inner blocks
* grab ids and use those
Currently there is no check that the block being looped through is
actually a gallery.
I think it needs to check if the block is a gallery or not before doing
any processing. I would add this check after the check for ''innerblocks
and not gallery''.
The following fixed the issue for me.
[[Image(https://cldup.com/OgtyNxvnsz.png)]]
Currently get_post_gallery will only work when the gallery is the first
item in the post. If there's a different block in the post then it's
possible that will be used instead.
--
--
Ticket URL: <https://core.trac.wordpress.org/ticket/55203#comment:2>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list