PluginProbe ʕ •ᴥ•ʔ
Advanced Custom Fields: Extended / 0.9.0.4
Advanced Custom Fields: Extended v0.9.0.4
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 2 years ago includes 2 years ago lang 2 years ago acf-extended.php 2 years ago readme.txt 2 years ago
acf-extended.php
476 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.4
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.4';
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
284 // locations
285 acfe_include('includes/locations/post-type-all.php');
286 acfe_include('includes/locations/post-type-archive.php');
287 acfe_include('includes/locations/post-type-list.php');
288 acfe_include('includes/locations/taxonomy-list.php');
289
290 // modules
291 acfe_include('includes/modules/author.php');
292 acfe_include('includes/modules/dev/module-dev.php');
293 acfe_include('includes/modules/dev/module-dev-delete-meta.php');
294 acfe_include('includes/modules/option/module-option.php');
295 acfe_include('includes/modules/ui/module-ui.php');
296 acfe_include('includes/modules/ui/module-ui-attachment.php');
297 acfe_include('includes/modules/ui/module-ui-settings.php');
298 acfe_include('includes/modules/ui/module-ui-term.php');
299 acfe_include('includes/modules/ui/module-ui-user.php');
300
301 // performance
302 acfe_include('includes/modules/performance/module-performance-ultra.php');
303 acfe_include('includes/modules/performance/module-performance-ultra-fields.php');
304 acfe_include('includes/modules/performance/module-performance-ultra-revisions.php');
305
306 }
307
308
309 /**
310 * include_fields
311 *
312 * acf/include_fields:5
313 */
314 function include_fields(){
315
316 // autosync
317 acfe_include('includes/modules/autosync.php');
318
319 }
320
321
322 /**
323 * include_field_types
324 *
325 * acf/include_field_types:99
326 */
327 function include_field_types(){
328
329 acfe_include('includes/fields/field-advanced-link.php');
330 acfe_include('includes/fields/field-button.php');
331 acfe_include('includes/fields/field-code-editor.php');
332 acfe_include('includes/fields/field-column.php');
333 acfe_include('includes/fields/field-dynamic-render.php');
334 acfe_include('includes/fields/field-forms.php');
335 acfe_include('includes/fields/field-hidden.php');
336 acfe_include('includes/fields/field-post-statuses.php');
337 acfe_include('includes/fields/field-post-types.php');
338 acfe_include('includes/fields/field-recaptcha.php');
339 acfe_include('includes/fields/field-slug.php');
340 acfe_include('includes/fields/field-taxonomies.php');
341 acfe_include('includes/fields/field-taxonomy-terms.php');
342 acfe_include('includes/fields/field-user-roles.php');
343
344 }
345
346
347 /**
348 * include_admin_tools
349 *
350 * acf/include_admin_tools
351 */
352 function include_admin_tools(){
353
354 // modules
355 acfe_include('includes/admin/tools/module-export.php');
356 acfe_include('includes/admin/tools/module-import.php');
357
358 }
359
360
361 /**
362 * include_admin_tools_late
363 *
364 * acf/include_admin_tools:99
365 */
366 function include_admin_tools_late(){
367
368 // field groups
369 acfe_include('includes/admin/tools/field-groups-local.php');
370 acfe_include('includes/admin/tools/field-groups-export.php');
371
372 }
373
374
375 /**
376 * constants
377 *
378 * @param $array
379 */
380 function constants($array = array()){
381
382 foreach($array as $name => $value){
383 if(!defined($name)){
384 define($name, $value);
385 }
386 }
387
388 }
389
390
391 /**
392 * settings
393 *
394 * @param $array
395 */
396 function settings($array = array()){
397
398 foreach($array as $name => $value){
399
400 // acf_update_setting
401 acf_update_setting("acfe/{$name}", $value);
402
403 // acf_get_setting
404 add_filter("acf/settings/acfe/{$name}", function($value) use($name){
405 return apply_filters("acfe/settings/{$name}", $value);
406 }, 5);
407
408 }
409
410 }
411
412 }
413
414
415 /**
416 * acfe
417 *
418 * @return ACFE
419 */
420 function acfe(){
421
422 global $acfe;
423
424 if(!isset($acfe)){
425
426 $acfe = new ACFE();
427 $acfe->initialize();
428
429 }
430
431 return $acfe;
432
433 }
434
435 acfe();
436
437 else:
438
439 add_action('after_plugin_row_' . plugin_basename(__FILE__), function($plugin_file, $plugin_data, $status){
440
441 // vars
442 $colspan = version_compare($GLOBALS['wp_version'], '5.5', '<') ? 3 : 4;
443 $pro = defined('ACFE_PRO') && ACFE_PRO;
444
445 // message
446 $message = __('An another version of ACF Extended has been detected. Please activate only one version.', 'acfe');
447 if($pro){
448 $message = __('ACF Extended Pro has been detected. Please activate only one version.', 'acfe');
449 }
450
451 // class
452 $class = 'acfe-plugin-tr';
453 if(isset($plugin_data['update']) && !empty($plugin_data['update'])){
454 $class .= ' acfe-plugin-tr-update';
455 }
456
457 ?>
458 <style>
459 .plugins tr[data-plugin='<?php echo $plugin_file; ?>'] th,
460 .plugins tr[data-plugin='<?php echo $plugin_file; ?>'] td{
461 box-shadow:none;
462 }
463 </style>
464
465 <tr class="plugin-update-tr active <?php echo $class; ?>">
466 <td colspan="<?php echo $colspan; ?>" class="plugin-update colspanchange">
467 <div class="update-message notice inline notice-error notice-alt">
468 <p><?php echo $message; ?></p>
469 </div>
470 </td>
471 </tr>
472 <?php
473
474 }, 5, 3);
475
476 endif;