WordPress.org

Make WordPress Core

Ticket #45605: 45605.3.diff

File 45605.3.diff, 1.6 KB (added by dlh, 6 weeks 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 ee8af5b3ad..2595e57ca0 100644
    class WP_REST_Posts_Controller extends WP_REST_Controller { 
    16121612
    16131613                $post_type_obj = get_post_type_object( $post->post_type );
    16141614                if ( is_post_type_viewable( $post_type_obj ) && $post_type_obj->public ) {
     1615                        $permalink_template_requested = in_array( 'permalink_template', $fields, true );
     1616                        $generated_slug_requested     = in_array( 'generated_slug', $fields, true );
    16151617
    1616                         if ( ! function_exists( 'get_sample_permalink' ) ) {
    1617                                 require_once ABSPATH . 'wp-admin/includes/post.php';
    1618                         }
     1618                        if ( $permalink_template_requested || $generated_slug_requested ) {
     1619                                if ( ! function_exists( 'get_sample_permalink' ) ) {
     1620                                        require_once ABSPATH . 'wp-admin/includes/post.php';
     1621                                }
    16191622
    1620                         $sample_permalink = get_sample_permalink( $post->ID, $post->post_title, '' );
     1623                                $sample_permalink = get_sample_permalink( $post->ID, $post->post_title, '' );
    16211624
    1622                         if ( in_array( 'permalink_template', $fields, true ) ) {
    1623                                 $data['permalink_template'] = $sample_permalink[0];
    1624                         }
    1625                         if ( in_array( 'generated_slug', $fields, true ) ) {
    1626                                 $data['generated_slug'] = $sample_permalink[1];
     1625                                if ( $permalink_template_requested ) {
     1626                                        $data['permalink_template'] = $sample_permalink[0];
     1627                                }
     1628
     1629                                if ( $generated_slug_requested ) {
     1630                                        $data['generated_slug'] = $sample_permalink[1];
     1631                                }
    16271632                        }
    16281633                }
    16291634