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