Make WordPress Core

Ticket #58028: 58028.diff

File 58028.diff, 8.0 KB (added by SergeyBiryukov, 19 months ago)
  • src/wp-includes/class-wp-theme-json.php

     
    6666         *
    6767         * They are a unkeyed array of values such as:
    6868         *
    69          * ```php
    70          * array(
    71          *   array(
    72          *     'slug'      => 'unique-name-within-the-set',
    73          *     'name'      => 'Name for the UI',
    74          *     <value_key> => 'value'
    75          *   ),
    76          * )
    77          * ```
     69         *     array(
     70         *       array(
     71         *         'slug'      => 'unique-name-within-the-set',
     72         *         'name'      => 'Name for the UI',
     73         *         <value_key> => 'value'
     74         *       ),
     75         *     )
    7876         *
    7977         * This contains the necessary metadata to process them:
    8078         *
     
    25312529        /**
    25322530         * For metadata values that can either be booleans or paths to booleans, gets the value.
    25332531         *
    2534          * ```php
    2535          * $data = array(
    2536          *   'color' => array(
    2537          *     'defaultPalette' => true
    2538          *   )
    2539          * );
     2532         *     $data = array(
     2533         *       'color' => array(
     2534         *         'defaultPalette' => true
     2535         *       )
     2536         *     );
    25402537         *
    2541          * static::get_metadata_boolean( $data, false );
    2542          * // => false
     2538         *     static::get_metadata_boolean( $data, false );
     2539         *     // => false
    25432540         *
    2544          * static::get_metadata_boolean( $data, array( 'color', 'defaultPalette' ) );
    2545          * // => true
    2546          * ```
     2541         *     static::get_metadata_boolean( $data, array( 'color', 'defaultPalette' ) );
     2542         *     // => true
    25472543         *
    25482544         * @since 6.0.0
    25492545         *
  • src/wp-includes/html-api/class-wp-html-tag-processor.php

     
    3838 *  3. Request changes to the attributes in those tag(s).
    3939 *
    4040 * Example:
    41  * ```php
     41 *
    4242 *     $tags = new WP_HTML_Tag_Processor( $html );
    4343 *     if ( $tags->next_tag( 'option' ) ) {
    4444 *         $tags->set_attribute( 'selected', true );
    4545 *     }
    46  * ```
    4746 *
    4847 * ### Finding tags
    4948 *
     
    5453 * regardless of what kind it is.
    5554 *
    5655 * If you want to _find whatever the next tag is_:
    57  * ```php
     56 *
    5857 *     $tags->next_tag();
    59  * ```
    6058 *
    6159 * | Goal                                                      | Query                                                                           |
    6260 * |-----------------------------------------------------------|---------------------------------------------------------------------------------|
     
    8785 * provided by the processor or external state or variables.
    8886 *
    8987 * Example:
    90  * ```php
     88 *
    9189 *     // Paint up to the first five DIV or SPAN tags marked with the "jazzy" style.
    9290 *     $remaining_count = 5;
    9391 *     while ( $remaining_count > 0 && $tags->next_tag() ) {
     
    9997 *             $remaining_count--;
    10098 *         }
    10199 *     }
    102  * ```
    103100 *
    104101 * `get_attribute()` will return `null` if the attribute wasn't present
    105102 * on the tag when it was called. It may return `""` (the empty string)
     
    116113 * nothing and move on to the next opening tag.
    117114 *
    118115 * Example:
    119  * ```php
     116 *
    120117 *     if ( $tags->next_tag( array( 'class' => 'wp-group-block' ) ) ) {
    121118 *         $tags->set_attribute( 'title', 'This groups the contained content.' );
    122119 *         $tags->remove_attribute( 'data-test-id' );
    123120 *     }
    124  * ```
    125121 *
    126122 * If `set_attribute()` is called for an existing attribute it will
    127123 * overwrite the existing value. Similarly, calling `remove_attribute()`
     
    141137 * entire `class` attribute will be removed.
    142138 *
    143139 * Example:
    144  * ```php
     140 *
    145141 *     // from `<span>Yippee!</span>`
    146142 *     //   to `<span class="is-active">Yippee!</span>`
    147143 *     $tags->add_class( 'is-active' );
     
    165161 *     // from `<input type="text" length="24">`
    166162 *     //   to `<input type="text" length="24">
    167163 *     $tags->remove_class( 'rugby' );
    168  * ```
    169164 *
    170165 * When class changes are enqueued but a direct change to `class` is made via
    171166 * `set_attribute` then the changes to `set_attribute` (or `remove_attribute`)
     
    184179 * and so on. It's fine from a performance standpoint to create a
    185180 * bookmark and update it frequently, such as within a loop.
    186181 *
    187  * ```php
    188182 *     $total_todos = 0;
    189183 *     while ( $p->next_tag( array( 'tag_name' => 'UL', 'class_name' => 'todo' ) ) ) {
    190184 *         $p->set_bookmark( 'list-start' );
     
    203197 *             }
    204198 *         }
    205199 *     }
    206  * ```
    207200 *
    208201 * ## Design and limitations
    209202 *
     
    420413         * Lazily-built index of attributes found within an HTML tag, keyed by the attribute name.
    421414         *
    422415         * Example:
    423          * ```php
     416         *
    424417         *     // supposing the parser is working through this content
    425418         *     // and stops after recognizing the `id` attribute
    426419         *     // <div id="test-4" class=outline title="data:text/plain;base64=asdk3nk1j3fo8">
     
    438431         *
    439432         *     // Note that only the `class` attribute value is stored in the index.
    440433         *     // That's because it is the only value used by this class at the moment.
    441          * ```
    442434         *
    443435         * @since 6.2.0
    444436         * @var WP_HTML_Attribute_Token[]
     
    457449         * into a single `set_attribute( 'class', $changes )` call.
    458450         *
    459451         * Example:
    460          * ```php
     452         *
    461453         *     // Add the `wp-block-group` class, remove the `wp-group` class.
    462454         *     $classname_updates = array(
    463455         *         // Indexed by a comparable class name
     
    464456         *         'wp-block-group' => WP_HTML_Tag_Processor::ADD_CLASS,
    465457         *         'wp-group'       => WP_HTML_Tag_Processor::REMOVE_CLASS
    466458         *     );
    467          * ```
    468459         *
    469460         * @since 6.2.0
    470461         * @var bool[]
     
    511502         * copies when applying many updates to a single document.
    512503         *
    513504         * Example:
    514          * ```php
     505         *
    515506         *     // Replace an attribute stored with a new value, indices
    516507         *     // sourced from the lazily-parsed HTML recognizer.
    517508         *     $start = $attributes['src']->start;
     
    522513         *     $lexical_updates = array(
    523514         *         WP_HTML_Text_Replacement( 14, 28, 'https://my-site.my-domain/wp-content/uploads/2014/08/kittens.jpg' )
    524515         *     );
    525          * ```
    526516         *
    527517         * @since 6.2.0
    528518         * @var WP_HTML_Text_Replacement[]
     
    16191609         * Returns the value of a requested attribute from a matched tag opener if that attribute exists.
    16201610         *
    16211611         * Example:
    1622          * ```php
     1612         *
    16231613         *     $p = new WP_HTML_Tag_Processor( '<div enabled class="test" data-test-id="14">Test</div>' );
    16241614         *     $p->next_tag( array( 'class_name' => 'test' ) ) === true;
    16251615         *     $p->get_attribute( 'data-test-id' ) === '14';
     
    16281618         *
    16291619         *     $p->next_tag() === false;
    16301620         *     $p->get_attribute( 'class' ) === null;
    1631          * ```
    16321621         *
    16331622         * @since 6.2.0
    16341623         *
     
    17021691         * @see https://html.spec.whatwg.org/multipage/syntax.html#attributes-2:ascii-case-insensitive
    17031692         *
    17041693         * Example:
    1705          * ```php
     1694         *
    17061695         *     $p = new WP_HTML_Tag_Processor( '<div data-ENABLED class="test" DATA-test-id="14">Test</div>' );
    17071696         *     $p->next_tag( array( 'class_name' => 'test' ) ) === true;
    17081697         *     $p->get_attribute_names_with_prefix( 'data-' ) === array( 'data-enabled', 'data-test-id' );
     
    17091698         *
    17101699         *     $p->next_tag() === false;
    17111700         *     $p->get_attribute_names_with_prefix( 'data-' ) === null;
    1712          * ```
    17131701         *
    17141702         * @since 6.2.0
    17151703         *
     
    17361724         * Returns the uppercase name of the matched tag.
    17371725         *
    17381726         * Example:
    1739          * ```php
     1727         *
    17401728         *     $p = new WP_HTML_Tag_Processor( '<DIV CLASS="test">Test</DIV>' );
    17411729         *     $p->next_tag() === true;
    17421730         *     $p->get_tag() === 'DIV';
     
    17431731         *
    17441732         *     $p->next_tag() === false;
    17451733         *     $p->get_tag() === null;
    1746          * ```
    17471734         *
    17481735         * @since 6.2.0
    17491736         *
     
    17881775         * Indicates if the current tag token is a tag closer.
    17891776         *
    17901777         * Example:
    1791          * ```php
     1778         *
    17921779         *     $p = new WP_HTML_Tag_Processor( '<div></div>' );
    17931780         *     $p->next_tag( array( 'tag_name' => 'div', 'tag_closers' => 'visit' ) );
    17941781         *     $p->is_tag_closer() === false;
     
    17951782         *
    17961783         *     $p->next_tag( array( 'tag_name' => 'div', 'tag_closers' => 'visit' ) );
    17971784         *     $p->is_tag_closer() === true;
    1798          * ```
    17991785         *
    18001786         * @since 6.2.0
    18011787         *