| Server IP : 47.82.179.145 / Your IP : 216.73.217.129 Web Server : nginx/1.26.3 System : Linux iZt4n9czhka2zvqfajdlr2Z 6.8.0-63-generic #66-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 13 20:25:30 UTC 2025 x86_64 User : www ( 1001) PHP Version : 8.3.30 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/scuipturepactory.com/wp-content/themes/colibri-wp/inc/src/Customizer/ |
Upload File : |
<?php
namespace ColibriWP\Theme\Customizer;
use ColibriWP\Theme\Customizer\Panel\ColibriPanel;
use WP_Customize_Panel;
class PanelFactory {
private static $panels = array(
'colibri_panel' => ColibriPanel::class,
);
private static $register_exclusion = array();
private static $registered = false;
public static function make( $id, $data ) {
$data = array_merge( array(
'type' => 'default',
), $data );
$class = static::getClassByType( $data['type'] );
global $wp_customize;
unset( $data['type'] );
$panel = new $class( $wp_customize, $id, $data );
$wp_customize->add_panel( $panel );
return $panel;
}
private static function register() {
if ( ! static::$registered ) {
foreach ( static::$panels as $key => $panel ) {
global $wp_customize;
if ( ! in_array( $key, static::$register_exclusion ) ) {
$wp_customize->register_panel_type( $panel );
}
}
static::$registered = true;
}
}
private static function getClassByType( $type ) {
static::register();
$class = isset( static::$panels[ $type ] ) ? static::$panels [ $type ] : WP_Customize_Panel::class;
return $class;
}
}