[wp-trac] [WordPress Trac] #49969: Previewing the page designated as "latest posts" shows the frontpage
WordPress Trac
noreply at wordpress.org
Tue Apr 21 11:33:14 UTC 2020
#49969: Previewing the page designated as "latest posts" shows the frontpage
-------------------------------+------------------------------
Reporter: zieladam | Owner: (none)
Type: defect (bug) | Status: new
Priority: normal | Milestone: Awaiting Review
Component: Posts, Post Types | Version:
Severity: normal | Resolution:
Keywords: | Focuses:
-------------------------------+------------------------------
Description changed by zieladam:
Old description:
> This continues the discussion from
> https://github.com/WordPress/gutenberg/issues/2409
>
> **The issue**
>
> * Create two pages (let's call them "My home" and "My posts")
> * Go to customizer and set Homepage to be "My home" and Posts page to "My
> posts"
> * Edit "My posts" in editor mode
> * Press preview
> * Confirm you got "My home" instead of "My posts"
>
> **The root cause**
>
> After clicking "Open preview in new tab" while editing posts page,
> Gutenberg redirects to a preview URL like this one:
>
> https://mywpsite.com/?page_id=5&preview_id=5&preview_nonce=12bd60d6f4&preview=true
>
> When you visit that URL, WordPress will load the front page instead of
> the posts page. This is because class-wp-query.php assumes that posts
> page is also the front page:
>
> https://github.com/WordPress/WordPress/blob/b4373fafe9b87f75bf9d65e808be8049510dff8b
> /wp-includes/class-wp-query.php#L1032
>
> Then, when rendering a preview, it substitutes the page_id that was
> requested with the value of get_option( 'page_on_front' ):
>
> https://github.com/WordPress/WordPress/blob/b4373fafe9b87f75bf9d65e808be8049510dff8b
> /wp-includes/class-wp-query.php#L1904
>
> If I remove the preview parameters and leave only ?page_id=5, it displays
> the correct page.
New description:
This continues the discussion from
https://github.com/WordPress/gutenberg/issues/2409
**The issue**
* Create two pages (let's call them "My home" and "My posts")
* Go to customizer and set Homepage to be "My home" and Posts page to "My
posts"
* Edit "My posts" in editor mode
* Press preview
* Confirm you got "My home" instead of "My posts"
**The root cause**
When you click "Open preview in new tab" while editing "My posts",
Gutenberg redirects to a preview URL like this one:
https://mywpsite.com/?page_id=5&preview_id=5&preview_nonce=12bd60d6f4&preview=true
When you visit that URL, WordPress will load the front page instead of the
posts page. This is because class-wp-query.php assumes that posts page is
also the front page:
https://github.com/WordPress/WordPress/blob/b4373fafe9b87f75bf9d65e808be8049510dff8b
/wp-includes/class-wp-query.php#L1032
Then, when rendering a preview, it substitutes the page_id that was
requested with the value of get_option( 'page_on_front' ):
https://github.com/WordPress/WordPress/blob/b4373fafe9b87f75bf9d65e808be8049510dff8b
/wp-includes/class-wp-query.php#L1904
If I remove the preview parameters and leave only ?page_id=5, it displays
the correct page.
--
--
Ticket URL: <https://core.trac.wordpress.org/ticket/49969#comment:1>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list