File "local-fields.php"
Full path: /home/kosmetik/public_html/wp-content/plugins/advanced-custom-fields/includes/local-fields.php
File
size: 5.11 B
MIME-type: text/x-php
Charset: utf-8
Download Open Edit Advanced Editor Back
<?php
acf_register_store('local-fields');
acf_register_store('local-groups');
acf_register_store('local-empty');
acf_enable_filter('local');
function acf_enable_local()
{
acf_enable_filter('local');
}
function acf_disable_local()
{
acf_disable_filter('local');
}
function acf_is_local_enabled()
{
return acf_is_filter_enabled('local') && acf_get_setting('local');
}
function acf_get_local_store($name = '')
{
if (acf_is_local_enabled()) {
return acf_get_store("local-{$name}");
} else {
return acf_get_store('local-empty');
}
}
function acf_reset_local()
{
acf_get_local_store('fields')->reset();
acf_get_local_store('groups')->reset();
}
function acf_get_local_field_groups()
{
return acf_get_local_store('groups')->get();
}
function acf_have_local_field_groups()
{
return acf_get_local_store('groups')->count() ? true : false;
}
function acf_count_local_field_groups()
{
return acf_get_local_store('groups')->count();
}
function acf_add_local_field_group($field_group)
{
$field_group = wp_parse_args($field_group, array('key' => '', 'title' => '', 'fields' => array(), 'local' => 'php'));
if (!$field_group['key']) {
$field_group['key'] = 'group_' . acf_slugify($field_group['title'], '_');
}
if (acf_is_local_field_group($field_group['key'])) {
return false;
}
$field_group = acf_prepare_field_group_for_import($field_group);
$fields = acf_extract_var($field_group, 'fields');
acf_get_local_store('groups')->set($field_group['key'], $field_group);
if ($fields) {
acf_add_local_fields($fields);
}
return true;
}
function register_field_group($field_group)
{
acf_add_local_field_group($field_group);
}
function acf_remove_local_field_group($key = '')
{
return acf_get_local_store('groups')->remove($key);
}
function acf_is_local_field_group($key = '')
{
return acf_get_local_store('groups')->has($key);
}
function acf_is_local_field_group_key($key = '')
{
return acf_get_local_store('groups')->is($key);
}
function acf_get_local_field_group($key = '')
{
return acf_get_local_store('groups')->get($key);
}
function acf_add_local_fields($fields = array())
{
$fields = acf_prepare_fields_for_import($fields);
foreach ($fields as $field) {
acf_add_local_field($field, true);
}
}
function acf_get_local_fields($parent = '')
{
if ($parent) {
return acf_get_local_store('fields')->query(array('parent' => $parent));
} else {
return acf_get_local_store('fields')->get();
}
}
function acf_have_local_fields($parent = '')
{
return acf_get_local_fields($parent) ? true : false;
}
function acf_count_local_fields($parent = '')
{
return count(acf_get_local_fields($parent));
}
function acf_add_local_field($field, $prepared = false)
{
$field = wp_parse_args($field, array('key' => '', 'name' => '', 'type' => '', 'parent' => ''));
if (!$field['key']) {
$field['key'] = 'field_' . $field['name'];
}
if (!$prepared) {
return acf_add_local_fields(array($field));
}
$key = $field['key'];
$name = $field['name'];
$store = acf_get_local_store('fields');
if ($store->is($key)) {
$old_key = _acf_generate_local_key($store->get($key));
$new_key = _acf_generate_local_key($field);
if ($old_key !== $new_key) {
$key = $new_key;
}
}
$store->set($key, $field)->alias($key, $name);
}
function _acf_generate_local_key($field)
{
return "{$field['key']}:{$field['parent']}";
}
function acf_remove_local_field($key = '')
{
return acf_get_local_store('fields')->remove($key);
}
function acf_is_local_field($key = '')
{
return acf_get_local_store('fields')->has($key);
}
function acf_is_local_field_key($key = '')
{
return acf_get_local_store('fields')->is($key);
}
function acf_get_local_field($key = '')
{
return acf_get_local_store('fields')->get($key);
}
function _acf_apply_get_local_field_groups($groups = array())
{
$local = acf_get_local_field_groups();
if ($local) {
$map = wp_list_pluck($groups, 'key');
foreach ($local as $group) {
$i = array_search($group['key'], $map);
if ($i !== false) {
unset($group['ID']);
$groups[$i] = array_merge($groups[$i], $group);
} else {
$groups[] = acf_get_field_group($group['key']);
}
}
$groups = wp_list_sort($groups, array('menu_order' => 'ASC', 'title' => 'ASC'));
}
return $groups;
}
add_filter('acf/load_field_groups', '_acf_apply_get_local_field_groups', 20, 1);
function _acf_apply_is_local_field_key($bool, $id)
{
return acf_is_local_field_key($id);
}
add_filter('acf/is_field_key', '_acf_apply_is_local_field_key', 20, 2);
function _acf_apply_is_local_field_group_key($bool, $id)
{
return acf_is_local_field_group_key($id);
}
add_filter('acf/is_field_group_key', '_acf_apply_is_local_field_group_key', 20, 2);
function _acf_do_prepare_local_fields()
{
$fields = acf_get_local_fields();
if ($fields) {
acf_add_local_fields($fields);
}
}
add_action('acf/include_fields', '_acf_do_prepare_local_fields', 0, 1);