PluginProbe
Gutenberg / 24.1.0
Gutenberg v24.1.0
24.1.0 24.0.0 23.9.1 23.9.0 23.8.0 23.7.2 23.7.1 23.7.0 23.6.1 23.6.2 23.6.0 23.5.3 23.5.2 23.5.1 23.5.0 23.4.0 23.3.2 23.3.1 23.3.0 23.2.0 23.2.1 23.2.2 23.1.1 23.1.0 23.0.1 All 404 releases
← All changes | lib/compat/wordpress-7.1/icons.php +6 -76 23.7.2 → 24.1.0 View file →
@@ -1,9 +1,9 @@
1 1 <?php
2 2 /**
3 3 * Icons API functions.
4 4 *
5 - * @package Gutenberg
5 + * @package gutenberg
6 6 */
7 7
8 8 if ( ! function_exists( 'wp_register_icon_collection' ) ) {
9 9 /**
@@ -14,8 +14,12 @@
14 14 * Arguments for registering an icon collection.
15 15 *
16 16 * @type string $label Required. A human-readable label for the icon collection.
17 17 * @type string $description Optional. A human-readable description for the icon collection.
18 + * @type bool $public Optional. Whether the collection and its icons are exposed through
19 + * the REST API and selectable in the editor's Icon block. Icons in
20 + * non-public collections remain available via {@see wp_get_icon()}.
21 + * Default true.
18 22 * }
19 23 * @return bool True if the icon collection was registered successfully, else false.
20 24 */
21 25 function wp_register_icon_collection( $slug, $args ) {
@@ -43,9 +47,9 @@
43 47 * (e.g. "my-plugin/arrow-left"). The "core" collection is
44 48 * reserved for WordPress core icons; third-party code should
45 49 * register icons under its own collection rather than the
46 50 * "core" collection.
47 - * @param array $args {
51 + * @param array $args {
48 52 * List of properties for the icon.
49 53 *
50 54 * @type string $label Required. A human-readable label for the icon.
51 55 * @type string $content Optional. SVG markup for the icon.
@@ -71,82 +75,8 @@
71 75 function wp_unregister_icon( $icon_name ) {
72 76 return WP_Icons_Registry::get_instance()->unregister( $icon_name );
73 77 }
74 78 }
75 -
76 -/**
77 - * Registers the default icon collections for Gutenberg.
78 - */
79 -function gutenberg_register_default_icon_collections() {
80 - wp_register_icon_collection(
81 - 'core',
82 - array(
83 - 'label' => __( 'WordPress', 'gutenberg' ),
84 - 'description' => __( 'Core icon collection.', 'gutenberg' ),
85 - )
86 - );
87 -}
88 -
89 -$default_icon_collections_priority = has_action( 'init', '_wp_register_default_icon_collections' );
90 -if ( false !== $default_icon_collections_priority ) {
91 - remove_action( 'init', '_wp_register_default_icon_collections', $default_icon_collections_priority );
92 -}
93 -add_action( 'init', 'gutenberg_register_default_icon_collections', 0 );
94 -
95 -/**
96 - * Registers the default core icons from the Gutenberg manifest.
97 - */
98 -function gutenberg_register_default_icons() {
99 - $icons_directory = gutenberg_dir_path() . 'packages/icons/src';
100 - $icons_directory = trailingslashit( $icons_directory );
101 - $manifest_path = $icons_directory . 'manifest.php';
102 -
103 - if ( ! is_readable( $manifest_path ) ) {
104 - wp_trigger_error(
105 - __FUNCTION__,
106 - __( 'Core icon collection manifest is missing or unreadable.', 'gutenberg' )
107 - );
108 - return;
109 - }
110 -
111 - $collection = include $manifest_path;
112 -
113 - if ( empty( $collection ) ) {
114 - wp_trigger_error(
115 - __FUNCTION__,
116 - __( 'Core icon collection manifest is empty or invalid.', 'gutenberg' )
117 - );
118 - return;
119 - }
120 -
121 - foreach ( $collection as $icon_name => $icon_data ) {
122 - if (
123 - empty( $icon_data['filePath'] )
124 - || ! is_string( $icon_data['filePath'] )
125 - ) {
126 - _doing_it_wrong(
127 - __FUNCTION__,
128 - __( 'Core icon collection manifest must provide a valid "filePath" for each icon.', 'gutenberg' ),
129 - '7.1.0'
130 - );
131 - return;
132 - }
133 -
134 - wp_register_icon(
135 - 'core/' . $icon_name,
136 - array(
137 - 'label' => $icon_data['label'],
138 - 'file_path' => $icons_directory . $icon_data['filePath'],
139 - )
140 - );
141 - }
142 -}
143 -
144 -$default_icons_priority = has_action( 'init', '_wp_register_default_icons' );
145 -if ( false !== $default_icons_priority ) {
146 - remove_action( 'init', '_wp_register_default_icons', $default_icons_priority );
147 -}
148 -add_action( 'init', 'gutenberg_register_default_icons' );
149 79
150 80 if ( ! function_exists( 'wp_get_icon' ) ) {
151 81 /**
152 82 * Returns the SVG markup for a registered icon.