PluginProbe ʕ •ᴥ•ʔ
Widget Options – Advanced Conditional Visibility for Gutenberg Blocks & Classic Widgets / 3.8.1
Widget Options – Advanced Conditional Visibility for Gutenberg Blocks & Classic Widgets v3.8.1
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 9 years ago templates 9 years ago LICENSE 10 years ago plugin.php 4 years ago readme.md 4 years ago readme.txt 4 years ago screenshot-1.png 10 years ago screenshot-10.png 7 years ago screenshot-2.png 10 years ago screenshot-3.png 10 years ago screenshot-4.png 10 years ago screenshot-5.png 10 years ago screenshot-6.png 9 years ago screenshot-7.png 8 years ago screenshot-8.png 8 years ago screenshot-9.png 8 years ago
plugin.php
274 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.8
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', '3.8' );
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 days and dates tab DEMO
202 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/days-dates.php';
203 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/styling.php';
204
205 //add settings tab if activated
206 if( 'activate' == $widget_options['hide_title'] ||
207 'activate' == $widget_options['classes'] ||
208 'activate' == $widget_options['logic'] ){
209 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/settings.php';
210 }
211
212 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/option-tabs/upsell.php';
213
214 if( ( isset( $widget_options['import_export'] ) && 'activate' == $widget_options['import_export'] ) ||
215 ( isset( $widget_options['widget_area'] ) && 'activate' == $widget_options['widget_area'] )
216 ){
217 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/import-export.php';
218 }
219 // }
220
221 //admin notices
222 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/admin/notices.php';
223
224 } //end is_admin condition
225
226 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/extras.php';
227 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/widgets/display.php';
228 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/ajax-functions.php';
229
230 //pagebuilders support
231 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/pagebuilders/siteorigin.php';
232 if( defined( 'ELEMENTOR_VERSION' ) && isset( $widget_options['elementor'] ) && 'activate' == $widget_options['elementor'] ){
233 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/pagebuilders/elementor/elementor.php';
234 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/pagebuilders/elementor/render.php';
235 }
236 if( class_exists( 'FLBuilderLoader' ) && isset( $widget_options['beaver'] ) && 'activate' == $widget_options['beaver'] ){
237 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/pagebuilders/beaver/beaver.php';
238 }
239
240 require_once WIDGETOPTS_PLUGIN_DIR . 'includes/install.php';
241 }
242
243 }
244
245 endif; // End if class_exists check.
246
247
248 /**
249 * The main function for that returns WP_Widget_Options
250 *
251 * The main function responsible for returning the one true WP_Widget_Options
252 * Instance to functions everywhere.
253 *
254 * Use this function like you would a global variable, except without needing
255 * to declare the global.
256 *
257 * Example: <?php $widgetopts = WP_Widget_Options(); ?>
258 *
259 * @since 3.2
260 * @return object|WP_Widget_Options The one true WP_Widget_Options Instance.
261 */
262 if( !function_exists( 'WIDGETOPTS' ) ){
263 function WIDGETOPTS() {
264 return WP_Widget_Options::instance();
265 }
266 // Get Plugin Running.
267 if( function_exists( 'is_multisite' ) && is_multisite() ){
268 //loads on plugins_loaded action to avoid issue on multisite
269 add_action( 'plugins_loaded', 'WIDGETOPTS', apply_filters( 'widgetopts_priority', 90 ) );
270 }else{
271 WIDGETOPTS();
272 }
273 }
274