ID, '_menu_item_object_id', true ); $target_page = is_numeric( $target_page ) ? (int) $target_page : 0; // if equal, it means that the menu item is a custom link. $target_page = ( 0 !== $target_page && $target_page !== $wp_post->ID ) ? get_post( $target_page ) : null; $target_page_title = $target_page->post_title ?? ''; $target_page_link = null !== $target_page ? // @phpstan-ignore-next-line (string) get_the_permalink( $target_page ) : ''; $title = '' !== $wp_post->post_title ? $wp_post->post_title : $target_page_title; $url = '' !== $target_page_link ? $target_page_link : get_post_meta( $wp_post->ID, '_menu_item_url', true ); $url = is_string( $url ) ? $url : ''; $target = (bool) get_post_meta( $wp_post->ID, '_menu_item_target', true ); return array( // avoid double encoding in Twig. 'title' => html_entity_decode( $title, ENT_QUOTES ), 'url' => $url, 'target' => $target, ); } }