Make WordPress Core

Changeset 58174

Timestamp:
05/20/2024 09:47:41 AM (7 weeks ago)
Author:
youknowriad
Message:

Posts: Ensure get_sample_permalink returns the right permalink for auto-draft posts.

The post editor uses the permalink_template property from the posts REST API to render the post slug input or not. For auto-drafts or newly created posts, this property was not set properly. This PR solves by fixing the get_sample_permalink function used to compute this property.

Props youknowriad, mcsf, antonvlasenko, azaozz, peterwilsoncc, andrewserong, hellofromTonya, spacedmonkey.
Fixes #59283.

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/includes/post.php

    r58129 r58174  
    14641464
    14651465    // Hack: get_permalink() would return plain permalink for drafts, so we will fake that our post is published.
    1466     if ( in_array( $post->post_status, array( 'draft', 'pending', 'future' ), true ) ) {
     1466    if ( in_array( $post->post_status, array( 'draft', 'pending', 'future' ), true ) ) {
    14671467        $post->post_status = 'publish';
    14681468        $post->post_name   = sanitize_title( $post->post_name ? $post->post_name : $post->post_title, $post->ID );
  • trunk/src/wp-includes/post.php

    r58055 r58174  
    12201220 */
    12211221function get_post_status( $post = null ) {
    1222     $post = get_post( $post );
     1222    if ( $post instanceof WP_Post && isset( $post->filter ) && 'sample' === $post->filter ) {
     1223        // Skip normalization
     1224    } else {
     1225        $post = get_post( $post );
     1226    }
    12231227
    12241228    if ( ! is_object( $post ) ) {
  • trunk/tests/phpunit/tests/admin/includesPost.php

    r57580 r58174  
    931931        get_sample_permalink( $post );
    932932        $this->assertEquals( $post_original, $post, 'get_sample_permalink() modifies the post object.' );
     933
     934
     935
     936
     937
     938
     939
     940
     941
     942
     943
     944
     945
     946
     947
     948
     949
     950
     951
     952
     953
     954
    933955    }
    934956
Note: See TracChangeset for help on using the changeset viewer.