Make WordPress Core

Changeset 41829


Ignore:
Timestamp:
10/11/2017 12:05:21 PM (6 years ago)
Author:
pento
Message:

Editor: Add the replace_editor filter.

This filter allows the Core editor to be replaced by an entirely different editor (coughcoughGUTENBERGcough).

Props azaozz, who is supposed to be on sabbatical right now.
Fixes #42119.

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

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/edit-form-advanced.php

    r41783 r41829  
    1717 */
    1818global $post_type, $post_type_object, $post;
     19
     20if ( is_multisite() ) {
     21    add_action( 'admin_footer', '_admin_notice_post_locked' );
     22} else {
     23    $check_users = get_users( array( 'fields' => 'ID', 'number' => 2 ) );
     24
     25    if ( count( $check_users ) > 1 )
     26        add_action( 'admin_footer', '_admin_notice_post_locked' );
     27
     28    unset( $check_users );
     29}
    1930
    2031wp_enqueue_script('post');
  • trunk/src/wp-admin/post-new.php

    r38076 r41829  
    6464
    6565// Schedule auto-draft cleanup
    66 if ( ! wp_next_scheduled( 'wp_scheduled_auto_draft_delete' ) )
     66if ( ! wp_next_scheduled( 'wp_scheduled_auto_draft_delete' ) ) {
    6767    wp_schedule_event( time(), 'daily', 'wp_scheduled_auto_draft_delete' );
    68 
    69 wp_enqueue_script( 'autosave' );
    70 
    71 if ( is_multisite() ) {
    72     add_action( 'admin_footer', '_admin_notice_post_locked' );
    73 } else {
    74     $check_users = get_users( array( 'fields' => 'ID', 'number' => 2 ) );
    75 
    76     if ( count( $check_users ) > 1 )
    77         add_action( 'admin_footer', '_admin_notice_post_locked' );
    78 
    79     unset( $check_users );
    8068}
    8169
    82 // Show post form.
    8370$post = get_default_post_to_edit( $post_type, true );
    8471$post_ID = $post->ID;
    85 include( ABSPATH . 'wp-admin/edit-form-advanced.php' );
     72
     73/** This filter is documented in wp-admin/post.php */
     74if ( apply_filters( 'replace_editor', false, $post ) !== true ) {
     75    wp_enqueue_script( 'autosave' );
     76    include( ABSPATH . 'wp-admin/edit-form-advanced.php' );
     77}
     78
    8679include( ABSPATH . 'wp-admin/admin-footer.php' );
  • trunk/src/wp-admin/post.php

    r39756 r41829  
    145145    }
    146146
     147    /**
     148     * Allows replacement of the editor.
     149     *
     150     * @since 4.9.0
     151     *
     152     * @param boolean      Whether to replace the editor. Default false.
     153     * @param object $post Post object.
     154     */
     155    if ( apply_filters( 'replace_editor', false, $post ) === true ) {
     156        break;
     157    }
     158
    147159    if ( ! wp_check_post_lock( $post->ID ) ) {
    148160        $active_post_lock = wp_set_post_lock( $post->ID );
     
    150162        if ( 'attachment' !== $post_type )
    151163            wp_enqueue_script('autosave');
    152     }
    153 
    154     if ( is_multisite() ) {
    155         add_action( 'admin_footer', '_admin_notice_post_locked' );
    156     } else {
    157         $check_users = get_users( array( 'fields' => 'ID', 'number' => 2 ) );
    158 
    159         if ( count( $check_users ) > 1 )
    160             add_action( 'admin_footer', '_admin_notice_post_locked' );
    161 
    162         unset( $check_users );
    163164    }
    164165
Note: See TracChangeset for help on using the changeset viewer.