Editor: fix post edit navigation link.

Adds a custom link for navigation post types.

Props get_dave, spacedmonkey, ramonopoly.
Fixes #58589.

Built from https://develop.svn.wordpress.org/trunk@56053


git-svn-id: http://core.svn.wordpress.org/trunk@55565 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
isabel_brison 2023-06-27 06:02:22 +00:00
parent 161b471f0b
commit f3f4f7dd96
3 changed files with 14 additions and 1 deletions

View File

@ -1438,6 +1438,8 @@ function get_preview_post_link( $post = null, $query_args = array(), $preview_li
* pages, posts, attachments, revisions, global styles, templates, and template parts.
*
* @since 2.3.0
* @since 6.3.0 Adds custom link for wp_navigation post types.
* Adds custom links for wp_template_part and wp_template post types.
*
* @param int|WP_Post $post Optional. Post ID or post object. Default is the global `$post`.
* @param string $context Optional. How to output the '&' character. Default '&'.
@ -1474,6 +1476,8 @@ function get_edit_post_link( $post = 0, $context = 'display' ) {
if ( 'wp_template' === $post->post_type || 'wp_template_part' === $post->post_type ) {
$slug = urlencode( get_stylesheet() . '//' . $post->post_name );
$link = admin_url( sprintf( $post_type_object->_edit_link, $post->post_type, $slug ) );
} elseif ( 'wp_navigation' === $post->post_type ) {
$link = admin_url( sprintf( $post_type_object->_edit_link, (string) $post->ID ) );
} elseif ( $post_type_object->_edit_link ) {
$link = admin_url( sprintf( $post_type_object->_edit_link . $action, $post->ID ) );
}

View File

@ -491,6 +491,14 @@ function create_initial_post_types() {
)
);
$navigation_post_edit_link = 'site-editor.php?' . build_query(
array(
'postId' => '%s',
'postType' => 'wp_navigation',
'canvas' => 'edit',
)
);
register_post_type(
'wp_navigation',
array(
@ -517,6 +525,7 @@ function create_initial_post_types() {
'description' => __( 'Navigation menus that can be inserted into your site.' ),
'public' => false,
'_builtin' => true, /* internal use only. don't use this when registering your own post type. */
'_edit_link' => $navigation_post_edit_link, /* internal use only. don't use this when registering your own post type. */
'has_archive' => false,
'show_ui' => true,
'show_in_menu' => false,

View File

@ -16,7 +16,7 @@
*
* @global string $wp_version
*/
$wp_version = '6.3-alpha-56052';
$wp_version = '6.3-alpha-56053';
/**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.