run:R W Run
8.68 KB
2026-03-11 16:18:51
R W Run
5.52 KB
2026-03-11 16:18:51
R W Run
10.01 KB
2026-03-11 16:18:51
R W Run
3.42 KB
2026-03-11 16:18:51
R W Run
8.68 KB
2026-03-11 16:18:51
R W Run
55.24 KB
2026-03-11 16:18:51
R W Run
121.69 KB
2026-03-11 16:18:51
R W Run
55.07 KB
2026-03-11 16:18:51
R W Run
25.51 KB
2026-03-11 16:18:51
R W Run
25.52 KB
2026-03-11 16:18:51
R W Run
error_log
📄class-wp-font-library.php
1<?php
2/**
3 * Font Library class.
4 *
5 * This file contains the Font Library class definition.
6 *
7 * @package WordPress
8 * @subpackage Fonts
9 * @since 6.5.0
10 */
11
12/**
13 * Font Library class.
14 *
15 * @since 6.5.0
16 */
17class WP_Font_Library {
18
19 /**
20 * Font collections.
21 *
22 * @since 6.5.0
23 * @var array
24 */
25 private $collections = array();
26
27 /**
28 * Container for the main instance of the class.
29 *
30 * @since 6.5.0
31 * @var WP_Font_Library|null
32 */
33 private static $instance = null;
34
35 /**
36 * Register a new font collection.
37 *
38 * @since 6.5.0
39 *
40 * @param string $slug Font collection slug. May only contain alphanumeric characters, dashes,
41 * and underscores. See sanitize_title().
42 * @param array $args Font collection data. See wp_register_font_collection() for information on accepted arguments.
43 * @return WP_Font_Collection|WP_Error A font collection if it was registered successfully,
44 * or WP_Error object on failure.
45 */
46 public function register_font_collection( string $slug, array $args ) {
47 $new_collection = new WP_Font_Collection( $slug, $args );
48
49 if ( $this->is_collection_registered( $new_collection->slug ) ) {
50 $error_message = sprintf(
51 /* translators: %s: Font collection slug. */
52 __( 'Font collection with slug: "%s" is already registered.' ),
53 $new_collection->slug
54 );
55 _doing_it_wrong(
56 __METHOD__,
57 $error_message,
58 '6.5.0'
59 );
60 return new WP_Error( 'font_collection_registration_error', $error_message );
61 }
62 $this->collections[ $new_collection->slug ] = $new_collection;
63 return $new_collection;
64 }
65
66 /**
67 * Unregisters a previously registered font collection.
68 *
69 * @since 6.5.0
70 *
71 * @param string $slug Font collection slug.
72 * @return bool True if the font collection was unregistered successfully and false otherwise.
73 */
74 public function unregister_font_collection( string $slug ) {
75 if ( ! $this->is_collection_registered( $slug ) ) {
76 _doing_it_wrong(
77 __METHOD__,
78 /* translators: %s: Font collection slug. */
79 sprintf( __( 'Font collection "%s" not found.' ), $slug ),
80 '6.5.0'
81 );
82 return false;
83 }
84 unset( $this->collections[ $slug ] );
85 return true;
86 }
87
88 /**
89 * Checks if a font collection is registered.
90 *
91 * @since 6.5.0
92 *
93 * @param string $slug Font collection slug.
94 * @return bool True if the font collection is registered and false otherwise.
95 */
96 private function is_collection_registered( string $slug ) {
97 return array_key_exists( $slug, $this->collections );
98 }
99
100 /**
101 * Gets all the font collections available.
102 *
103 * @since 6.5.0
104 *
105 * @return array List of font collections.
106 */
107 public function get_font_collections() {
108 return $this->collections;
109 }
110
111 /**
112 * Gets a font collection.
113 *
114 * @since 6.5.0
115 *
116 * @param string $slug Font collection slug.
117 * @return WP_Font_Collection|null Font collection object, or null if the font collection doesn't exist.
118 */
119 public function get_font_collection( string $slug ) {
120 if ( $this->is_collection_registered( $slug ) ) {
121 return $this->collections[ $slug ];
122 }
123 return null;
124 }
125
126 /**
127 * Utility method to retrieve the main instance of the class.
128 *
129 * The instance will be created if it does not exist yet.
130 *
131 * @since 6.5.0
132 *
133 * @return WP_Font_Library The main instance.
134 */
135 public static function get_instance() {
136 if ( null === self::$instance ) {
137 self::$instance = new self();
138 }
139
140 return self::$instance;
141 }
142}
143
Ui Ux Design – Teachers Night Out

Get in Touch

© 2024 Teachers Night Out. All Rights Reserved.