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