Make WordPress Core

Changeset 44440


Ignore:
Timestamp:
01/07/2019 08:58:09 PM (6 years ago)
Author:
desrosj
Message:

Block Editor: Display notice to the user when JavaScript is disabled.

Currently, when viewing the block editor with JavaScript disabled, the user sees a blank admin page with the admin menu sidebar. This adds an admin notice informing the user that JavaScript is required for the new block editor.

Props mkaz, pento, azaozz, ocean90, desrosj.

Merges [44437] to the 5.0 branch.
Fixes #45453.

Location:
branches/5.0
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/5.0

  • branches/5.0/src/wp-admin/css/common.css

    r43807 r44440  
    559559.wrap {
    560560    margin: 10px 20px 0 2px;
     561}
     562
     563.wrap.block-editor-no-js {
     564    padding-left: 20px;
    561565}
    562566
  • branches/5.0/src/wp-admin/edit-form-blocks.php

    r43949 r44440  
    2323 */
    2424global $post_type, $post_type_object, $post, $title, $editor_styles, $wp_meta_boxes;
    25 
    26 if ( ! empty( $post_type_object ) ) {
    27     $title = $post_type_object->labels->edit_item;
    28 }
    2925
    3026// Flag that we're loading the block editor.
     
    400396
    401397<div class="block-editor">
    402     <h1 class="screen-reader-text"><?php echo esc_html( $post_type_object->labels->edit_item ); ?></h1>
    403     <div id="editor" class="block-editor__container"></div>
     398    <h1 class="screen-reader-text hide-if-no-js"><?php echo esc_html( $title ); ?></h1>
     399    <div id="editor" class="block-editor__container hide-if-no-js"></div>
    404400    <div id="metaboxes" class="hidden">
    405401        <?php the_block_editor_meta_boxes(); ?>
    406402    </div>
     403
     404    <?php // JavaScript is disabled. ?>
     405    <div class="wrap hide-if-js block-editor-no-js">
     406        <h1 class="wp-heading-inline"><?php echo esc_html( $title ); ?></h1>
     407        <div class="notice notice-error notice-alt">
     408            <p>
     409                <?php
     410                    $message = sprintf(
     411                        /* translators: %s: https://wordpress.org/plugins/classic-editor/ */
     412                        __( 'The block editor requires JavaScript. Please enable JavaScript in your browser settings, or try the <a href="%s">Classic Editor plugin</a>.' ),
     413                        __( 'https://wordpress.org/plugins/classic-editor/' )
     414                    );
     415
     416                    /**
     417                     * Filters the message displayed in the block editor interface when JavaScript is
     418                     * not enabled in the browser.
     419                     *
     420                     * @since 5.0.3
     421                     *
     422                     * @param string  $message The message being displayed.
     423                     * @param WP_Post $post    The post being edited.
     424                     */
     425                    echo apply_filters( 'block_editor_no_javascript_message', $message, $post );
     426                    ?>
     427            </p>
     428        </div>
     429    </div>
    407430</div>
  • branches/5.0/src/wp-admin/post.php

    r44050 r44440  
    151151    }
    152152
     153    $title = $post_type_object->labels->edit_item;
     154
    153155    /**
    154156     * Allows replacement of the editor.
     
    175177    }
    176178
    177     $title = $post_type_object->labels->edit_item;
    178     $post = get_post($post_id, OBJECT, 'edit');
     179    $post = get_post( $post_id, OBJECT, 'edit' );
    179180
    180181    if ( post_type_supports($post_type, 'comments') ) {
Note: See TracChangeset for help on using the changeset viewer.