PluginProbe ʕ •ᴥ•ʔ
Advanced Custom Fields: Extended / 0.9.2.7
Advanced Custom Fields: Extended v0.9.2.7
0.9.2.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 3 months ago includes 1 week ago lang 3 months ago acf-extended.php 1 week ago readme.txt 1 week ago
acf-extended.php
512 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.2.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.2.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-helper-array-functions.php');
57 acfe_include('includes/acfe-helper-multi-functions.php');
58 acfe_include('includes/acfe-helper-string-functions.php');
59 acfe_include('includes/acfe-meta-functions.php');
60 acfe_include('includes/acfe-post-functions.php');
61 acfe_include('includes/acfe-screen-functions.php');
62 acfe_include('includes/acfe-template-functions.php');
63 acfe_include('includes/acfe-term-functions.php');
64 acfe_include('includes/acfe-user-functions.php');
65 acfe_include('includes/acfe-wp-functions.php');
66
67 // compatibility
68 acfe_include('includes/compatibility.php');
69 acfe_include('includes/third-party.php');
70
71 // load
72 add_action('acf/include_field_types', array($this, 'load'));
73
74 }
75
76
77 /**
78 * load
79 *
80 * acf/include_field_types
81 */
82 function load(){
83
84 // bail early
85 if(!acfe_is_acf()){
86 return;
87 }
88
89 // vars
90 $theme_path = acf_get_setting('acfe/theme_path', get_stylesheet_directory());
91 $theme_url = acf_get_setting('acfe/theme_url', get_stylesheet_directory_uri());
92
93 // settings
94 $this->settings(array(
95
96 // general
97 'url' => plugin_dir_url(__FILE__),
98 'theme_path' => $theme_path,
99 'theme_url' => $theme_url,
100 'theme_folder' => parse_url($theme_url, PHP_URL_PATH),
101 'reserved_post_types' => array('acf-field', 'acf-field-group'),
102 'reserved_taxonomies' => array('acf-field-group-category'),
103 'reserved_field_groups' => array(),
104
105 // php
106 'php' => true,
107 'php_save' => "{$theme_path}/acfe-php",
108 'php_load' => array("{$theme_path}/acfe-php"),
109 'php_found' => false,
110
111 // json
112 'json' => acf_get_setting('json'),
113 'json_save' => acf_get_setting('save_json'),
114 'json_load' => acf_get_setting('load_json'),
115 'json_found' => false,
116
117 // modules
118 'dev' => false,
119 'modules/author' => true,
120 'modules/categories' => true,
121 'modules/block_types' => true,
122 'modules/forms' => true,
123 'modules/forms/top_level' => false,
124 'modules/options_pages' => true,
125 'modules/post_types' => true,
126 'modules/taxonomies' => true,
127 'modules/multilang' => true,
128 'modules/options' => true,
129 'modules/performance' => false,
130 'modules/ui' => true,
131 'modules/attachment_ui' => true,
132 'modules/settings_ui' => true,
133 'modules/term_ui' => true,
134 'modules/user_ui' => true,
135 'modules/wp7_ui' => true,
136
137 // fields
138 'field/recaptcha/site_key' => '',
139 'field/recaptcha/secret_key' => '',
140 'field/recaptcha/version' => '',
141 'field/recaptcha/v2/theme' => '',
142 'field/recaptcha/v2/size' => '',
143 'field/recaptcha/v3/hide_logo' => '',
144 'compatibility/legacy_title_toggle' => false,
145 'compatibility/legacy_field_group' => false,
146
147 ));
148
149 // load textdomain
150 acfe_load_textdomain();
151
152 // includes
153 add_action('acf/init', array($this, 'init'), 99);
154 add_action('acf/include_fields', array($this, 'include_fields'), 5);
155 add_action('acf/include_field_types', array($this, 'include_field_types'), 99);
156 add_action('acf/include_admin_tools', array($this, 'include_admin_tools'));
157 add_action('acf/include_admin_tools', array($this, 'include_admin_tools_late'), 20);
158
159 // compatibility
160 acfe_include('includes/compatibility-acf-5.8.php');
161 acfe_include('includes/compatibility-acf-5.9.php');
162 acfe_include('includes/compatibility-acf-6.5.php');
163 acfe_include('includes/compatibility-acf-6.8.6.php');
164
165 // admin
166 acfe_include('includes/admin/admin.php');
167 acfe_include('includes/admin/menu.php');
168 acfe_include('includes/admin/plugins.php');
169 acfe_include('includes/admin/settings.php');
170
171 // core
172 acfe_include('includes/field.php');
173 acfe_include('includes/field-extend.php');
174 acfe_include('includes/local-meta.php');
175 acfe_include('includes/multilang.php');
176 acfe_include('includes/revisions.php');
177 acfe_include('includes/settings.php');
178 acfe_include('includes/template-tags.php');
179 acfe_include('includes/upgrades.php');
180
181 // module
182 acfe_include('includes/module.php');
183 acfe_include('includes/module-acf.php');
184 acfe_include('includes/module-db.php');
185 acfe_include('includes/module-l10n.php');
186 acfe_include('includes/module-manager.php');
187 acfe_include('includes/module-post.php');
188 acfe_include('includes/module-posts.php');
189 acfe_include('includes/module-upgrades.php');
190
191 // block type
192 acfe_include('includes/modules/block-type/module-block-type.php');
193 acfe_include('includes/modules/block-type/module-block-type-fields.php');
194 acfe_include('includes/modules/block-type/module-block-type-upgrades.php');
195
196 // form
197 acfe_include('includes/modules/form/module-form.php');
198 acfe_include('includes/modules/form/module-form-action.php');
199 acfe_include('includes/modules/form/module-form-action-custom.php');
200 acfe_include('includes/modules/form/module-form-action-email.php');
201 acfe_include('includes/modules/form/module-form-action-post.php');
202 acfe_include('includes/modules/form/module-form-action-redirect.php');
203 acfe_include('includes/modules/form/module-form-action-term.php');
204 acfe_include('includes/modules/form/module-form-action-user.php');
205 acfe_include('includes/modules/form/module-form-compatibility.php');
206 acfe_include('includes/modules/form/module-form-deprecated.php');
207 acfe_include('includes/modules/form/module-form-fields.php');
208 acfe_include('includes/modules/form/module-form-front.php');
209 acfe_include('includes/modules/form/module-form-front-hooks.php');
210 acfe_include('includes/modules/form/module-form-front-render.php');
211 acfe_include('includes/modules/form/module-form-shortcode.php');
212 acfe_include('includes/modules/form/module-form-upgrades.php');
213
214 // performance
215 acfe_include('includes/modules/performance/module-performance.php');
216 acfe_include('includes/modules/performance/module-performance-connector.php');
217 acfe_include('includes/modules/performance/module-performance-functions.php');
218 acfe_include('includes/modules/performance/module-performance-ui.php');
219 acfe_include('includes/modules/performance/module-performance-upgrades.php');
220
221 // options page
222 acfe_include('includes/modules/options-page/module-options-page.php');
223 acfe_include('includes/modules/options-page/module-options-page-fields.php');
224 acfe_include('includes/modules/options-page/module-options-page-features.php');
225 acfe_include('includes/modules/options-page/module-options-page-upgrades.php');
226
227 // post type
228 acfe_include('includes/modules/post-type/module-post-type.php');
229 acfe_include('includes/modules/post-type/module-post-type-fields.php');
230 acfe_include('includes/modules/post-type/module-post-type-features.php');
231 acfe_include('includes/modules/post-type/module-post-type-upgrades.php');
232
233 // taxonomy
234 acfe_include('includes/modules/taxonomy/module-taxonomy.php');
235 acfe_include('includes/modules/taxonomy/module-taxonomy-fields.php');
236 acfe_include('includes/modules/taxonomy/module-taxonomy-features.php');
237 acfe_include('includes/modules/taxonomy/module-taxonomy-upgrades.php');
238
239 // screens
240 acfe_include('includes/screens/screen-attachment.php');
241 acfe_include('includes/screens/screen-options-page.php');
242 acfe_include('includes/screens/screen-post.php');
243 acfe_include('includes/screens/screen-settings.php');
244 acfe_include('includes/screens/screen-taxonomy.php');
245 acfe_include('includes/screens/screen-user.php');
246
247 }
248
249
250 /**
251 * init
252 *
253 * acf/init:99
254 */
255 function init(){
256
257 // action:init
258 do_action('acfe/init');
259
260 // core
261 acfe_include('includes/assets.php');
262 acfe_include('includes/hooks.php');
263 acfe_include('includes/media.php');
264 acfe_include('includes/screen.php');
265
266 // fields
267 acfe_include('includes/fields/field-button-group.php');
268 acfe_include('includes/fields/field-checkbox.php');
269 acfe_include('includes/fields/field-clone.php');
270 acfe_include('includes/fields/field-file.php');
271 acfe_include('includes/fields/field-flexible-content.php');
272 acfe_include('includes/fields/field-gallery.php');
273 acfe_include('includes/fields/field-google-map.php');
274 acfe_include('includes/fields/field-group.php');
275 acfe_include('includes/fields/field-image.php');
276 acfe_include('includes/fields/field-relationship.php');
277 acfe_include('includes/fields/field-post-object.php');
278 acfe_include('includes/fields/field-radio.php');
279 acfe_include('includes/fields/field-repeater.php');
280 acfe_include('includes/fields/field-select.php');
281 acfe_include('includes/fields/field-textarea.php');
282 acfe_include('includes/fields/field-taxonomy.php');
283 acfe_include('includes/fields/field-user.php');
284 acfe_include('includes/fields/field-wysiwyg.php');
285
286 // fields settings
287 acfe_include('includes/fields-settings/bidirectional.php');
288 acfe_include('includes/fields-settings/choices-label.php');
289 acfe_include('includes/fields-settings/data.php');
290 acfe_include('includes/fields-settings/instructions.php');
291 acfe_include('includes/fields-settings/permissions.php');
292 acfe_include('includes/fields-settings/settings.php');
293 acfe_include('includes/fields-settings/validation.php');
294
295 // field groups
296 acfe_include('includes/field-groups/field-group.php');
297 acfe_include('includes/field-groups/field-group-advanced.php');
298 acfe_include('includes/field-groups/field-group-autosync.php');
299 acfe_include('includes/field-groups/field-group-category.php');
300 acfe_include('includes/field-groups/field-group-display-title.php');
301 acfe_include('includes/field-groups/field-group-extra.php');
302 acfe_include('includes/field-groups/field-group-hide-on-screen.php');
303 acfe_include('includes/field-groups/field-group-instruction-placement.php');
304 acfe_include('includes/field-groups/field-group-permissions.php');
305 acfe_include('includes/field-groups/field-groups.php');
306 acfe_include('includes/field-groups/field-groups-local.php');
307 acfe_include('includes/field-groups/field-types.php');
308
309 // forms
310 acfe_include('includes/forms/form-post.php');
311 acfe_include('includes/forms/form-post-type-archive.php');
312 acfe_include('includes/forms/form-post-type-list.php');
313 acfe_include('includes/forms/form-taxonomy-list.php');
314
315 // locations
316 acfe_include('includes/locations/location.php');
317 acfe_include('includes/locations/location-post-type-all.php');
318 acfe_include('includes/locations/location-post-type-archive.php');
319 acfe_include('includes/locations/location-post-type-list.php');
320 acfe_include('includes/locations/location-taxonomy-list.php');
321
322 // modules
323 acfe_include('includes/modules/author.php');
324 acfe_include('includes/modules/dev/module-dev.php');
325 acfe_include('includes/modules/dev/module-dev-delete-meta.php');
326 acfe_include('includes/modules/option/module-option.php');
327 acfe_include('includes/modules/ui/module-ui.php');
328 acfe_include('includes/modules/ui/module-ui-attachment.php');
329 acfe_include('includes/modules/ui/module-ui-settings.php');
330 acfe_include('includes/modules/ui/module-ui-term.php');
331 acfe_include('includes/modules/ui/module-ui-user.php');
332
333 // performance
334 acfe_include('includes/modules/performance/module-performance-ultra.php');
335 acfe_include('includes/modules/performance/module-performance-ultra-fields.php');
336 acfe_include('includes/modules/performance/module-performance-ultra-revisions.php');
337
338 // action:ready
339 do_action('acfe/ready');
340
341 }
342
343
344 /**
345 * include_fields
346 *
347 * acf/include_fields:5
348 */
349 function include_fields(){
350
351 // autosync
352 acfe_include('includes/modules/autosync-php.php');
353 acfe_include('includes/modules/autosync-json.php');
354
355 }
356
357
358 /**
359 * include_field_types
360 *
361 * acf/include_field_types:99
362 */
363 function include_field_types(){
364
365 acfe_include('includes/fields/field-advanced-link.php');
366 acfe_include('includes/fields/field-button.php');
367 acfe_include('includes/fields/field-code-editor.php');
368 acfe_include('includes/fields/field-column.php');
369 acfe_include('includes/fields/field-dynamic-render.php');
370 acfe_include('includes/fields/field-forms.php');
371 acfe_include('includes/fields/field-hidden.php');
372 acfe_include('includes/fields/field-post-statuses.php');
373 acfe_include('includes/fields/field-post-types.php');
374 acfe_include('includes/fields/field-recaptcha.php');
375 acfe_include('includes/fields/field-slug.php');
376 acfe_include('includes/fields/field-taxonomies.php');
377 acfe_include('includes/fields/field-taxonomy-terms.php');
378 acfe_include('includes/fields/field-user-roles.php');
379
380 }
381
382
383 /**
384 * include_admin_tools
385 *
386 * acf/include_admin_tools
387 */
388 function include_admin_tools(){
389
390 // modules
391 acfe_include('includes/admin/tools/module-export.php');
392 acfe_include('includes/admin/tools/module-import.php');
393
394 }
395
396
397 /**
398 * include_admin_tools_late
399 *
400 * acf/include_admin_tools:20
401 */
402 function include_admin_tools_late(){
403
404 // field groups
405 acfe_include('includes/admin/tools/field-groups-local.php');
406 acfe_include('includes/admin/tools/field-groups-export.php');
407
408 }
409
410
411 /**
412 * constants
413 *
414 * @param $array
415 */
416 function constants($array = array()){
417
418 foreach($array as $name => $value){
419 if(!defined($name)){
420 define($name, $value);
421 }
422 }
423
424 }
425
426
427 /**
428 * settings
429 *
430 * @param $array
431 */
432 function settings($array = array()){
433
434 foreach($array as $name => $value){
435
436 // acf_update_setting
437 acf_update_setting("acfe/{$name}", $value);
438
439 // acf_get_setting
440 add_filter("acf/settings/acfe/{$name}", function($value) use($name){
441 return apply_filters("acfe/settings/{$name}", $value);
442 }, 5);
443
444 }
445
446 }
447
448 }
449
450
451 /**
452 * acfe
453 *
454 * @return ACFE
455 */
456 function acfe(){
457
458 global $acfe;
459
460 if(!isset($acfe)){
461
462 $acfe = new ACFE();
463 $acfe->initialize();
464
465 }
466
467 return $acfe;
468
469 }
470
471 acfe();
472
473 else:
474
475 add_action('after_plugin_row_' . plugin_basename(__FILE__), function($plugin_file, $plugin_data, $status){
476
477 // vars
478 $colspan = version_compare($GLOBALS['wp_version'], '5.5', '<') ? 3 : 4;
479 $pro = defined('ACFE_PRO') && ACFE_PRO;
480
481 // message
482 $message = __('An another version of ACF Extended has been detected. Please activate only one version.', 'acfe');
483 if($pro){
484 $message = __('ACF Extended Pro has been detected. Please activate only one version.', 'acfe');
485 }
486
487 // class
488 $class = 'acfe-plugin-tr';
489 if(isset($plugin_data['update']) && !empty($plugin_data['update'])){
490 $class .= ' acfe-plugin-tr-update';
491 }
492
493 ?>
494 <style>
495 .plugins tr[data-plugin='<?php echo $plugin_file; ?>'] th,
496 .plugins tr[data-plugin='<?php echo $plugin_file; ?>'] td{
497 box-shadow:none;
498 }
499 </style>
500
501 <tr class="plugin-update-tr active <?php echo $class; ?>">
502 <td colspan="<?php echo $colspan; ?>" class="plugin-update colspanchange">
503 <div class="update-message notice inline notice-error notice-alt">
504 <p><?php echo $message; ?></p>
505 </div>
506 </td>
507 </tr>
508 <?php
509
510 }, 5, 3);
511
512 endif;