load_settings(); add_action('init', [$this, 'init']); } function init() { // if (($this->settings['remove_upload_filters'] ?? '') == 'on') { if (!defined('ALLOW_UNFILTERED_UPLOADS')) { define('ALLOW_UNFILTERED_UPLOADS', true); } } // if (($this->settings['photoswipe'] ?? "") == 'on') { $a = new \Adminz\Helper\Photoswipe; $a->init(); } // if (($this->settings['photoswipe'] ?? "") == 'on') { $list = array_values($this->settings['photoswipe_process'] ?? []); if (empty($list[0]['key'])) { return; } $a = new \Adminz\Helper\Photoswipe; $a->process($list); } // if ($font_uploaded = ($this->settings['adminz_fonts_uploaded'] ?? [])) { \Adminz\Helper\Enqueue::adminz_enqueue_font_text($font_uploaded); } // if ($custom_font_icons = ($this->settings['custom_font_icons'] ?? [])) { \Adminz\Helper\Enqueue::adminz_enqueue_font_icon($custom_font_icons); } // if ($fonts_supported = ($this->settings['adminz_supported_font'] ?? "")) { \Adminz\Helper\Enqueue::adminz_enqueue_font_supported($fonts_supported); } if ($css = ($this->settings['adminz_custom_css_fonts'] ?? "")) { \Adminz\Helper\Enqueue::adminz_enqueue_css($css); } if ($js = ($this->settings['adminz_custom_js'] ?? "")) { \Adminz\Helper\Enqueue::adminz_enqueue_js($js); } } function load_settings() { $this->settings = get_option($this->option_name, []); // font uploaded $fonts_uploaded = $this->settings['adminz_fonts_uploaded'] ?? []; // old version $fonts_uploaded = adminz_maybeJson($fonts_uploaded) ?? []; $this->fonts_uploaded = $fonts_uploaded; // font supported $fonts_supported = $this->settings['adminz_supported_font'] ?? []; $this->fonts_supported = $fonts_supported; } function add_admin_nav($nav) { $nav[$this->id] = $this->name; return $nav; } function register_settings() { register_setting($this->id, $this->option_name); // add section add_settings_section( 'adminz_custom_font', 'Custom font', function () { }, $this->id ); // field add_settings_field( wp_rand(), 'Remove Upload filters', function () { echo \WpDatabaseHelperV2\Fields\WpField::make() ->kind('input') ->type('checkbox') ->name($this->option_name . '[remove_upload_filters]') ->value($this->settings['remove_upload_filters'] ?? '') ->addNote('Check it to allow upload your fonts file. Dont forget to disable it later.') ->render(); }, $this->id, 'adminz_custom_font' ); // field add_settings_field( wp_rand(), 'Fonts text', function () { // options font weight $font_weight_options = [ 'normal' => 'normal', 'bold' => 'bold', 'bolder' => 'bolder', 'lighter' => 'lighter', '100' => '100', '200' => '200', '300' => '300', '400' => '400', '500' => '500', '600' => '600', '700' => '700', '800' => '800', '900' => '900', ]; // options font style $font_style_options = [ 'normal' => 'normal', 'italic' => 'italic', 'oblique' => 'oblique', 'initial' => 'initial', 'inherit' => 'inherit', ]; // options font stretch $font_stretch_options = [ 'ultra-condensed' => 'ultra-condensed', 'extra-condensed' => 'extra-condensed', 'condensed' => 'condensed', 'semi-condensed' => 'semi-condensed', 'normal' => 'normal', 'semi-expanded' => 'semi-expanded', 'expanded' => 'expanded', 'extra-expanded' => 'extra-expanded', 'ultra-expanded' => 'ultra-expanded', 'initial' => 'initial', 'inherit' => 'inherit', ]; echo \WpDatabaseHelperV2\Fields\WpRepeater::make() ->name($this->option_name . '[adminz_fonts_uploaded]') ->value($this->settings['adminz_fonts_uploaded'] ?? []) ->childDirection('wrap') ->label('Fonts Uploaded') ->fields([ // [0] wp_media \WpDatabaseHelperV2\Fields\WpField::make() ->kind('input') ->type('wp_media') ->name('0') ->label('Font File') ->default('') ->copyButton(false), // [1] font family \WpDatabaseHelperV2\Fields\WpField::make() ->kind('input') ->type('text') ->name('1') ->label('Font Family') ->attributes( [ 'placeholder' => 'Font family: xxx', ] ) ->default('') ->copyButton(true), // [2] font weight \WpDatabaseHelperV2\Fields\WpField::make() ->kind('select') ->name('2') ->label('Font Weight') ->options($font_weight_options) ->default('') ->copyButton(true), // [3] font style \WpDatabaseHelperV2\Fields\WpField::make() ->kind('select') ->name('3') ->label('Font Style') ->options($font_style_options) ->default('') ->copyButton(true), // [4] font stretch \WpDatabaseHelperV2\Fields\WpField::make() ->kind('select') ->name('4') ->label('Font Stretch') ->options($font_stretch_options) ->default('') ->copyButton(true), ]) ->default( [ [ '', '', '', '', '', ] ] ) ->render(); $note = __('Note'); echo << {$note}: If the font name contains spaces, it must be surrounded by '. Example: 'xxx'
HTML; }, $this->id, 'adminz_custom_font' ); // field add_settings_field( wp_rand(), 'Font icon', function () { // echo \WpDatabaseHelperV2\Fields\WpRepeater::make() ->name($this->option_name . '[custom_font_icons]') ->value($this->settings['custom_font_icons'] ?? false) ->childDirection('wrap') ->fields([ // font_id \WpDatabaseHelperV2\Fields\WpField::make() ->kind('input') ->type('wp_media') ->name('font_id') ->label('Font File') ->copyButton(false), // items (repeater con) \WpDatabaseHelperV2\Fields\WpRepeater::make() ->name('items') ->childDirection('horizontal') ->label('Icons') ->fields([ // class \WpDatabaseHelperV2\Fields\WpField::make() ->kind('input') ->type('text') ->name('class') ->label('Css Selector') // ->placeholder('.icon-shopping-cart') ->attributes( [ 'placeholder' => '.icon-shopping-cart', ] ) ->copyButton(true), // icon_code \WpDatabaseHelperV2\Fields\WpField::make() ->kind('input') ->type('text') ->name('icon_code') ->label('Font Icon Code') // ->placeholder('e900') ->attributes( [ 'placeholder' => 'e900', ] ) ->copyButton(true), ]) ]) ->default([ [ "font_id" => '', "items" => [ [ 'class' => '', 'icon_code' => '', ], ], ], ]) ->render(); // note $guid = ADMINZ_DIR_URL . 'assets/guide/flatsome_custom_icon.png'; echo << Note*: Make font file with Icomoon.io and here is screenshot