Skip to content

Commit 4529b64

Browse files
ryellenoisysocks
authored andcommitted
Cache the remote patterns for an hour
1 parent 4a3b3b2 commit 4529b64

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

lib/block-patterns.php

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -210,14 +210,19 @@ function remove_core_patterns() {
210210
* Import patterns from wordpress.org/patterns.
211211
*/
212212
function load_remote_patterns() {
213-
$request = new WP_REST_Request( 'GET', '/__experimental/pattern-directory/patterns' );
214-
$core_keyword_id = 11; // 11 is the ID for "core".
215-
$request->set_param( 'keyword', $core_keyword_id );
216-
$response = rest_do_request( $request );
217-
if ( $response->is_error() ) {
218-
return;
213+
$patterns = get_transient( 'gutenberg_remote_block_patterns' );
214+
if ( ! $patterns ) {
215+
$request = new WP_REST_Request( 'GET', '/__experimental/pattern-directory/patterns' );
216+
$core_keyword_id = 11; // 11 is the ID for "core".
217+
$request->set_param( 'keyword', $core_keyword_id );
218+
$response = rest_do_request( $request );
219+
if ( $response->is_error() ) {
220+
return;
221+
}
222+
$patterns = $response->get_data();
223+
set_transient( 'gutenberg_remote_block_patterns', $patterns, HOUR_IN_SECONDS );
219224
}
220-
$patterns = $response->get_data();
225+
221226
foreach ( $patterns as $settings ) {
222227
$pattern_name = 'core/' . sanitize_title( $settings['title'] );
223228
register_block_pattern( $pattern_name, (array) $settings );

0 commit comments

Comments
 (0)