WordPress.org

Make WordPress Core


Ignore:
Timestamp:
01/07/2019 08:58:09 PM (10 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.

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

Location:
branches/5.0
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/5.0

  • 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>
Note: See TracChangeset for help on using the changeset viewer.