WP_REST_Comments_Controller::prepare_links() – Prepares links for the request.

You appear to be a bot. Output may be restricted

Description

Prepares links for the request.

Usage

$array = WP_REST_Comments_Controller::prepare_links( $comment );

Parameters

$comment
( WP_Comment ) required – Comment object.

Returns

array Links for the given comment.

Source

File name: wordpress/wp-includes/rest-api/endpoints/class-wp-rest-comments-controller.php


Lines:

1 to 61 of 61
  protected function prepare_links( $comment ) {
    $links = array(
      'self'       => array(
        'href' => rest_url( sprintf( '%s/%s/%d', $this->namespace, $this->rest_base, $comment->comment_ID ) ),
      ),
      'collection' => array(
        'href' => rest_url( sprintf( '%s/%s', $this->namespace, $this->rest_base ) ),
      ),
    );

    if ( 0 !== (int) $comment->user_id ) {
      $links['author'] = array(
        'href'       => rest_url( 'wp/v2/users/' . $comment->user_id ),
        'embeddable' => true,
      );
    }

    if ( 0 !== (int) $comment->comment_post_ID ) {
      $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( $post_route ),
          'embeddable' => true,
          'post_type'  => $post->post_type,
        );
      }
    }

    if ( 0 !== (int) $comment->comment_parent ) {
      $links['in-reply-to'] = array(
        'href'       => rest_url( sprintf( '%s/%s/%d', $this->namespace, $this->rest_base, $comment->comment_parent ) ),
        'embeddable' => true,
      );
    }

    // Only grab one comment to verify the comment has children.
    $comment_children = $comment->get_children(
      array(
        'number' => 1,
        'count'  => true,
      )
    );

    if ( ! empty( $comment_children ) ) {
      $args = array(
        'parent' => $comment->comment_ID,
      );

      $rest_url = add_query_arg( $args, rest_url( $this->namespace . '/' . $this->rest_base ) );

      $links['children'] = array(
        'href'       => $rest_url,
        'embeddable' => true,
      );
    }

    return $links;
  }
 

 View on GitHub View on Trac