PluginProbe ʕ •ᴥ•ʔ
Widget Options – Advanced Conditional Visibility for Gutenberg Blocks & Classic Widgets / 4.0.9
Widget Options – Advanced Conditional Visibility for Gutenberg Blocks & Classic Widgets v4.0.9
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
310 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.9
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.9');
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 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/settings/modules/custom-sidebar.php';
189 }
190
191 // if( in_array( $pagenow, array( 'widgets.php' ) ) ){
192 //widget callbacks
193 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/widgets.php';
194
195 //add visibility tab if activated
196 if ($widget_options['visibility'] == 'activate') {
197 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/visibility.php';
198 }
199 //add devices tab if activated
200 if ($widget_options['devices'] == 'activate') {
201 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/devices.php';
202 }
203
204 //add alignment tab if activated
205 if ($widget_options['alignment'] == 'activate') {
206 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/alignment.php';
207 }
208
209 //add alignment tab if activated
210 if (isset($widget_options['state']) && $widget_options['state'] == 'activate') {
211 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/state.php';
212 }
213
214 //add days and dates tab DEMO
215 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/days-dates.php';
216 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/styling.php';
217
218 //add behavior tab if activated
219 if (
220 'activate' == $widget_options['hide_title'] ||
221 'activate' == $widget_options['classes']
222 ) {
223 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/behavior.php';
224 }
225
226 //add settings tab if activated
227 if (
228 'activate' == $widget_options['hide_title'] ||
229 'activate' == $widget_options['classes'] ||
230 'activate' == $widget_options['logic']
231 ) {
232 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/settings.php';
233 }
234
235 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/animation.php';
236
237 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/upsell.php';
238
239 if ((isset($widget_options['import_export']) && 'activate' == $widget_options['import_export']) ||
240 (isset($widget_options['widget_area']) && 'activate' == $widget_options['widget_area'])
241 ) {
242 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/import-export.php';
243 }
244 // }
245
246 //admin notices
247 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/notices.php';
248 } //end is_admin condition
249
250 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/extras.php';
251 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/display.php';
252 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/ajax-functions.php';
253
254 //pagebuilders support
255 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/pagebuilders/siteorigin.php';
256 if (defined('ELEMENTOR_VERSION') && isset($widget_options['elementor']) && 'activate' == $widget_options['elementor']) {
257 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/pagebuilders/elementor/elementor.php';
258 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/pagebuilders/elementor/render.php';
259 }
260 if (class_exists('FLBuilderLoader') && isset($widget_options['beaver']) && 'activate' == $widget_options['beaver']) {
261 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/pagebuilders/beaver/beaver.php';
262 }
263
264 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/install.php';
265 }
266
267 /**
268 * Include required files.
269 *
270 * @access private
271 * @since 5.0.1
272 * @return void
273 */
274 private function setup_widget_block_editor()
275 {
276 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/gutenberg/gutenberg-toolbar.php';
277 }
278 }
279
280 endif; // End if class_exists check.
281
282
283 /**
284 * The main function for that returns WP_Widget_Options
285 *
286 * The main function responsible for returning the one true WP_Widget_Options
287 * Instance to functions everywhere.
288 *
289 * Use this function like you would a global variable, except without needing
290 * to declare the global.
291 *
292 * Example: <?php $widgetopts = WP_Widget_Options(); ?>
293 *
294 * @since 3.2
295 * @return object|WP_Widget_Options The one true WP_Widget_Options Instance.
296 */
297 if (!function_exists('WIDGETOPTS')) {
298 function WIDGETOPTS()
299 {
300 return WP_Widget_Options::instance();
301 }
302 // Get Plugin Running.
303 if (function_exists('is_multisite') && is_multisite()) {
304 //loads on plugins_loaded action to avoid issue on multisite
305 add_action('plugins_loaded', 'WIDGETOPTS', apply_filters('widgetopts_priority', 90));
306 } else {
307 WIDGETOPTS();
308 }
309 }
310