PluginProbe ʕ •ᴥ•ʔ
Advanced Custom Fields: Extended / 0.9.0.7
Advanced Custom Fields: Extended v0.9.0.7
0.9.2.6 0.9.2.5 0.8.6 0.8.6.1 0.8.6.3 0.8.6.5 0.8.6.6 0.8.6.7 0.8.6.8 0.8.6.9 0.8.7 0.8.7.1 0.8.7.2 0.8.7.3 0.8.7.4 0.8.7.5 0.8.7.6 0.8.8 0.8.8.1 0.8.8.10 0.8.8.11 0.8.8.2 0.8.8.3 0.8.8.4 0.8.8.5 0.8.8.6 0.8.8.7 0.8.8.8 0.8.8.9 0.8.9 0.8.9.1 0.8.9.2 0.8.9.3 0.8.9.4 0.8.9.5 0.9 0.9.0.1 0.9.0.2 0.9.0.3 0.9.0.4 0.9.0.5 0.9.0.6 0.9.0.7 0.9.0.8 0.9.0.9 0.9.1 0.9.1.1 0.9.2 0.9.2.1 0.9.2.2 0.9.2.3 0.9.2.4 trunk 0.5 0.5.1 0.5.2 0.5.2.1 0.5.2.3 0.5.5 0.5.5.1 0.5.8 0.5.8.1 0.6 0.6.0.1 0.6.0.2 0.6.1 0.6.3 0.6.5 0.6.7 0.6.7.2 0.7 0.7.0.3 0.7.5 0.7.5.5 0.7.8 0.7.9 0.7.9.3 0.7.9.4 0.7.9.9.8 0.7.9.9.9 0.8 0.8.1 0.8.2 0.8.3 0.8.3.1 0.8.4 0.8.4.1 0.8.4.5 0.8.4.6 0.8.5 0.8.5.5
acf-extended / acf-extended.php
acf-extended Last commit date
assets 1 year ago includes 1 year ago lang 1 year ago acf-extended.php 1 year ago readme.txt 1 year ago
acf-extended.php
478 lines
1 <?php
2 /**
3 * Plugin Name: Advanced Custom Fields: Extended
4 * Description: All-in-one enhancement suite that improves WordPress & Advanced Custom Fields.
5 * Version: 0.9.0.7
6 * Author: ACF Extended
7 * Plugin URI: https://www.acf-extended.com
8 * Author URI: https://www.acf-extended.com
9 * Text Domain: acfe
10 * Domain Path: /lang
11 */
12
13 if(!defined('ABSPATH')){
14 exit;
15 }
16
17 if(!class_exists('ACFE')):
18
19 class ACFE{
20
21 // vars
22 var $version = '0.9.0.7';
23
24 /**
25 * construct
26 */
27 function __construct(){
28 // ...
29 }
30
31
32 /**
33 * initialize
34 */
35 function initialize(){
36
37 // constants
38 $this->constants(array(
39 'ACFE' => true,
40 'ACFE_FILE' => __FILE__,
41 'ACFE_PATH' => plugin_dir_path(__FILE__),
42 'ACFE_VERSION' => $this->version,
43 'ACFE_BASENAME' => plugin_basename(__FILE__),
44 ));
45
46 // init
47 include_once(ACFE_PATH . 'includes/init.php');
48
49 // functions
50 acfe_include('includes/acfe-deprecated-functions.php');
51 acfe_include('includes/acfe-field-functions.php');
52 acfe_include('includes/acfe-field-group-functions.php');
53 acfe_include('includes/acfe-file-functions.php');
54 acfe_include('includes/acfe-form-functions.php');
55 acfe_include('includes/acfe-helper-functions.php');
56 acfe_include('includes/acfe-meta-functions.php');
57 acfe_include('includes/acfe-post-functions.php');
58 acfe_include('includes/acfe-screen-functions.php');
59 acfe_include('includes/acfe-template-functions.php');
60 acfe_include('includes/acfe-term-functions.php');
61 acfe_include('includes/acfe-user-functions.php');
62 acfe_include('includes/acfe-wp-functions.php');
63
64 // compatibility
65 acfe_include('includes/compatibility.php');
66 acfe_include('includes/third-party.php');
67
68 // load
69 add_action('acf/include_field_types', array($this, 'load'));
70
71 }
72
73
74 /**
75 * load
76 *
77 * acf/include_field_types
78 */
79 function load(){
80
81 // bail early
82 if(!acfe_has_acf()){
83 return;
84 }
85
86 // vars
87 $theme_path = acf_get_setting('acfe/theme_path', get_stylesheet_directory());
88 $theme_url = acf_get_setting('acfe/theme_url', get_stylesheet_directory_uri());
89
90 // settings
91 $this->settings(array(
92
93 // general
94 'url' => plugin_dir_url(__FILE__),
95 'theme_path' => $theme_path,
96 'theme_url' => $theme_url,
97 'theme_folder' => parse_url($theme_url, PHP_URL_PATH),
98 'reserved_post_types' => array('acf-field', 'acf-field-group'),
99 'reserved_taxonomies' => array('acf-field-group-category'),
100 'reserved_field_groups' => array(),
101
102 // php
103 'php' => true,
104 'php_save' => "{$theme_path}/acfe-php",
105 'php_load' => array("{$theme_path}/acfe-php"),
106 'php_found' => false,
107
108 // json
109 'json' => acf_get_setting('json'),
110 'json_save' => acf_get_setting('save_json'),
111 'json_load' => acf_get_setting('load_json'),
112 'json_found' => false,
113
114 // modules
115 'dev' => false,
116 'modules/author' => true,
117 'modules/categories' => true,
118 'modules/block_types' => true,
119 'modules/forms' => true,
120 'modules/forms/top_level' => false,
121 'modules/options_pages' => true,
122 'modules/post_types' => true,
123 'modules/taxonomies' => true,
124 'modules/multilang' => true,
125 'modules/options' => true,
126 'modules/performance' => false,
127 'modules/ui' => true,
128
129 // fields
130 'field/recaptcha/site_key' => '',
131 'field/recaptcha/secret_key' => '',
132 'field/recaptcha/version' => '',
133 'field/recaptcha/v2/theme' => '',
134 'field/recaptcha/v2/size' => '',
135 'field/recaptcha/v3/hide_logo' => '',
136
137 ));
138
139 // load textdomain
140 acfe_load_textdomain();
141
142 // includes
143 add_action('acf/init', array($this, 'init'), 99);
144 add_action('acf/include_fields', array($this, 'include_fields'), 5);
145 add_action('acf/include_field_types', array($this, 'include_field_types'), 99);
146 add_action('acf/include_admin_tools', array($this, 'include_admin_tools'));
147 add_action('acf/include_admin_tools', array($this, 'include_admin_tools_late'), 20);
148
149 // compatibility
150 acfe_include('includes/compatibility-6.0.php');
151
152 // admin
153 acfe_include('includes/admin/menu.php');
154 acfe_include('includes/admin/plugins.php');
155 acfe_include('includes/admin/settings.php');
156
157 // core
158 acfe_include('includes/field.php');
159 acfe_include('includes/field-extend.php');
160 acfe_include('includes/local-meta.php');
161 acfe_include('includes/multilang.php');
162 acfe_include('includes/settings.php');
163 acfe_include('includes/template-tags.php');
164 acfe_include('includes/upgrades.php');
165
166 // module
167 acfe_include('includes/module.php');
168 acfe_include('includes/module-acf.php');
169 acfe_include('includes/module-db.php');
170 acfe_include('includes/module-l10n.php');
171 acfe_include('includes/module-manager.php');
172 acfe_include('includes/module-post.php');
173 acfe_include('includes/module-posts.php');
174 acfe_include('includes/module-upgrades.php');
175
176 // block type
177 acfe_include('includes/modules/block-type/module-block-type.php');
178 acfe_include('includes/modules/block-type/module-block-type-fields.php');
179 acfe_include('includes/modules/block-type/module-block-type-upgrades.php');
180
181 // form
182 acfe_include('includes/modules/form/module-form.php');
183 acfe_include('includes/modules/form/module-form-action.php');
184 acfe_include('includes/modules/form/module-form-action-custom.php');
185 acfe_include('includes/modules/form/module-form-action-email.php');
186 acfe_include('includes/modules/form/module-form-action-post.php');
187 acfe_include('includes/modules/form/module-form-action-redirect.php');
188 acfe_include('includes/modules/form/module-form-action-term.php');
189 acfe_include('includes/modules/form/module-form-action-user.php');
190 acfe_include('includes/modules/form/module-form-compatibility.php');
191 acfe_include('includes/modules/form/module-form-deprecated.php');
192 acfe_include('includes/modules/form/module-form-fields.php');
193 acfe_include('includes/modules/form/module-form-format.php');
194 acfe_include('includes/modules/form/module-form-front.php');
195 acfe_include('includes/modules/form/module-form-front-hooks.php');
196 acfe_include('includes/modules/form/module-form-front-render.php');
197 acfe_include('includes/modules/form/module-form-shortcode.php');
198 acfe_include('includes/modules/form/module-form-upgrades.php');
199
200 // performance
201 acfe_include('includes/modules/performance/module-performance.php');
202 acfe_include('includes/modules/performance/module-performance-connector.php');
203 acfe_include('includes/modules/performance/module-performance-functions.php');
204 acfe_include('includes/modules/performance/module-performance-ui.php');
205 acfe_include('includes/modules/performance/module-performance-upgrades.php');
206
207 // post type
208 acfe_include('includes/modules/post-type/module-post-type.php');
209 acfe_include('includes/modules/post-type/module-post-type-fields.php');
210 acfe_include('includes/modules/post-type/module-post-type-features.php');
211 acfe_include('includes/modules/post-type/module-post-type-upgrades.php');
212
213 // taxonomy
214 acfe_include('includes/modules/taxonomy/module-taxonomy.php');
215 acfe_include('includes/modules/taxonomy/module-taxonomy-fields.php');
216 acfe_include('includes/modules/taxonomy/module-taxonomy-features.php');
217 acfe_include('includes/modules/taxonomy/module-taxonomy-upgrades.php');
218
219 // options page
220 acfe_include('includes/modules/options-page/module-options-page.php');
221 acfe_include('includes/modules/options-page/module-options-page-fields.php');
222 acfe_include('includes/modules/options-page/module-options-page-features.php');
223 acfe_include('includes/modules/options-page/module-options-page-upgrades.php');
224
225 // screens
226 acfe_include('includes/screens/screen-attachment.php');
227 acfe_include('includes/screens/screen-options-page.php');
228 acfe_include('includes/screens/screen-post.php');
229 acfe_include('includes/screens/screen-settings.php');
230 acfe_include('includes/screens/screen-taxonomy.php');
231 acfe_include('includes/screens/screen-user.php');
232
233 }
234
235
236 /**
237 * init
238 *
239 * acf/init:99
240 */
241 function init(){
242
243 // action
244 do_action('acfe/init');
245
246 // core
247 acfe_include('includes/assets.php');
248 acfe_include('includes/hooks.php');
249
250 // fields
251 acfe_include('includes/fields/field-checkbox.php');
252 acfe_include('includes/fields/field-clone.php');
253 acfe_include('includes/fields/field-file.php');
254 acfe_include('includes/fields/field-flexible-content.php');
255 acfe_include('includes/fields/field-group.php');
256 acfe_include('includes/fields/field-image.php');
257 acfe_include('includes/fields/field-post-object.php');
258 acfe_include('includes/fields/field-repeater.php');
259 acfe_include('includes/fields/field-select.php');
260 acfe_include('includes/fields/field-textarea.php');
261 acfe_include('includes/fields/field-taxonomy.php');
262 acfe_include('includes/fields/field-wysiwyg.php');
263
264 // fields settings
265 acfe_include('includes/fields-settings/bidirectional.php');
266 acfe_include('includes/fields-settings/data.php');
267 acfe_include('includes/fields-settings/instructions.php');
268 acfe_include('includes/fields-settings/permissions.php');
269 acfe_include('includes/fields-settings/settings.php');
270 acfe_include('includes/fields-settings/validation.php');
271
272 // field groups
273 acfe_include('includes/field-groups/field-group.php');
274 acfe_include('includes/field-groups/field-group-advanced.php');
275 acfe_include('includes/field-groups/field-group-category.php');
276 acfe_include('includes/field-groups/field-group-display-title.php');
277 acfe_include('includes/field-groups/field-group-hide-on-screen.php');
278 acfe_include('includes/field-groups/field-group-instruction-placement.php');
279 acfe_include('includes/field-groups/field-group-meta.php');
280 acfe_include('includes/field-groups/field-group-permissions.php');
281 acfe_include('includes/field-groups/field-groups.php');
282 acfe_include('includes/field-groups/field-groups-local.php');
283 acfe_include('includes/field-groups/field-types.php');
284
285 // locations
286 acfe_include('includes/locations/post-type-all.php');
287 acfe_include('includes/locations/post-type-archive.php');
288 acfe_include('includes/locations/post-type-list.php');
289 acfe_include('includes/locations/taxonomy-list.php');
290
291 // modules
292 acfe_include('includes/modules/author.php');
293 acfe_include('includes/modules/dev/module-dev.php');
294 acfe_include('includes/modules/dev/module-dev-delete-meta.php');
295 acfe_include('includes/modules/option/module-option.php');
296 acfe_include('includes/modules/ui/module-ui.php');
297 acfe_include('includes/modules/ui/module-ui-attachment.php');
298 acfe_include('includes/modules/ui/module-ui-settings.php');
299 acfe_include('includes/modules/ui/module-ui-term.php');
300 acfe_include('includes/modules/ui/module-ui-user.php');
301
302 // performance
303 acfe_include('includes/modules/performance/module-performance-ultra.php');
304 acfe_include('includes/modules/performance/module-performance-ultra-fields.php');
305 acfe_include('includes/modules/performance/module-performance-ultra-revisions.php');
306
307 }
308
309
310 /**
311 * include_fields
312 *
313 * acf/include_fields:5
314 */
315 function include_fields(){
316
317 // autosync
318 acfe_include('includes/modules/autosync-php.php');
319 acfe_include('includes/modules/autosync-json.php');
320
321 }
322
323
324 /**
325 * include_field_types
326 *
327 * acf/include_field_types:99
328 */
329 function include_field_types(){
330
331 acfe_include('includes/fields/field-advanced-link.php');
332 acfe_include('includes/fields/field-button.php');
333 acfe_include('includes/fields/field-code-editor.php');
334 acfe_include('includes/fields/field-column.php');
335 acfe_include('includes/fields/field-dynamic-render.php');
336 acfe_include('includes/fields/field-forms.php');
337 acfe_include('includes/fields/field-hidden.php');
338 acfe_include('includes/fields/field-post-statuses.php');
339 acfe_include('includes/fields/field-post-types.php');
340 acfe_include('includes/fields/field-recaptcha.php');
341 acfe_include('includes/fields/field-slug.php');
342 acfe_include('includes/fields/field-taxonomies.php');
343 acfe_include('includes/fields/field-taxonomy-terms.php');
344 acfe_include('includes/fields/field-user-roles.php');
345
346 }
347
348
349 /**
350 * include_admin_tools
351 *
352 * acf/include_admin_tools
353 */
354 function include_admin_tools(){
355
356 // modules
357 acfe_include('includes/admin/tools/module-export.php');
358 acfe_include('includes/admin/tools/module-import.php');
359
360 }
361
362
363 /**
364 * include_admin_tools_late
365 *
366 * acf/include_admin_tools:99
367 */
368 function include_admin_tools_late(){
369
370 // field groups
371 acfe_include('includes/admin/tools/field-groups-local.php');
372 acfe_include('includes/admin/tools/field-groups-export.php');
373
374 }
375
376
377 /**
378 * constants
379 *
380 * @param $array
381 */
382 function constants($array = array()){
383
384 foreach($array as $name => $value){
385 if(!defined($name)){
386 define($name, $value);
387 }
388 }
389
390 }
391
392
393 /**
394 * settings
395 *
396 * @param $array
397 */
398 function settings($array = array()){
399
400 foreach($array as $name => $value){
401
402 // acf_update_setting
403 acf_update_setting("acfe/{$name}", $value);
404
405 // acf_get_setting
406 add_filter("acf/settings/acfe/{$name}", function($value) use($name){
407 return apply_filters("acfe/settings/{$name}", $value);
408 }, 5);
409
410 }
411
412 }
413
414 }
415
416
417 /**
418 * acfe
419 *
420 * @return ACFE
421 */
422 function acfe(){
423
424 global $acfe;
425
426 if(!isset($acfe)){
427
428 $acfe = new ACFE();
429 $acfe->initialize();
430
431 }
432
433 return $acfe;
434
435 }
436
437 acfe();
438
439 else:
440
441 add_action('after_plugin_row_' . plugin_basename(__FILE__), function($plugin_file, $plugin_data, $status){
442
443 // vars
444 $colspan = version_compare($GLOBALS['wp_version'], '5.5', '<') ? 3 : 4;
445 $pro = defined('ACFE_PRO') && ACFE_PRO;
446
447 // message
448 $message = __('An another version of ACF Extended has been detected. Please activate only one version.', 'acfe');
449 if($pro){
450 $message = __('ACF Extended Pro has been detected. Please activate only one version.', 'acfe');
451 }
452
453 // class
454 $class = 'acfe-plugin-tr';
455 if(isset($plugin_data['update']) && !empty($plugin_data['update'])){
456 $class .= ' acfe-plugin-tr-update';
457 }
458
459 ?>
460 <style>
461 .plugins tr[data-plugin='<?php echo $plugin_file; ?>'] th,
462 .plugins tr[data-plugin='<?php echo $plugin_file; ?>'] td{
463 box-shadow:none;
464 }
465 </style>
466
467 <tr class="plugin-update-tr active <?php echo $class; ?>">
468 <td colspan="<?php echo $colspan; ?>" class="plugin-update colspanchange">
469 <div class="update-message notice inline notice-error notice-alt">
470 <p><?php echo $message; ?></p>
471 </div>
472 </td>
473 </tr>
474 <?php
475
476 }, 5, 3);
477
478 endif;