PluginProbe ʕ •ᴥ•ʔ
Widget Options – Advanced Conditional Visibility for Gutenberg Blocks & Classic Widgets / 4.0.1
Widget Options – Advanced Conditional Visibility for Gutenberg Blocks & Classic Widgets v4.0.1
4.2.5 4.2.4 trunk 3.7.10 3.7.11 3.7.12 3.7.13 3.7.14 3.7.2 3.7.5 3.7.6 3.7.7 3.7.8 3.7.9 3.8 3.8.1 3.8.10 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.8.7 3.8.8 3.8.9 3.8.9.1 3.9.0 3.9.1 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.0.5 4.0.5.1 4.0.6 4.0.6.1 4.0.7 4.0.8 4.0.9 4.1.0 4.1.1 4.1.2 4.1.3 4.2.0 4.2.1 4.2.2 4.2.3
widget-options / plugin.php
widget-options Last commit date
assets 2 years ago includes 2 years ago languages 9 years ago templates 9 years ago LICENSE 2 years ago plugin.php 2 years ago readme.md 2 years ago readme.txt 2 years ago screenshot-1.gif 2 years ago screenshot-10.png 2 years ago screenshot-11.png 2 years ago screenshot-12.png 2 years ago screenshot-13.png 2 years ago screenshot-14.png 2 years ago screenshot-2.png 2 years ago screenshot-3.png 2 years ago screenshot-4.png 2 years ago screenshot-5.png 10 years ago screenshot-6.png 9 years ago screenshot-7.png 8 years ago screenshot-8.png 2 years ago screenshot-9.png 2 years ago
plugin.php
306 lines
1 <?php
2
3 /**
4 * Plugin Name: Widget Options
5 * Plugin URI: https://widget-options.com/
6 * Description: Additional Widget and block options for better widget and block control. Turn Widget Options into an even more flexible widget and block area manager. Upgrade to <strong><a href="http://widget-options.com/" target="_blank" >Widget Options Extended</a></strong> today!
7 * Version: 4.0.1
8 * Author: Widget Options Team
9 * Author URI: https://widget-options.com/
10 * Text Domain: widget-options
11 * Domain Path: languages
12 *
13 * @category Widgets
14 * @author Widget Options Team
15 */
16 // Exit if accessed directly.
17 if (!defined('ABSPATH')) exit;
18 if (!class_exists('WP_Widget_Options')) :
19
20 /**
21 * Main WP_Widget_Options Class.
22 *
23 * @since 3.2
24 */
25 final class WP_Widget_Options
26 {
27 /**
28 * @var WP_Widget_Options The one true WP_Widget_Options
29 * @since 3.2
30 */
31 private static $instance;
32
33 /**
34 * Main WP_Widget_Options Instance.
35 *
36 * Insures that only one instance of WP_Widget_Options exists in memory at any one
37 * time. Also prevents needing to define globals all over the place.
38 *
39 * @since 3.2
40 * @static
41 * @staticvar array $instance
42 * @uses WP_Widget_Options::setup_constants() Setup the constants needed.
43 * @uses WP_Widget_Options::includes() Include the required files.
44 * @uses WP_Widget_Options::load_textdomain() load the language files.
45 * @see WIDGETOPTS()
46 * @return object|WP_Widget_Options The one true WP_Widget_Options
47 */
48 public static function instance()
49 {
50 if (!isset(self::$instance) && !(self::$instance instanceof WP_Widget_Options)) {
51 self::$instance = new WP_Widget_Options;
52 self::$instance->setup_constants();
53
54 // add_action( 'plugins_loaded', array( self::$instance, 'load_textdomain' ) );
55
56 self::$instance->includes();
57 // self::$instance->roles = new WIDGETOPTS_Roles();
58 add_filter('use_widgets_block_editor', array(self::$instance, 'widget_options_use_widgets_block_editor'));
59
60 self::$instance->setup_widget_block_editor();
61 }
62 return self::$instance;
63 }
64
65 /**
66 * REVERT classic widgets screen
67 */
68 public function widget_options_use_widgets_block_editor($use_widgets_block_editor)
69 {
70 global $widget_options;
71 if (!empty($widget_options['classic_widgets_screen']) && $widget_options['classic_widgets_screen'] == 'activate') {
72 return false;
73 } else {
74 return true;
75 }
76 }
77
78 /**
79 * Setup plugin constants.
80 *
81 * @access private
82 * @since 4.1
83 * @return void
84 */
85 private function setup_constants()
86 {
87
88 // Plugin version.
89 if (!defined('WIDGETOPTS_PLUGIN_NAME')) {
90 define('WIDGETOPTS_PLUGIN_NAME', 'Widget Options');
91 }
92
93 // Plugin version.
94 if (!defined('WIDGETOPTS_VERSION')) {
95 define('WIDGETOPTS_VERSION', '4.0.1');
96 }
97
98 // Plugin Folder Path.
99 if (!defined('WIDGETOPTS_PLUGIN_DIR')) {
100 define('WIDGETOPTS_PLUGIN_DIR', plugin_dir_path(__FILE__));
101 }
102
103 // Plugin Folder URL.
104 if (!defined('WIDGETOPTS_PLUGIN_URL')) {
105 define('WIDGETOPTS_PLUGIN_URL', plugin_dir_url(__FILE__));
106 }
107
108 // Plugin Root File.
109 if (!defined('WIDGETOPTS_PLUGIN_FILE')) {
110 define('WIDGETOPTS_PLUGIN_FILE', __FILE__);
111 }
112
113 // Plugin Root File.
114 if (!defined('WIDGETOPTS_PLUGIN_WEBSITE')) {
115 define('WIDGETOPTS_PLUGIN_WEBSITE', 'https://widget-options.com');
116 }
117 }
118
119 /**
120 * Include required files.
121 *
122 * @access private
123 * @since 4.1
124 * @return void
125 */
126 private function includes()
127 {
128 global $widget_options, $extended_license, $widgetopts_taxonomies, $widgetopts_pages, $widgetopts_types, $widgetopts_categories, $pagenow;
129
130 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/register-settings.php';
131 $widget_options = widgetopts_get_settings();
132
133 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/extras.php';
134 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/scripts.php';
135
136 //call admin only resources
137 if (is_admin()) {
138
139 //other global variables to prevent duplicate and faster calls
140 $widgetopts_pages = widgetopts_global_pages();
141
142 //admin settings
143 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/globals.php';
144 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/welcome.php';
145 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/display-settings.php';
146 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/transient.php';
147
148 if (in_array($pagenow, array('options-general.php'))) {
149 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/classic-widgets-screen.php';
150 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/visibility.php';
151 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/devices.php';
152 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/alignment.php';
153 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/title.php';
154 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/classes.php';
155 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/logic.php';
156 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/links.php';
157 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/fixed.php';
158 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/columns.php';
159 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/roles.php';
160 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/dates.php';
161 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/styling.php';
162 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/animation.php';
163 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/taxonomies.php';
164 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/disable_widgets.php';
165 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/permission.php';
166 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/shortcodes.php';
167 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/cache.php';
168 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/siteorigin.php';
169 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/sidebar-upsell_pro.php';
170 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/sidebar-opt_in.php';
171 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/sidebar-more_plugins.php';
172 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/sidebar-support_box.php';
173 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/search.php';
174 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/sliding.php';
175 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/move.php';
176 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/clone.php';
177 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/elementor.php';
178 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/import-export.php';
179 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/widget-area.php';
180 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/urls.php';
181 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/beaver_builder.php';
182 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/acf.php';
183 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/state.php';
184 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/page-and-post-block.php';
185 }
186
187 // if( in_array( $pagenow, array( 'widgets.php' ) ) ){
188 //widget callbacks
189 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/widgets.php';
190
191 //add visibility tab if activated
192 if ($widget_options['visibility'] == 'activate') {
193 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/visibility.php';
194 }
195 //add devices tab if activated
196 if ($widget_options['devices'] == 'activate') {
197 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/devices.php';
198 }
199
200 //add alignment tab if activated
201 if ($widget_options['alignment'] == 'activate') {
202 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/alignment.php';
203 }
204
205 //add alignment tab if activated
206 if (isset($widget_options['state']) && $widget_options['state'] == 'activate') {
207 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/state.php';
208 }
209
210 //add days and dates tab DEMO
211 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/days-dates.php';
212 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/styling.php';
213
214 //add behavior tab if activated
215 if (
216 'activate' == $widget_options['hide_title'] ||
217 'activate' == $widget_options['classes']
218 ) {
219 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/behavior.php';
220 }
221
222 //add settings tab if activated
223 if (
224 'activate' == $widget_options['hide_title'] ||
225 'activate' == $widget_options['classes'] ||
226 'activate' == $widget_options['logic']
227 ) {
228 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/settings.php';
229 }
230
231 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/animation.php';
232
233 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/upsell.php';
234
235 if ((isset($widget_options['import_export']) && 'activate' == $widget_options['import_export']) ||
236 (isset($widget_options['widget_area']) && 'activate' == $widget_options['widget_area'])
237 ) {
238 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/import-export.php';
239 }
240 // }
241
242 //admin notices
243 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/notices.php';
244 } //end is_admin condition
245
246 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/extras.php';
247 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/display.php';
248 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/ajax-functions.php';
249
250 //pagebuilders support
251 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/pagebuilders/siteorigin.php';
252 if (defined('ELEMENTOR_VERSION') && isset($widget_options['elementor']) && 'activate' == $widget_options['elementor']) {
253 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/pagebuilders/elementor/elementor.php';
254 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/pagebuilders/elementor/render.php';
255 }
256 if (class_exists('FLBuilderLoader') && isset($widget_options['beaver']) && 'activate' == $widget_options['beaver']) {
257 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/pagebuilders/beaver/beaver.php';
258 }
259
260 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/install.php';
261 }
262
263 /**
264 * Include required files.
265 *
266 * @access private
267 * @since 5.0.1
268 * @return void
269 */
270 private function setup_widget_block_editor()
271 {
272 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/gutenberg/gutenberg-toolbar.php';
273 }
274 }
275
276 endif; // End if class_exists check.
277
278
279 /**
280 * The main function for that returns WP_Widget_Options
281 *
282 * The main function responsible for returning the one true WP_Widget_Options
283 * Instance to functions everywhere.
284 *
285 * Use this function like you would a global variable, except without needing
286 * to declare the global.
287 *
288 * Example: <?php $widgetopts = WP_Widget_Options(); ?>
289 *
290 * @since 3.2
291 * @return object|WP_Widget_Options The one true WP_Widget_Options Instance.
292 */
293 if (!function_exists('WIDGETOPTS')) {
294 function WIDGETOPTS()
295 {
296 return WP_Widget_Options::instance();
297 }
298 // Get Plugin Running.
299 if (function_exists('is_multisite') && is_multisite()) {
300 //loads on plugins_loaded action to avoid issue on multisite
301 add_action('plugins_loaded', 'WIDGETOPTS', apply_filters('widgetopts_priority', 90));
302 } else {
303 WIDGETOPTS();
304 }
305 }
306