Make WordPress Core

Ticket #53948: 53948-admin-bar.php.diff

File 53948-admin-bar.php.diff, 2.3 KB (added by sabernhardt, 3 years ago)

creating hidden placeholder link

  • src/wp-includes/admin-bar.php

     
    696696 *
    697697 * @since 3.1.0
    698698 * @since 5.5.0 Added a "View Post" link on Comments screen for a single post.
     699 * @since 5.9.0 Added a placeholder for block editor to update "View Post" link when publishing post.
    699700 *
    700701 * @global WP_Term  $tag
    701702 * @global WP_Query $wp_the_query WordPress Query object.
     
    725726                }
    726727
    727728                if ( ( 'post' === $current_screen->base || 'edit-comments' === $current_screen->base )
    728                         && 'add' !== $current_screen->action
    729729                        && ( $post_type_object )
    730730                        && current_user_can( 'read_post', $post->ID )
    731731                        && ( $post_type_object->public )
    732732                        && ( $post_type_object->show_in_admin_bar ) ) {
    733                         if ( 'draft' === $post->post_status ) {
     733
     734                        if ( 'add' === $current_screen->action && use_block_editor_for_post( $post ) ) {
     735                                // Add a hidden placeholder when creating a new post with the block editor.
    734736                                $preview_link = get_preview_post_link( $post );
    735737                                $wp_admin_bar->add_node(
    736738                                        array(
    737                                                 'id'    => 'preview',
     739                                                'id'    => 'view',
    738740                                                'title' => $post_type_object->labels->view_item,
    739741                                                'href'  => esc_url( $preview_link ),
    740                                                 'meta'  => array( 'target' => 'wp-preview-' . $post->ID ),
     742                                                'meta'  => array( 'class' => 'hidden' ),
    741743                                        )
    742744                                );
    743                         } else {
    744                                 $wp_admin_bar->add_node(
    745                                         array(
    746                                                 'id'    => 'view',
    747                                                 'title' => $post_type_object->labels->view_item,
    748                                                 'href'  => get_permalink( $post->ID ),
    749                                         )
    750                                 );
     745                        } elseif ( 'add' !== $current_screen->action ) {
     746                                if ( 'draft' === $post->post_status ) {
     747                                        $preview_link = get_preview_post_link( $post );
     748                                        $wp_admin_bar->add_node(
     749                                                array(
     750                                                        'id'    => 'preview',
     751                                                        'title' => $post_type_object->labels->view_item,
     752                                                        'href'  => esc_url( $preview_link ),
     753                                                        'meta'  => array( 'target' => 'wp-preview-' . $post->ID ),
     754                                                )
     755                                        );
     756                                } else {
     757                                        $wp_admin_bar->add_node(
     758                                                array(
     759                                                        'id'    => 'view',
     760                                                        'title' => $post_type_object->labels->view_item,
     761                                                        'href'  => get_permalink( $post->ID ),
     762                                                )
     763                                        );
     764                                }
    751765                        }
    752766                } elseif ( 'edit' === $current_screen->base
    753767                        && ( $post_type_object )