@@ 260-287 (lines=28) @@ | ||
257 | * @param array $menu the menu the item belongs to (used when $children is set to true) |
|
258 | * @return array a formatted menu item for JSON |
|
259 | */ |
|
260 | public function format_menu_item( $menu_item, $children = false, $menu = array() ) { |
|
261 | ||
262 | $item = (array) $menu_item; |
|
263 | ||
264 | $menu_item = array( |
|
265 | 'ID' => abs( $item['ID'] ), |
|
266 | 'order' => (int) $item['menu_order'], |
|
267 | 'parent' => abs( $item['menu_item_parent'] ), |
|
268 | 'title' => $item['title'], |
|
269 | 'url' => $item['url'], |
|
270 | 'attr' => $item['attr_title'], |
|
271 | 'target' => $item['target'], |
|
272 | 'classes' => implode( ' ', $item['classes'] ), |
|
273 | 'xfn' => $item['xfn'], |
|
274 | 'description' => $item['description'], |
|
275 | 'object_id' => abs( $item['object_id'] ), |
|
276 | 'object' => $item['object'], |
|
277 | 'object_slug' => get_post($item['object_id'])->post_name, |
|
278 | 'type' => $item['type'], |
|
279 | 'type_label' => $item['type_label'], |
|
280 | ); |
|
281 | ||
282 | if ( $children === true && ! empty( $menu ) ) { |
|
283 | $menu_item['children'] = $this->get_nav_menu_item_children( $item['ID'], $menu ); |
|
284 | } |
|
285 | ||
286 | return apply_filters( 'json_menus_format_menu_item', $menu_item ); |
|
287 | } |
|
288 | ||
289 | ||
290 | } |
@@ 384-411 (lines=28) @@ | ||
381 | * @param array $menu The menu the item belongs to (used when $children is set to true) |
|
382 | * @return array a formatted menu item for REST |
|
383 | */ |
|
384 | public function format_menu_item( $menu_item, $children = false, $menu = array() ) { |
|
385 | ||
386 | $item = (array) $menu_item; |
|
387 | ||
388 | $menu_item = array( |
|
389 | 'id' => abs( $item['ID'] ), |
|
390 | 'order' => (int) $item['menu_order'], |
|
391 | 'parent' => abs( $item['menu_item_parent'] ), |
|
392 | 'title' => $item['title'], |
|
393 | 'url' => $item['url'], |
|
394 | 'attr' => $item['attr_title'], |
|
395 | 'target' => $item['target'], |
|
396 | 'classes' => implode( ' ', $item['classes'] ), |
|
397 | 'xfn' => $item['xfn'], |
|
398 | 'description' => $item['description'], |
|
399 | 'object_id' => abs( $item['object_id'] ), |
|
400 | 'object' => $item['object'], |
|
401 | 'object_slug' => get_post($item['object_id'])->post_name, |
|
402 | 'type' => $item['type'], |
|
403 | 'type_label' => $item['type_label'], |
|
404 | ); |
|
405 | ||
406 | if ( $children === true && ! empty( $menu ) ) { |
|
407 | $menu_item['children'] = $this->get_nav_menu_item_children( $item['ID'], $menu ); |
|
408 | } |
|
409 | ||
410 | return apply_filters( 'rest_menus_format_menu_item', $menu_item ); |
|
411 | } |
|
412 | ||
413 | ||
414 | } |