PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 2.0.3
Adminify – White Label, Admin Menu Editor, Login Customizer v2.0.3
4.3.1 4.3.0 4.2.26 4.2.25 4.2.24 4.2.23 4.2.22 4.2.21 4.2.20 4.2.19 4.2.18 4.2.17 4.2.16 4.2.15 4.2.14 4.2.13 4.2.12 4.2.11 4.2.10 4.2.9 4.2.8 4.2.7 4.2.6 4.2.5 4.1.17 All 164 releases
adminify / Inc / Admin / Options / Sidebar_Remove.php

Sidebar_Remove.php in Adminify – White Label, Admin Menu Editor, Login Customizer 2.0.3, at Inc/Admin/Options/Sidebar_Remove.php

147 lines 5.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace WPAdminify\Inc\Admin\Options;
4
5 use WPAdminify\Inc\Utils;
6 use WPAdminify\Inc\Admin\AdminSettings;
7 use WPAdminify\Inc\Admin\AdminSettingsModel;
8
9 if (!defined('ABSPATH')) {
10 die;
11 } // Cannot access directly.
12
13 class Sidebar_Remove extends AdminSettingsModel
14 {
15
16 public function __construct()
17 {
18 $this->options = []; // (array) AdminSettings::get_instance()->get('sidebar_widgets_list');
19 $this->sidebar_widgets_settings();
20 }
21
22 public function get_defaults()
23 {
24 return [
25 'widget_settings' => [
26 'sidebar_widgets_list' => [],
27 'sidebar_widgets_user_roles' => [],
28 'sidebar_widgets_disable_gutenberg_editor' => false,
29 ]
30 ];
31 }
32
33
34 /**
35 * Generate Sidebar Widgets on Checkbox format
36 *
37 * @return void
38 */
39 public static function jltma_get_default_widgets()
40 {
41 global $wp_widget_factory;
42
43 $widgets = [];
44
45 // $default_widgets = [
46 // 'WP_Widget_Pages',
47 // 'WP_Widget_Calendar',
48 // 'WP_Widget_Archives',
49 // 'WP_Widget_Links',
50 // 'WP_Widget_Media_Audio',
51 // 'WP_Widget_Media_Image',
52 // 'WP_Widget_Media_Video',
53 // 'WP_Widget_Media_Gallery',
54 // 'WP_Widget_Meta',
55 // 'WP_Widget_Search',
56 // 'WP_Widget_Text',
57 // 'WP_Widget_Categories',
58 // 'WP_Widget_Recent_Posts',
59 // 'WP_Widget_Recent_Comments',
60 // 'WP_Widget_RSS',
61 // 'WP_Widget_Tag_Cloud',
62 // 'WP_Nav_Menu_Widget',
63 // 'WP_Widget_Custom_HTML'
64 // ];
65
66
67 /**
68 * Array of known widgets that won't work in the builder.
69 * @see jltwp_adminify_get_wp_widgets_exclude
70 */
71 $exclude = apply_filters('jltwp_adminify_get_wp_widgets_exclude', array(
72 'WP_Widget_Media_Audio',
73 'WP_Widget_Media_Image',
74 'WP_Widget_Media_Video',
75 'WP_Widget_Media_Gallery',
76 'WP_Widget_Text',
77 'WP_Widget_Custom_HTML',
78 ));
79
80 foreach ($wp_widget_factory->widgets as $class => $widget) {
81 if (in_array($class, $exclude)) {
82 continue;
83 }
84 $widgets[$class] = $widget->name;
85 }
86
87 ksort($widgets);
88 return $widgets;
89 }
90
91
92 public function sidebar_widgets_settings()
93 {
94 if (!class_exists('ADMINIFY')) {
95 return;
96 }
97
98 // Sidebar Widgets Section
99 \ADMINIFY::createSection($this->prefix, array(
100 'title' => __('Sidebar Widgets', WP_ADMINIFY_TD),
101 'id' => 'sidebar_widgets',
102 'parent' => 'widget_settings',
103 'icon' => 'dashicons dashicons-align-pull-right',
104 'fields' => array(
105 array(
106 'type' => 'subheading',
107 'content' => Utils::adminfiy_help_urls(
108 __('Sidebar Widgets Settings', WP_ADMINIFY_TD),
109 'https://wpadminify.com/kb/wp-widget-settings/',
110 'https://www.youtube.com/playlist?list=PLqpMw0NsHXV-EKj9Xm1DMGa6FGniHHly8',
111 'https://www.facebook.com/groups/jeweltheme',
112 'https://wpadminify.com/support/'
113 )
114 ),
115 array(
116 'id' => 'sidebar_widgets_disable_gutenberg_editor',
117 'type' => 'switcher',
118 'title' => __('Disable Gutenberg editor in sidebar widgets', WP_ADMINIFY_TD),
119 'text_on' => 'Yes',
120 'text_off' => 'No',
121 'default' => $this->get_default_field('widget_settings')['sidebar_widgets_disable_gutenberg_editor'],
122 ),
123 array(
124 'id' => 'sidebar_widgets_user_roles',
125 'type' => 'select',
126 'title' => 'Visible for',
127 'placeholder' => 'Select User roles you want to show',
128 'options' => 'roles',
129 'multiple' => true,
130 'chosen' => true,
131 'default' => $this->get_default_field('widget_settings')['sidebar_widgets_user_roles'],
132 'dependency' => array('sidebar_widgets_disable_gutenberg_editor', '==', true),
133 ),
134 array(
135 'id' => 'sidebar_widgets_list',
136 'type' => 'checkbox',
137 'title' => 'Remove unwanted Widgets',
138 'options' => '\WPAdminify\Inc\Classes\Sidebar_Widgets::render_sidebar_checkboxes',
139 'default' => $this->get_default_field('widget_settings')['sidebar_widgets_list'],
140 'dependency' => array('sidebar_widgets_disable_gutenberg_editor', '==', true),
141 )
142
143 )
144 ));
145 }
146 }
147