WordPress.org

Make WordPress Core

Ticket #45605: 45605.diff

File 45605.diff, 1.6 KB (added by dlh, 7 months ago)
  • src/wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php

    diff --git src/wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php src/wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php
    index 93b6608e7a..5760abea81 100644
    class WP_REST_Posts_Controller extends WP_REST_Controller { 
    15891589
    15901590                $post_type_obj = get_post_type_object( $post->post_type );
    15911591                if ( is_post_type_viewable( $post_type_obj ) && $post_type_obj->public ) {
     1592                        $permalink_template_requested = in_array( 'permalink_template', $fields, true );
     1593                        $generated_slug_requested     = in_array( 'generated_slug', $fields, true );
    15921594
    1593                         if ( ! function_exists( 'get_sample_permalink' ) ) {
    1594                                 require_once ABSPATH . '/wp-admin/includes/post.php';
    1595                         }
     1595                        if ( $permalink_template_requested || $generated_slug_requested ) {
     1596                                if ( ! function_exists( 'get_sample_permalink' ) ) {
     1597                                        require_once ABSPATH . '/wp-admin/includes/post.php';
     1598                                }
    15961599
    1597                         $sample_permalink = get_sample_permalink( $post->ID, $post->post_title, '' );
     1600                                $sample_permalink = get_sample_permalink( $post->ID, $post->post_title, '' );
    15981601
    1599                         if ( in_array( 'permalink_template', $fields, true ) ) {
    1600                                 $data['permalink_template'] = $sample_permalink[0];
    1601                         }
    1602                         if ( in_array( 'generated_slug', $fields, true ) ) {
    1603                                 $data['generated_slug'] = $sample_permalink[1];
     1602                                if ( $permalink_template_requested ) {
     1603                                        $data['permalink_template'] = $sample_permalink[0];
     1604                                }
     1605
     1606                                if ( $generated_slug_requested ) {
     1607                                        $data['generated_slug'] = $sample_permalink[1];
     1608                                }
    16041609                        }
    16051610                }
    16061611