Make WordPress Core

Changeset 50920


Ignore:
Timestamp:
05/17/2021 03:06:27 PM (5 years ago)
Author:
gziolo
Message:

Editor: Remove editor type specific filters for block editor configuration

Aligns with changes introduced in the Gutenberg plugin. The planned follow-up replace the editor name string with a context object to bring back an optional reference to the actual post.

Props youknowriad.
See #52920.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/block-editor.php

    r50798 r50920  
    121121         */
    122122        $allowed_block_types = apply_filters( 'allowed_block_types_all', $allowed_block_types, $editor_name );
    123 
    124         /**
    125          * Filters the allowed block types for the given editor, defaulting to `true`
    126          * (all registered block types supported).
    127          *
    128          * The dynamic portion of the hook name, `$editor_name`, refers to the name
    129          * of the editor type, e.g. 'post-editor', 'site-editor', etc.
    130          *
    131          * @since 5.8.0
    132          *
    133          * @param bool|array $allowed_block_types Array of block type slugs, or
    134          *                                        boolean to enable/disable all.
    135          * @param string     $editor_name         The name of the editor, e.g. 'post-editor'.
    136          */
    137         $allowed_block_types = apply_filters( "allowed_block_types_{$editor_name}", $allowed_block_types, $editor_name );
    138123        if ( 'post-editor' === $editor_name ) {
    139124                $post = get_post();
     
    268253         */
    269254        $editor_settings = apply_filters( 'block_editor_settings_all', $editor_settings, $editor_name );
    270 
    271         /**
    272          * Filters the settings to pass to the block editor for a given editor type.
    273          *
    274          * The dynamic portion of the hook name, `$editor_name`, refers to the name
    275          * of the editor type, e.g. 'post-editor', 'site-editor', etc.
    276          *
    277          * @since 5.8.0
    278          *
    279          * @param array  $editor_settings Default editor settings.
    280          * @param string $editor_name     The name of the editor, e.g. 'post-editor'.
    281          */
    282         $editor_settings = apply_filters( "block_editor_settings_{$editor_name}", $editor_settings, $editor_name );
    283255        if ( 'post-editor' === $editor_name ) {
    284256                $post = get_post();
  • trunk/tests/phpunit/tests/blocks/block-editor.php

    r50777 r50920  
    239239         * @ticket 52920
    240240         */
    241         function test_get_block_editor_settings_returns_default_settings() {
    242                 $this->assertSameSets(
    243                         get_block_editor_settings( 'my-editor' ),
    244                         get_default_block_editor_settings()
    245                 );
    246         }
    247 
    248         /**
    249          * @ticket 52920
    250          */
    251         function test_get_block_editor_settings_overrides_default_settings_my_editor() {
     241        function test_get_block_editor_settings_overrides_default_settings_all_editors() {
    252242                function filter_allowed_block_types_my_editor() {
    253243                        return array( 'test/filtered-my-block' );
    254244                }
     245                function filter_block_categories_my_editor() {
     246                        return array(
     247                                array(
     248                                        'slug'  => 'filtered-my-category',
     249                                        'title' => 'Filtered My Category',
     250                                        'icon'  => null,
     251                                ),
     252                        );
     253                }
    255254                function filter_block_editor_settings_my_editor( $editor_settings ) {
    256255                        $editor_settings['maxUploadFileSize'] = 12345;
     
    259258                }
    260259
    261                 add_filter( 'allowed_block_types_my-editor', 'filter_allowed_block_types_my_editor', 10, 1 );
    262                 add_filter( 'block_editor_settings_my-editor', 'filter_block_editor_settings_my_editor', 10, 1 );
     260                add_filter( 'allowed_block_types_all', 'filter_allowed_block_types_my_editor', 10, 1 );
     261                add_filter( 'block_categories_all', 'filter_block_categories_my_editor', 10, 1 );
     262                add_filter( 'block_editor_settings_all', 'filter_block_editor_settings_my_editor', 10, 1 );
    263263
    264264                $settings = get_block_editor_settings( 'my-editor' );
    265265
    266                 remove_filter( 'allowed_block_types_my-editor', 'filter_allowed_block_types_my_editor' );
    267                 remove_filter( 'block_editor_settings_my-editor', 'filter_block_editor_settings_my_editor' );
     266                remove_filter( 'allowed_block_types_all', 'filter_allowed_block_types_my_editor' );
     267                remove_filter( 'block_categories_all', 'filter_block_categories_my_editor' );
     268                remove_filter( 'block_editor_settings_all', 'filter_block_editor_settings_my_editor' );
    268269
    269270                $this->assertSameSets( array( 'test/filtered-my-block' ), $settings['allowedBlockTypes'] );
     271                $this->assertSameSets(
     272                        array(
     273                                array(
     274                                        'slug'  => 'filtered-my-category',
     275                                        'title' => 'Filtered My Category',
     276                                        'icon'  => null,
     277                                ),
     278                        ),
     279                        $settings['blockCategories']
     280                );
    270281                $this->assertSame( 12345, $settings['maxUploadFileSize'] );
    271         }
    272 
    273         /**
    274          * @ticket 52920
    275          */
    276         function test_get_block_editor_settings_overrides_default_settings_any_editor() {
    277                 function filter_allowed_block_types_any_editor() {
    278                         return array( 'test/filtered-any-block' );
    279                 }
    280                 function filter_block_categories_any_editor() {
    281                         return array(
    282                                 array(
    283                                         'slug'  => 'filtered-any-category',
    284                                         'title' => 'Filtered Any Category',
    285                                         'icon'  => null,
    286                                 ),
    287                         );
    288                 }
    289                 function filter_block_editor_settings_any_editor( $editor_settings ) {
    290                         $editor_settings['maxUploadFileSize'] = 54321;
    291 
    292                         return $editor_settings;
    293                 }
    294 
    295                 add_filter( 'allowed_block_types_all', 'filter_allowed_block_types_any_editor', 10, 1 );
    296                 add_filter( 'block_categories_all', 'filter_block_categories_any_editor', 10, 1 );
    297                 add_filter( 'block_editor_settings_all', 'filter_block_editor_settings_any_editor', 10, 1 );
    298 
    299                 $settings = get_block_editor_settings( 'any-editor' );
    300 
    301                 remove_filter( 'allowed_block_types_all', 'filter_allowed_block_types_any_editor' );
    302                 remove_filter( 'block_categories_all', 'filter_block_categories_any_editor' );
    303                 remove_filter( 'block_editor_settings_all', 'filter_block_editor_settings_any_editor' );
    304 
    305                 $this->assertSameSets( array( 'test/filtered-any-block' ), $settings['allowedBlockTypes'] );
    306                 $this->assertSameSets(
    307                         array(
    308                                 array(
    309                                         'slug'  => 'filtered-any-category',
    310                                         'title' => 'Filtered Any Category',
    311                                         'icon'  => null,
    312                                 ),
    313                         ),
    314                         $settings['blockCategories']
    315                 );
    316                 $this->assertSame( 54321, $settings['maxUploadFileSize'] );
    317282        }
    318283
Note: See TracChangeset for help on using the changeset viewer.