-1, 'post_status' => 'publish', 'post_type' => 'wp_navigation', 'include' => $request->get_param('only') ? explode(',', $request->get_param('only')) : [] ]); return new \WP_REST_Response(array_map(function ($item) { return [ "id" => $item->ID, "name" => $item->post_title, "content" => $item->post_content ]; }, $navigation), 200); } /** * Render the navigation menu content based on the provided menu ID. * * @param \WP_REST_Request $request The REST API request * @return string The rendered navigation menu content. */ public static function renderNavigationMenu($request) { if (!$request->get_param('content')) { return ''; } add_filter('render_block_core/navigation', function ($content, $block) { if (empty($block['attrs']['extendifyMenuId'])) { return $content; } $menu_id = $block['attrs']['extendifyMenuId']; return str_replace( 'data-extendify-menu-id=""', 'data-extendify-menu-id="' . esc_attr($menu_id) . '"', $content ); }, 10, 2); $nav_block = [ "blockName" => "core/navigation", "attrs" => [ "icon" => "menu", "overlayBackgroundColor" => "background", "overlayTextColor" => "foreground", "extendifyMenuId" => 5, ], "innerBlocks" => parse_blocks($request->get_param('content')), "innerHTML" => "", "innerContent" => [] ]; return render_block($nav_block); } }