PluginProbe
Adminify – White Label, Admin Menu Editor, Login Customizer / 3.1.7
Adminify – White Label, Admin Menu Editor, Login Customizer v3.1.7
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 3.1.7, at Inc/Admin/Options/Sidebar_Remove.php

149 lines 4.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 $this->options = []; // (array) AdminSettings::get_instance()->get('sidebar_widgets_list');
18 $this->sidebar_widgets_settings();
19 }
20
21 public function get_defaults() {
22 return [
23 'widget_settings' => [
24 'sidebar_widgets_list' => [],
25 'sidebar_widgets_user_roles' => [],
26 'sidebar_widgets_disable_gutenberg_editor' => false,
27 ],
28 ];
29 }
30
31
32 /**
33 * Generate Sidebar Widgets on Checkbox format
34 *
35 * @return void
36 */
37 public static function jltma_get_default_widgets() {
38 global $wp_widget_factory;
39
40 $widgets = [];
41
42 // $default_widgets = [
43 // 'WP_Widget_Pages',
44 // 'WP_Widget_Calendar',
45 // 'WP_Widget_Archives',
46 // 'WP_Widget_Links',
47 // 'WP_Widget_Media_Audio',
48 // 'WP_Widget_Media_Image',
49 // 'WP_Widget_Media_Video',
50 // 'WP_Widget_Media_Gallery',
51 // 'WP_Widget_Meta',
52 // 'WP_Widget_Search',
53 // 'WP_Widget_Text',
54 // 'WP_Widget_Categories',
55 // 'WP_Widget_Recent_Posts',
56 // 'WP_Widget_Recent_Comments',
57 // 'WP_Widget_RSS',
58 // 'WP_Widget_Tag_Cloud',
59 // 'WP_Nav_Menu_Widget',
60 // 'WP_Widget_Custom_HTML'
61 // ];
62
63 /**
64 * Array of known widgets that won't work in the builder.
65 *
66 * @see jltwp_adminify_get_wp_widgets_exclude
67 */
68 $exclude = apply_filters(
69 'jltwp_adminify_get_wp_widgets_exclude',
70 [
71 'WP_Widget_Media_Audio',
72 'WP_Widget_Media_Image',
73 'WP_Widget_Media_Video',
74 'WP_Widget_Media_Gallery',
75 'WP_Widget_Text',
76 'WP_Widget_Custom_HTML',
77 ]
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 if ( ! class_exists( 'ADMINIFY' ) ) {
94 return;
95 }
96
97 // Sidebar Widgets Section
98 \ADMINIFY::createSection(
99 $this->prefix,
100 [
101 'title' => __( 'Sidebar Widgets', 'adminify' ),
102 'id' => 'sidebar_widgets',
103 'parent' => 'widget_settings',
104 'icon' => 'dashicons dashicons-align-pull-right',
105 'fields' => [
106 [
107 'type' => 'subheading',
108 'content' => Utils::adminfiy_help_urls(
109 __( 'Sidebar Widgets Settings', 'adminify' ),
110 'https://wpadminify.com/kb/wp-widget-settings/',
111 'https://www.youtube.com/playlist?list=PLqpMw0NsHXV-EKj9Xm1DMGa6FGniHHly8',
112 'https://www.facebook.com/groups/jeweltheme',
113 'https://wpadminify.com/support/'
114 ),
115 ],
116 [
117 'id' => 'sidebar_widgets_disable_gutenberg_editor',
118 'type' => 'switcher',
119 'title' => __( 'Disable Gutenberg editor in sidebar widgets', 'adminify' ),
120 'text_on' => __( 'Yes', 'adminify' ),
121 'text_off' => __( 'No', 'adminify' ),
122 'default' => $this->get_default_field( 'widget_settings' )['sidebar_widgets_disable_gutenberg_editor'],
123 ],
124 [
125 'id' => 'sidebar_widgets_user_roles',
126 'type' => 'select',
127 'title' => __( 'Visible for', 'adminify' ),
128 'placeholder' => __( 'Select User roles you want to show', 'adminify' ),
129 'options' => 'roles',
130 'multiple' => true,
131 'chosen' => true,
132 'default' => $this->get_default_field( 'widget_settings' )['sidebar_widgets_user_roles'],
133 'dependency' => [ 'sidebar_widgets_disable_gutenberg_editor', '==', true ],
134 ],
135 [
136 'id' => 'sidebar_widgets_list',
137 'type' => 'checkbox',
138 'title' => __( 'Remove unwanted Widgets', 'adminify' ),
139 'options' => '\WPAdminify\Inc\Classes\Sidebar_Widgets::render_sidebar_checkboxes',
140 'default' => $this->get_default_field( 'widget_settings' )['sidebar_widgets_list'],
141 'dependency' => [ 'sidebar_widgets_disable_gutenberg_editor', '==', true ],
142 ],
143
144 ],
145 ]
146 );
147 }
148 }
149