@@ -21,11 +21,19 @@ class Assets {
2121 */
2222 use Singleton;
2323
24+ /**
25+ * Localized data for scripts.
26+ *
27+ * @var array
28+ */
29+ private static array $ localized_data = array ();
30+
2431 /**
2532 * Protected class constructor
2633 */
2734 protected function __construct () {
2835 $ this ->setup_hooks ();
36+ self ::build_localized_data ();
2937 }
3038
3139 /**
@@ -36,6 +44,20 @@ public function setup_hooks(): void {
3644 add_action ( 'admin_enqueue_scripts ' , array ( $ this , 'add_admin_scripts ' ), 20 , 1 );
3745 }
3846
47+ /**
48+ * Prepare localized data.
49+ *
50+ * @return void
51+ */
52+ private static function build_localized_data (): void {
53+ self ::$ localized_data = array (
54+ 'restUrl ' => esc_url ( home_url ( '/wp-json ' ) ),
55+ 'restNonce ' => wp_create_nonce ( 'wp_rest ' ),
56+ 'apiKey ' => get_option ( Constants::ONEDESIGN_API_KEY , 'default_api_key ' ),
57+ 'settingsLink ' => esc_url ( admin_url ( 'admin.php?page=onedesign-settings ' ) ),
58+ );
59+ }
60+
3961 /**
4062 * Add admin scripts.
4163 *
@@ -58,10 +80,7 @@ public function add_admin_scripts( $hook_suffix ): void {
5880 wp_localize_script (
5981 'onedesign-settings-script ' ,
6082 'OneDesignSettings ' ,
61- array (
62- 'restUrl ' => esc_url ( home_url ( '/wp-json ' ) ),
63- 'restNonce ' => wp_create_nonce ( 'wp_rest ' ),
64- )
83+ self ::$ localized_data
6584 );
6685
6786 wp_enqueue_script ( 'onedesign-settings-script ' );
@@ -89,12 +108,7 @@ public function add_admin_scripts( $hook_suffix ): void {
89108 wp_localize_script (
90109 'onedesign-setup-script ' ,
91110 'OneDesignSettings ' ,
92- array (
93- 'restUrl ' => esc_url ( home_url ( '/wp-json ' ) ),
94- 'apiKey ' => get_option ( Constants::ONEDESIGN_API_KEY , 'default_api_key ' ),
95- 'restNonce ' => wp_create_nonce ( 'wp_rest ' ),
96- 'settingsLink ' => esc_url ( admin_url ( 'admin.php?page=onedesign-settings ' ) ),
97- )
111+ self ::$ localized_data
98112 );
99113
100114 wp_enqueue_script ( 'onedesign-setup-script ' );
@@ -124,15 +138,7 @@ public function enqueue_scripts(): void {
124138 wp_localize_script (
125139 'onedesign-patterns-library-script ' ,
126140 'patternSyncData ' ,
127- array (
128- 'ajaxurl ' => admin_url ( 'admin-ajax.php ' ),
129- 'nonce ' => wp_create_nonce ( 'onedesign_nonce ' ),
130- 'siteUrl ' => home_url (),
131- 'adminUrl ' => admin_url (),
132- 'settingsLink ' => esc_url ( admin_url ( 'admin.php?page=onedesign-settings ' ) ),
133- 'restUrl ' => esc_url ( home_url ( '/wp-json ' ) ),
134- 'restNonce ' => wp_create_nonce ( 'wp_rest ' ),
135- )
141+ self ::$ localized_data
136142 );
137143
138144 wp_enqueue_script ( 'onedesign-patterns-library-script ' );
@@ -151,14 +157,7 @@ public function enqueue_scripts(): void {
151157 wp_localize_script (
152158 'onedesign-templates-library-script ' ,
153159 'TemplateLibraryData ' ,
154- array (
155- 'ajaxUrl ' => admin_url ( 'admin-ajax.php ' ),
156- 'restNonce ' => wp_create_nonce ( 'wp_rest ' ),
157- 'siteUrl ' => home_url (),
158- 'adminUrl ' => admin_url (),
159- 'restUrl ' => esc_url ( home_url ( '/wp-json ' ) ),
160- 'settingsLink ' => esc_url ( admin_url ( 'admin.php?page=onedesign-settings ' ) ),
161- )
160+ self ::$ localized_data
162161 );
163162
164163 wp_enqueue_script ( 'onedesign-templates-library-script ' );
@@ -256,7 +255,7 @@ public function register_style( $handle, $file, $deps = array(), $ver = false, $
256255 * @param string $file File path.
257256 * @param int|string|boolean $ver File version.
258257 *
259- * @return bool|false| int
258+ * @return bool|int|string
260259 */
261260 public function get_file_version ( $ file , $ ver = false ): bool |int |string {
262261 if ( ! empty ( $ ver ) ) {
0 commit comments