WP_REST_Menu_Items_Controller::prepare_links() WordPress Method
The prepare_links() method is used to prepare the links for each menu item before it is returned in the JSON response. This method is called by the get_items() method.
WP_REST_Menu_Items_Controller::prepare_links( WP_Post $post ) #
Prepares links for the request.
Parameters
- $post
(WP_Post)(Required)Post object.
Return
(array) Links for the given post.
Source
File: wp-includes/rest-api/endpoints/class-wp-rest-menu-items-controller.php
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;
}
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
| Version | Description |
|---|---|
| 5.9.0 | Introduced. |