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