Make WordPress Core

Changeset 53665


Ignore:
Timestamp:
07/05/2022 04:01:36 PM (15 months ago)
Author:
SergeyBiryukov
Message:

Block Patterns: Update the value used for keywords.

Patterns on the Pattern Directory can have keywords for better discoverability while searching. The way these are stored was changed from a taxonomy to meta value, but the /wp/v2/pattern-directory/patterns endpoint was still pulling from that old value.

The correct property to use for this field is meta.wpop_keywords, which returns a single string with comma-separated keywords.

Props ryelle, TimothyBlynJacobs.
See #56126.

Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/rest-api/endpoints/class-wp-rest-pattern-directory-controller.php

    r53333 r53665  
    207207            'content'        => wp_kses_post( $raw_pattern->pattern_content ),
    208208            'categories'     => array_map( 'sanitize_title', $raw_pattern->category_slugs ),
    209             'keywords'       => array_map( 'sanitize_title', $raw_pattern->keyword_slugs ),
     209            'keywords'       => array_map( 'sanitize_text_field', explode( ',', $raw_pattern->meta->wpop_keywords ) ),
    210210            'description'    => sanitize_text_field( $raw_pattern->meta->wpop_description ),
    211211            'viewport_width' => absint( $raw_pattern->meta->wpop_viewport_width ),
     
    275275
    276276                'keywords'       => array(
    277                     'description' => __( "The pattern's keyword slugs." ),
     277                    'description' => __( "The pattern's keywords." ),
    278278                    'type'        => 'array',
    279279                    'uniqueItems' => true,
  • trunk/tests/phpunit/data/blocks/pattern-directory/browse-all.json

    r51021 r53665  
    1010            "spay_email": "",
    1111            "wpop_description": "A heading preceded by a chapter number, and followed by a paragraph.",
     12            "wpop_keywords": "blog post",
    1213            "wpop_viewport_width": 1000
    1314        },
     
    2627            "spay_email": "",
    2728            "wpop_description": "A large hero section with an example background image and a heading in the center.",
     29            "wpop_keywords": "header, hero",
    2830            "wpop_viewport_width": 1000
    2931        },
     
    4244            "spay_email": "",
    4345            "wpop_description": "A large hero section with a bright gradient background, a big heading and a filled button.",
     46            "wpop_keywords": "call to action, hero section",
    4447            "wpop_viewport_width": 1000
    4548        },
  • trunk/tests/phpunit/data/blocks/pattern-directory/browse-category-2.json

    r51021 r53665  
    1010            "spay_email": "",
    1111            "wpop_description": "Three filled buttons with rounded corners, side by side.",
     12            "wpop_keywords": "",
    1213            "wpop_viewport_width": 600
    1314        },
     
    2627            "spay_email": "",
    2728            "wpop_description": "Two buttons, one filled and one outlined, side by side.",
     29            "wpop_keywords": "",
    2830            "wpop_viewport_width": 500
    2931        },
  • trunk/tests/phpunit/data/blocks/pattern-directory/browse-keyword-11.json

    r51021 r53665  
    1010            "spay_email": "",
    1111            "wpop_description": "A heading preceded by a chapter number, and followed by a paragraph.",
     12            "wpop_keywords": "",
    1213            "wpop_viewport_width": 1000
    1314        },
     
    2627            "spay_email": "",
    2728            "wpop_description": "A large hero section with an example background image and a heading in the center.",
     29            "wpop_keywords": "",
    2830            "wpop_viewport_width": 1000
    2931        },
     
    4244            "spay_email": "",
    4345            "wpop_description": "A large hero section with a bright gradient background, a big heading and a filled button.",
     46            "wpop_keywords": "",
    4447            "wpop_viewport_width": 1000
    4548        },
  • trunk/tests/phpunit/data/blocks/pattern-directory/search-button.json

    r51021 r53665  
    1010            "spay_email": "",
    1111            "wpop_description": "A large hero section with a bright gradient background, a big heading and a filled button.",
     12            "wpop_keywords": "",
    1213            "wpop_viewport_width": 1000
    1314        },
     
    2627            "spay_email": "",
    2728            "wpop_description": "Three small columns of text, each with an outlined button with rounded corners at the bottom.",
     29            "wpop_keywords": "",
    2830            "wpop_viewport_width": 1000
    2931        },
     
    4244            "spay_email": "",
    4345            "wpop_description": "Three filled buttons with rounded corners, side by side.",
     46            "wpop_keywords": "",
    4447            "wpop_viewport_width": 600
    4548        },
     
    5861            "spay_email": "",
    5962            "wpop_description": "Two buttons, one filled and one outlined, side by side.",
     63            "wpop_keywords": "",
    6064            "wpop_viewport_width": 500
    6165        },
  • trunk/tests/phpunit/tests/rest-api/rest-pattern-directory-controller.php

    r53333 r53665  
    112112
    113113        array_walk( $patterns, array( $this, 'assertPatternMatchesSchema' ) );
     114        $this->assertSame( array( 'blog post' ), $patterns[0]['keywords'] );
     115        $this->assertSame( array( 'header', 'hero' ), $patterns[1]['keywords'] );
     116        $this->assertSame( array( 'call to action', 'hero section' ), $patterns[2]['keywords'] );
    114117    }
    115118
     
    158161
    159162        array_walk( $patterns, array( $this, 'assertPatternMatchesSchema' ) );
    160 
    161         foreach ( $patterns as $pattern ) {
    162             $this->assertContains( 'core', $pattern['keywords'] );
    163         }
    164163    }
    165164
Note: See TracChangeset for help on using the changeset viewer.