From 9baba12f00295f049ba2fc3034017007afed7170 Mon Sep 17 00:00:00 2001 From: TimothyBlynJacobs Date: Sat, 24 Oct 2020 13:20:07 +0000 Subject: [PATCH] REST API: Support generating comment up links to custom posts controllers. The comments controller now uses the `rest_get_route_for_post` function introduced in WordPress 5.5 to generate the link. This function is filterable to allow for custom controllers to properly define their REST API route. Props dsifford, TimothyBlynJacobs. Fixes #44152. Built from https://develop.svn.wordpress.org/trunk@49299 git-svn-id: http://core.svn.wordpress.org/trunk@49061 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- .../endpoints/class-wp-rest-comments-controller.php | 10 ++++------ wp-includes/version.php | 2 +- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/wp-includes/rest-api/endpoints/class-wp-rest-comments-controller.php b/wp-includes/rest-api/endpoints/class-wp-rest-comments-controller.php index b921144684..85c8f22e8b 100644 --- a/wp-includes/rest-api/endpoints/class-wp-rest-comments-controller.php +++ b/wp-includes/rest-api/endpoints/class-wp-rest-comments-controller.php @@ -1159,14 +1159,12 @@ class WP_REST_Comments_Controller extends WP_REST_Controller { } if ( 0 !== (int) $comment->comment_post_ID ) { - $post = get_post( $comment->comment_post_ID ); - - if ( ! empty( $post->ID ) ) { - $obj = get_post_type_object( $post->post_type ); - $base = ! empty( $obj->rest_base ) ? $obj->rest_base : $obj->name; + $post = get_post( $comment->comment_post_ID ); + $post_route = rest_get_route_for_post( $post ); + if ( ! empty( $post->ID ) && $post_route ) { $links['up'] = array( - 'href' => rest_url( 'wp/v2/' . $base . '/' . $comment->comment_post_ID ), + 'href' => rest_url( $post_route ), 'embeddable' => true, 'post_type' => $post->post_type, ); diff --git a/wp-includes/version.php b/wp-includes/version.php index b67f01afd5..63982a4090 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -13,7 +13,7 @@ * * @global string $wp_version */ -$wp_version = '5.6-beta1-49298'; +$wp_version = '5.6-beta1-49299'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.