PluginProbe ʕ •ᴥ•ʔ
Widget Options – Advanced Conditional Visibility for Gutenberg Blocks & Classic Widgets / 4.0.7
Widget Options – Advanced Conditional Visibility for Gutenberg Blocks & Classic Widgets v4.0.7
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 1 year ago includes 1 year ago languages 9 years ago templates 9 years ago LICENSE 2 years ago plugin.php 1 year ago readme.md 2 years ago readme.txt 1 year 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
309 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.7
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.7');
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, $widgetopts_http_headers, $widgetopts_user_agent;
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 $widgetopts_http_headers = widgetopts_set_http_headers();
135 $widgetopts_user_agent = widgetopts_get_user_agent();
136
137 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/scripts.php';
138
139 //call admin only resources
140 if (is_admin()) {
141
142 //other global variables to prevent duplicate and faster calls
143 $widgetopts_pages = widgetopts_global_pages();
144
145 //admin settings
146 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/globals.php';
147 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/welcome.php';
148 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/display-settings.php';
149 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/transient.php';
150
151 if (in_array($pagenow, array('options-general.php'))) {
152 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/classic-widgets-screen.php';
153 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/visibility.php';
154 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/devices.php';
155 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/alignment.php';
156 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/title.php';
157 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/classes.php';
158 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/logic.php';
159 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/links.php';
160 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/fixed.php';
161 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/columns.php';
162 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/roles.php';
163 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/dates.php';
164 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/styling.php';
165 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/animation.php';
166 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/taxonomies.php';
167 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/disable_widgets.php';
168 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/permission.php';
169 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/shortcodes.php';
170 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/cache.php';
171 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/siteorigin.php';
172 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/sidebar-upsell_pro.php';
173 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/sidebar-opt_in.php';
174 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/sidebar-more_plugins.php';
175 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/sidebar-support_box.php';
176 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/search.php';
177 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/sliding.php';
178 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/move.php';
179 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/clone.php';
180 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/elementor.php';
181 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/import-export.php';
182 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/widget-area.php';
183 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/urls.php';
184 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/beaver_builder.php';
185 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/acf.php';
186 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/state.php';
187 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/page-and-post-block.php';
188 }
189
190 // if( in_array( $pagenow, array( 'widgets.php' ) ) ){
191 //widget callbacks
192 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/widgets.php';
193
194 //add visibility tab if activated
195 if ($widget_options['visibility'] == 'activate') {
196 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/visibility.php';
197 }
198 //add devices tab if activated
199 if ($widget_options['devices'] == 'activate') {
200 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/devices.php';
201 }
202
203 //add alignment tab if activated
204 if ($widget_options['alignment'] == 'activate') {
205 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/alignment.php';
206 }
207
208 //add alignment tab if activated
209 if (isset($widget_options['state']) && $widget_options['state'] == 'activate') {
210 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/state.php';
211 }
212
213 //add days and dates tab DEMO
214 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/days-dates.php';
215 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/styling.php';
216
217 //add behavior tab if activated
218 if (
219 'activate' == $widget_options['hide_title'] ||
220 'activate' == $widget_options['classes']
221 ) {
222 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/behavior.php';
223 }
224
225 //add settings tab if activated
226 if (
227 'activate' == $widget_options['hide_title'] ||
228 'activate' == $widget_options['classes'] ||
229 'activate' == $widget_options['logic']
230 ) {
231 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/settings.php';
232 }
233
234 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/animation.php';
235
236 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/upsell.php';
237
238 if ((isset($widget_options['import_export']) && 'activate' == $widget_options['import_export']) ||
239 (isset($widget_options['widget_area']) && 'activate' == $widget_options['widget_area'])
240 ) {
241 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/import-export.php';
242 }
243 // }
244
245 //admin notices
246 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/notices.php';
247 } //end is_admin condition
248
249 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/extras.php';
250 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/display.php';
251 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/ajax-functions.php';
252
253 //pagebuilders support
254 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/pagebuilders/siteorigin.php';
255 if (defined('ELEMENTOR_VERSION') && isset($widget_options['elementor']) && 'activate' == $widget_options['elementor']) {
256 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/pagebuilders/elementor/elementor.php';
257 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/pagebuilders/elementor/render.php';
258 }
259 if (class_exists('FLBuilderLoader') && isset($widget_options['beaver']) && 'activate' == $widget_options['beaver']) {
260 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/pagebuilders/beaver/beaver.php';
261 }
262
263 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/install.php';
264 }
265
266 /**
267 * Include required files.
268 *
269 * @access private
270 * @since 5.0.1
271 * @return void
272 */
273 private function setup_widget_block_editor()
274 {
275 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/gutenberg/gutenberg-toolbar.php';
276 }
277 }
278
279 endif; // End if class_exists check.
280
281
282 /**
283 * The main function for that returns WP_Widget_Options
284 *
285 * The main function responsible for returning the one true WP_Widget_Options
286 * Instance to functions everywhere.
287 *
288 * Use this function like you would a global variable, except without needing
289 * to declare the global.
290 *
291 * Example: <?php $widgetopts = WP_Widget_Options(); ?>
292 *
293 * @since 3.2
294 * @return object|WP_Widget_Options The one true WP_Widget_Options Instance.
295 */
296 if (!function_exists('WIDGETOPTS')) {
297 function WIDGETOPTS()
298 {
299 return WP_Widget_Options::instance();
300 }
301 // Get Plugin Running.
302 if (function_exists('is_multisite') && is_multisite()) {
303 //loads on plugins_loaded action to avoid issue on multisite
304 add_action('plugins_loaded', 'WIDGETOPTS', apply_filters('widgetopts_priority', 90));
305 } else {
306 WIDGETOPTS();
307 }
308 }
309