✏️ 正在编辑: widget-settings.php
路径:
/home/h359620/public_html/wp-content/themes/datis/inc/elementor/widget-settings.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php if (!defined('ABSPATH')) exit; if (!class_exists("Datis_Widget_Settings")) { class Datis_Widget_Settings { private static $instance; private $widgets; public function __construct() { $this->widgets = [ 'datis_logo' => __('Site logo', 'datis'), 'datis_button' => __('Button', 'datis'), 'datis_box' => __('Box', 'datis'), 'datis_menu' => __('Site menu', 'datis'), 'datis_project' => __('Projects', 'datis'), 'datis_heading' => __('Heading', 'datis'), 'datis_services_widget' => __('Services', 'datis'), 'datis_video' => __('Videos', 'datis'), 'datis_counter' => __('Counter', 'datis'), 'datis_faq' => __('FAQ', 'datis'), 'datis_blog_widgets' => __('Blog', 'datis'), 'datis_team_slider_widget' => __('Team Slider', 'datis'), 'datis_certificate_gallery' => __('Certificate Gallery', 'datis'), 'datis_testimonial_slider_widget' => __('Testimonial', 'datis'), 'datis_category_slider' => __('Category Slider', 'datis'), 'datis_slider' => __('Slider', 'datis'), 'datis_ajax_search' => __('Ajax Search', 'datis'), 'datis_missions' => __('Missions', 'datis'), 'datis_woo_products' => __('Woo Products', 'datis'), 'datis_consultation_booking' => __('Consultation Booking', 'datis'), 'datis_blog_slider' => __('Blog Slider', 'datis'), 'datis_mini_cart' => __('Mini Cart', 'datis'), 'datis_product_ajax_search' => __('Product Search', 'datis'), 'datis_product_category_tabs' => __('Product Category Tabs', 'datis'), 'datis_product_archive_tabs_slider' => __('Product Archive', 'datis'), 'datis_account_menu' => __('Login Button', 'datis'), 'datis_scroll_template' => __('Scroll Template', 'datis'), 'datis_consultation_request' => __('Consultation Request', 'datis'), ]; add_action('admin_menu', [$this, 'add_menu_page']); add_action('admin_init', [$this, 'register_settings']); } public function add_menu_page() { add_menu_page( __('Theme Widgets', 'datis'), __('Theme Widgets', 'datis'), 'manage_options', 'datis-widgets', [$this, 'settings_page_callback'], '', 20 ); } public function register_settings() { register_setting( 'datis_widgets_group', 'datis_enabled_widgets', [ 'type' => 'array', 'sanitize_callback' => [$this, 'sanitize_widget_settings'], 'default' => array_keys($this->widgets), ] ); } public function sanitize_widget_settings($input) { if (!is_array($input)) { return []; } $valid_widgets = array_keys($this->widgets); return array_intersect($input, $valid_widgets); } public function settings_page_callback() { if (!current_user_can('manage_options')) { wp_die(__('You do not have sufficient permissions to access this page.', 'datis')); } $enabled_widgets = get_option('datis_enabled_widgets', array_keys($this->widgets)); ?> <div class="wrap"> <h1><?php esc_html_e('Theme widget settings', 'datis'); ?></h1> <p><?php esc_html_e('To reduce page load time, disable unused theme widgets.', 'datis'); ?></p> <?php settings_errors(); ?> <form class="widget-settings-wrapper" method="post" action="options.php"> <?php settings_fields('datis_widgets_group'); do_settings_sections('datis-widgets'); ?> <div class="datis-widget-grid"> <?php foreach ($this->widgets as $key => $label) : ?> <div class="datis-widget-toggle"> <span><?php echo esc_html($label); ?></span> <label class="datis-switch"> <input type="checkbox" name="datis_enabled_widgets[]" value="<?php echo esc_attr($key); ?>" <?php checked(in_array($key, (array)$enabled_widgets)); ?>> <span class="datis-slider"></span> </label> </div> <?php endforeach; ?> </div> <?php submit_button(esc_html__('Save settings', 'datis')); ?> </form> </div> <?php } public static function get_instance() { if (is_null(self::$instance)) { self::$instance = new self(); } return self::$instance; } } if (is_admin()) { Datis_Widget_Settings::get_instance(); } }
💾 保存文件
← 返回文件管理器