✏️ 正在编辑: widget-manager.php
路径:
/home/h359620/public_html/wp-content/themes/datis/inc/elementor/widget-manager.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php if (!defined('ABSPATH')) exit; if (!class_exists("Datis_Widget_Manager")) { class Datis_Widget_Manager { private static $instance; private $widgets; private $base_path; private $base_namespace; private $enabled_widgets; public function __construct($args = []) { $this->widgets = [ 'datis_logo' => 'Datis_Logo', 'datis_button' => 'Datis_Button', 'datis_box' => 'Datis_Box', 'datis_menu' => 'Datis_Menu', 'datis_project' => 'Datis_Project', 'datis_heading' => 'Datis_Heading', 'datis_services_widget' => 'Datis_Services_Widget', 'datis_video' => 'Datis_Video', 'datis_counter' => 'Datis_Counter', 'datis_faq' => 'Datis_FAQ', 'datis_blog_widgets' => 'Datis_Blog_Widgets', 'datis_team_slider_widget' => 'Datis_Team_Slider_Widget', 'datis_certificate_gallery' => 'Datis_Certificate_Gallery', 'datis_testimonial_slider_widget' => 'Datis_Testimonial_Slider_Widget', 'datis_category_slider' => 'Datis_Category_Slider', 'datis_slider' => 'Datis_Slider', 'datis_ajax_search' => 'Datis_Ajax_Search', 'datis_missions' => 'Datis_Missions', 'datis_woo_products' => 'Datis_Woo_Products', 'datis_consultation_booking' => 'Datis_Consultation_Booking', 'datis_blog_slider' => 'Datis_Blog_Slider', 'datis_mini_cart' => 'Datis_Mini_Cart', 'datis_product_ajax_search' => 'Datis_Product_Ajax_Search', 'datis_product_category_tabs' => 'Datis_Product_Category_Tabs', 'datis_product_archive_tabs_slider' => 'Datis_Product_Archive_Tabs_Slider', 'datis_account_menu' => 'Datis_Account_Menu', 'datis_scroll_template' => 'Datis_Scroll_Template', 'datis_consultation_request' => 'Datis_Consultation_Request', ]; $this->base_path = $args['path'] ?? get_template_directory() . '/inc/elementor/widgets/'; $this->base_namespace = $args['namespace'] ?? '\Datis\Widgets\\'; $this->enabled_widgets = get_option('datis_enabled_widgets', array_keys($this->widgets)); add_action('elementor/widgets/register', [$this, 'register_widgets']); add_action('elementor/elements/categories_registered', [$this, 'register_category']); } public function register_category($elements_manager) { $elements_manager->add_category('datis-widgets', [ 'title' => __('Datis Widgets', 'datis'), 'icon' => 'fa fa-gavel' ]); } public function register_widgets($widgets_manager) { foreach ($this->widgets as $slug => $class_name) { if (!in_array($slug, $this->enabled_widgets)) { continue; } $file_path = $this->base_path . $slug . '/' . $slug . '.php'; $full_class = $this->base_namespace . $class_name; if (file_exists($file_path)) { require_once $file_path; if (class_exists($full_class)) { $widgets_manager->register(new $full_class()); } } } } public static function get_instance($args = []) { if (is_null(self::$instance)) { self::$instance = new self($args); } return self::$instance; } } add_action('elementor/init', function () { Datis_Widget_Manager::get_instance(); }); }
💾 保存文件
← 返回文件管理器