WP_REST_Menu_Items_Controller::prepare_links()protectedWP 5.9.0

Prepares links for the request.

Метод класса: WP_REST_Menu_Items_Controller{}

Хуков нет.

Возвращает

Массив. Links for the given post.

Использование

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->prepare_links( $post );
$post(WP_Post) (обязательный)
Post object.

Список изменений

С версии 5.9.0 Введена.

Код WP_REST_Menu_Items_Controller::prepare_links() WP 6.5.2

protected function prepare_links( $post ) {
	$links     = parent::prepare_links( $post );
	$menu_item = $this->get_nav_menu_item( $post->ID );

	if ( empty( $menu_item->object_id ) ) {
		return $links;
	}

	$path = '';
	$type = '';
	$key  = $menu_item->type;
	if ( 'post_type' === $menu_item->type ) {
		$path = rest_get_route_for_post( $menu_item->object_id );
		$type = get_post_type( $menu_item->object_id );
	} elseif ( 'taxonomy' === $menu_item->type ) {
		$path = rest_get_route_for_term( $menu_item->object_id );
		$type = get_term_field( 'taxonomy', $menu_item->object_id );
	}

	if ( $path && $type ) {
		$links['https://api.w.org/menu-item-object'][] = array(
			'href'       => rest_url( $path ),
			$key         => $type,
			'embeddable' => true,
		);
	}

	return $links;
}