PluginProbe
Kirki – Freeform Page Builder, Website Builder & Customizer / 6.3.0
Kirki – Freeform Page Builder, Website Builder & Customizer v6.3.0
6.3.0 6.2.5 6.2.4 6.2.3 6.2.2 6.2.1 6.2.0 6.1.1 6.1.0 6.0.14 6.0.13 6.0.12 6.0.11 6.0.10 6.0.9 6.0.8 6.0.7 6.0.6 6.0.5 6.0.4 6.0.3 6.0.2 6.0.1 3.1.3 3.1.4 All 56 releases
kirki / customizer / packages / fields / fontawesome / src / Field / FontAwesome.php
FontAwesome.php
49 lines 1.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Override field methods.
4 *
5 * @package kirki-framework/control-fontawesome
6 * @copyright Copyright (c) 2023, Themeum
7 * @license https://opensource.org/licenses/MIT
8 * @since 1.0
9 */
10
11 namespace Kirki\Field;
12
13 use Kirki\Field\Select;
14
15 /**
16 * Field overrides.
17 */
18 class FontAwesome extends Select {
19
20 /**
21 * Filter arguments before creating the control.
22 *
23 * @access public
24 * @since 0.1
25 * @param array $args The field arguments.
26 * @param WP_Customize_Manager $wp_customize The customizer instance.
27 * @return array
28 */
29 public function filter_control_args( $args, $wp_customize ) {
30 if ( $args['settings'] === $this->args['settings'] ) {
31 $args = parent::filter_control_args( $args, $wp_customize );
32
33 ob_start();
34 include 'fontawesome.json'; // phpcs:ignore WPThemeReview.CoreFunctionality.FileInclude
35 $font_awesome_json = ob_get_clean();
36
37 $fa_array = (array) json_decode( $font_awesome_json, true );
38 $args['choices'] = [];
39 foreach ( $fa_array['icons'] as $icon ) {
40 if ( ! isset( $icon['id'] ) || ! isset( $icon['name'] ) ) {
41 continue;
42 }
43 $args['choices'][ $icon['id'] ] = $icon['name'];
44 }
45 }
46 return $args;
47 }
48 }
49