WordPress.org

Make WordPress Core

Changeset 44437


Ignore:
Timestamp:
01/07/2019 08:39:56 PM (4 months 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.
Fixes #45453.

Location:
trunk/src/wp-admin
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/css/common.css

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

    r44273 r44437  
    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>
  • trunk/src/wp-admin/post.php

    r44295 r44437  
    155155        }
    156156
     157        $title = $post_type_object->labels->edit_item;
     158
    157159        /**
    158160         * Allows replacement of the editor.
     
    180182        }
    181183
    182         $title = $post_type_object->labels->edit_item;
    183         $post  = get_post( $post_id, OBJECT, 'edit' );
     184        $post = get_post( $post_id, OBJECT, 'edit' );
    184185
    185186        if ( post_type_supports( $post_type, 'comments' ) ) {
Note: See TracChangeset for help on using the changeset viewer.