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