Merge branch 'release/5.5.2'
This commit is contained in:
commit
ebdf902c99
26
acf.php
26
acf.php
|
|
@ -3,7 +3,7 @@
|
|||
Plugin Name: Advanced Custom Fields PRO
|
||||
Plugin URI: https://www.advancedcustomfields.com/
|
||||
Description: Customise WordPress with powerful, professional and intuitive fields
|
||||
Version: 5.4.8
|
||||
Version: 5.5.2
|
||||
Author: Elliot Condon
|
||||
Author URI: http://www.elliotcondon.com/
|
||||
Copyright: Elliot Condon
|
||||
|
|
@ -58,7 +58,7 @@ class acf {
|
|||
|
||||
// basic
|
||||
'name' => __('Advanced Custom Fields', 'acf'),
|
||||
'version' => '5.4.8',
|
||||
'version' => '5.5.2',
|
||||
|
||||
// urls
|
||||
'basename' => plugin_basename( __FILE__ ),
|
||||
|
|
@ -83,7 +83,10 @@ class acf {
|
|||
'google_api_key' => '',
|
||||
'google_api_client' => '',
|
||||
'enqueue_google_maps' => true,
|
||||
'enqueue_select2' => true,
|
||||
'enqueue_select2' => true,
|
||||
'enqueue_datepicker' => true,
|
||||
'enqueue_datetimepicker' => true,
|
||||
'select2_version' => 3
|
||||
);
|
||||
|
||||
|
||||
|
|
@ -131,11 +134,17 @@ class acf {
|
|||
acf_include('admin/admin.php');
|
||||
acf_include('admin/field-group.php');
|
||||
acf_include('admin/field-groups.php');
|
||||
acf_include('admin/update.php');
|
||||
acf_include('admin/update-network.php');
|
||||
acf_include('admin/install.php');
|
||||
acf_include('admin/settings-tools.php');
|
||||
//acf_include('admin/settings-addons.php');
|
||||
acf_include('admin/settings-info.php');
|
||||
|
||||
|
||||
// network
|
||||
if( is_network_admin() ) {
|
||||
|
||||
acf_include('admin/install-network.php');
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -214,6 +223,7 @@ class acf {
|
|||
acf_include('fields/password.php');
|
||||
acf_include('fields/wysiwyg.php');
|
||||
acf_include('fields/oembed.php');
|
||||
//acf_include('fields/output.php');
|
||||
acf_include('fields/image.php');
|
||||
acf_include('fields/file.php');
|
||||
acf_include('fields/select.php');
|
||||
|
|
@ -350,12 +360,12 @@ class acf {
|
|||
|
||||
// acf-disabled
|
||||
register_post_status('acf-disabled', array(
|
||||
'label' => __( 'Disabled', 'acf' ),
|
||||
'label' => __( 'Inactive', 'acf' ),
|
||||
'public' => true,
|
||||
'exclude_from_search' => false,
|
||||
'show_in_admin_all_list' => true,
|
||||
'show_in_admin_status_list' => true,
|
||||
'label_count' => _n_noop( 'Disabled <span class="count">(%s)</span>', 'Disabled <span class="count">(%s)</span>', 'acf' ),
|
||||
'label_count' => _n_noop( 'Inactive <span class="count">(%s)</span>', 'Inactive <span class="count">(%s)</span>', 'acf' ),
|
||||
));
|
||||
|
||||
}
|
||||
|
|
|
|||
123
admin/admin.php
123
admin/admin.php
|
|
@ -1,7 +1,15 @@
|
|||
<?php
|
||||
|
||||
if( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
||||
|
||||
if( ! class_exists('acf_admin') ) :
|
||||
|
||||
class acf_admin {
|
||||
|
||||
// vars
|
||||
var $notices = array();
|
||||
|
||||
|
||||
/*
|
||||
* __construct
|
||||
*
|
||||
|
|
@ -25,6 +33,58 @@ class acf_admin {
|
|||
}
|
||||
|
||||
|
||||
/*
|
||||
* add_notice
|
||||
*
|
||||
* This function will add the notice data to a setting in the acf object for the admin_notices action to use
|
||||
*
|
||||
* @type function
|
||||
* @date 17/10/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $text (string)
|
||||
* @param $class (string)
|
||||
* @param wrap (string)
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function add_notice( $text = '', $class = '', $wrap = 'p' ) {
|
||||
|
||||
// append
|
||||
$this->notices[] = array(
|
||||
'text' => $text,
|
||||
'class' => 'updated ' . $class,
|
||||
'wrap' => $wrap
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* get_notices
|
||||
*
|
||||
* This function will return an array of admin notices
|
||||
*
|
||||
* @type function
|
||||
* @date 17/10/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return (array)
|
||||
*/
|
||||
|
||||
function get_notices() {
|
||||
|
||||
// bail early if no notices
|
||||
if( empty($this->notices) ) return false;
|
||||
|
||||
|
||||
// return
|
||||
return $this->notices;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* admin_menu
|
||||
*
|
||||
|
|
@ -41,11 +101,7 @@ class acf_admin {
|
|||
function admin_menu() {
|
||||
|
||||
// bail early if no show_admin
|
||||
if( !acf_get_setting('show_admin') ) {
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
if( !acf_get_setting('show_admin') ) return;
|
||||
|
||||
|
||||
// vars
|
||||
|
|
@ -100,18 +156,15 @@ class acf_admin {
|
|||
function admin_notices() {
|
||||
|
||||
// vars
|
||||
$admin_notices = acf_get_admin_notices();
|
||||
$notices = $this->get_notices();
|
||||
|
||||
|
||||
// bail early if no notices
|
||||
if( empty($admin_notices) ) {
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
if( !$notices ) return;
|
||||
|
||||
|
||||
foreach( $admin_notices as $notice ) {
|
||||
// loop
|
||||
foreach( $notices as $notice ) {
|
||||
|
||||
$open = '';
|
||||
$close = '';
|
||||
|
|
@ -133,8 +186,50 @@ class acf_admin {
|
|||
|
||||
}
|
||||
|
||||
|
||||
// initialize
|
||||
new acf_admin();
|
||||
acf()->admin = new acf_admin();
|
||||
|
||||
endif; // class_exists check
|
||||
|
||||
|
||||
/*
|
||||
* acf_add_admin_notice
|
||||
*
|
||||
* This function will add the notice data to a setting in the acf object for the admin_notices action to use
|
||||
*
|
||||
* @type function
|
||||
* @date 17/10/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $text (string)
|
||||
* @param $class (string)
|
||||
* @return (int) message ID (array position)
|
||||
*/
|
||||
|
||||
function acf_add_admin_notice( $text, $class = '', $wrap = 'p' ) {
|
||||
|
||||
return acf()->admin->add_notice($text, $class, $wrap);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_get_admin_notices
|
||||
*
|
||||
* This function will return an array containing any admin notices
|
||||
*
|
||||
* @type function
|
||||
* @date 17/10/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return (array)
|
||||
*/
|
||||
|
||||
function acf_get_admin_notices() {
|
||||
|
||||
return acf()->admin->get_notices();
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -392,7 +392,7 @@ class acf_admin_field_group {
|
|||
|
||||
|
||||
// vars
|
||||
$status = $field_group['active'] ? __("Active",'acf') : __("Disabled",'acf');
|
||||
$status = $field_group['active'] ? __("Active",'acf') : __("Inactive",'acf');
|
||||
|
||||
?>
|
||||
<script type="text/javascript">
|
||||
|
|
@ -697,11 +697,14 @@ class acf_admin_field_group {
|
|||
case "post_type" :
|
||||
|
||||
// get post types
|
||||
$choices = acf_get_pretty_post_types();
|
||||
$post_types = acf_get_post_types(array(
|
||||
'show_ui' => 1,
|
||||
'exclude' => array('attachment')
|
||||
));
|
||||
|
||||
|
||||
// remove attachments
|
||||
unset( $choices['attachment'] );
|
||||
// get choices
|
||||
$choices = acf_get_pretty_post_types( $post_types );
|
||||
|
||||
|
||||
// end
|
||||
|
|
@ -711,10 +714,11 @@ class acf_admin_field_group {
|
|||
case "post" :
|
||||
|
||||
// get post types
|
||||
$exclude = array('page', 'attachment');
|
||||
$post_types = acf_get_post_types( $exclude );
|
||||
$post_types = acf_get_post_types(array(
|
||||
'exclude' => array('page', 'attachment')
|
||||
));
|
||||
|
||||
|
||||
|
||||
// get posts grouped by post type
|
||||
$groups = acf_get_grouped_posts(array(
|
||||
'post_type' => $post_types
|
||||
|
|
@ -747,7 +751,32 @@ class acf_admin_field_group {
|
|||
|
||||
break;
|
||||
|
||||
|
||||
case "post_template" :
|
||||
|
||||
// vars
|
||||
$templates = wp_get_theme()->get_post_templates();
|
||||
$default = apply_filters( 'default_page_template_title', __('Default Template', 'acf') );
|
||||
|
||||
|
||||
// choices
|
||||
$choices = array('default' => $default);
|
||||
|
||||
|
||||
// templates
|
||||
if( !empty($templates) ) {
|
||||
|
||||
foreach( $templates as $post_type => $post_type_templates ) {
|
||||
|
||||
$choices = array_merge($choices, $post_type_templates);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// break
|
||||
break;
|
||||
|
||||
case "post_category" :
|
||||
|
||||
$terms = acf_get_taxonomy_terms( 'category' );
|
||||
|
|
@ -862,18 +891,13 @@ class acf_admin_field_group {
|
|||
|
||||
case "page_template" :
|
||||
|
||||
$choices = array(
|
||||
'default' => apply_filters( 'default_page_template_title', __('Default Template', 'acf') ),
|
||||
);
|
||||
// vars
|
||||
$templates = wp_get_theme()->get_page_templates();
|
||||
$default = apply_filters( 'default_page_template_title', __('Default Template', 'acf') );
|
||||
|
||||
|
||||
$templates = get_page_templates();
|
||||
|
||||
foreach( $templates as $k => $v ) {
|
||||
|
||||
$choices[ $v ] = $k;
|
||||
|
||||
}
|
||||
// merge
|
||||
$choices = array_merge(array('default' => $default), $templates);
|
||||
|
||||
break;
|
||||
|
||||
|
|
|
|||
|
|
@ -564,7 +564,7 @@ class acf_admin_field_groups {
|
|||
|
||||
} else {
|
||||
|
||||
echo '<i class="acf-icon -minus yellow small acf-js-tooltip" title="' . __('Disabled', 'acf') . '"></i> ';
|
||||
echo '<i class="acf-icon -minus yellow small acf-js-tooltip" title="' . __('Inactive', 'acf') . '"></i> ';
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -594,9 +594,13 @@ class acf_admin_field_groups {
|
|||
function admin_footer() {
|
||||
|
||||
// vars
|
||||
$www = 'https://www.advancedcustomfields.com/resources/';
|
||||
$url_home = 'https://www.advancedcustomfields.com';
|
||||
$url_support = 'https://support.advancedcustomfields.com';
|
||||
$url_docs = $url_home . '/resources/';
|
||||
|
||||
?><script type="text/html" id="tmpl-acf-column-2">
|
||||
|
||||
?>
|
||||
<script type="text/html" id="tmpl-acf-column-2">
|
||||
<div class="acf-column-2">
|
||||
<div class="acf-box">
|
||||
<div class="inner">
|
||||
|
|
@ -607,21 +611,22 @@ class acf_admin_field_groups {
|
|||
|
||||
<h3><?php _e("Resources",'acf'); ?></h3>
|
||||
<ul>
|
||||
<li><a href="<?php echo $www; ?>#getting-started" target="_blank"><?php _e("Getting Started",'acf'); ?></a></li>
|
||||
<li><a href="<?php echo $www; ?>#updates" target="_blank"><?php _e("Updates",'acf'); ?></a></li>
|
||||
<li><a href="<?php echo $www; ?>#field-types" target="_blank"><?php _e("Field Types",'acf'); ?></a></li>
|
||||
<li><a href="<?php echo $www; ?>#functions" target="_blank"><?php _e("Functions",'acf'); ?></a></li>
|
||||
<li><a href="<?php echo $www; ?>#actions" target="_blank"><?php _e("Actions",'acf'); ?></a></li>
|
||||
<li><a href="<?php echo $www; ?>#filters" target="_blank"><?php _e("Filters",'acf'); ?></a></li>
|
||||
<li><a href="<?php echo $www; ?>#how-to" target="_blank"><?php _e("'How to' guides",'acf'); ?></a></li>
|
||||
<li><a href="<?php echo $www; ?>#tutorials" target="_blank"><?php _e("Tutorials",'acf'); ?></a></li>
|
||||
<li><a href="<?php echo $www; ?>#faq" target="_blank"><?php _e("FAQ",'acf'); ?></a></li>
|
||||
<li><a href="<?php echo $url_docs; ?>" target="_blank"><?php _e("Documentation",'acf'); ?></a></li>
|
||||
|
||||
<li><a href="<?php echo $url_docs; ?>#getting-started" target="_blank"><?php _e("Getting Started",'acf'); ?></a></li>
|
||||
<li><a href="<?php echo $url_docs; ?>#field-types" target="_blank"><?php _e("Field Types",'acf'); ?></a></li>
|
||||
<li><a href="<?php echo $url_docs; ?>#functions" target="_blank"><?php _e("Functions",'acf'); ?></a></li>
|
||||
<li><a href="<?php echo $url_docs; ?>#actions" target="_blank"><?php _e("Actions",'acf'); ?></a></li>
|
||||
<li><a href="<?php echo $url_docs; ?>#filters" target="_blank"><?php _e("Filters",'acf'); ?></a></li>
|
||||
<li><a href="<?php echo $url_docs; ?>#features" target="_blank"><?php _e("Features",'acf'); ?></a></li>
|
||||
<li><a href="<?php echo $url_docs; ?>#how-to" target="_blank"><?php _e("How to",'acf'); ?></a></li>
|
||||
<li><a href="<?php echo $url_docs; ?>#tutorials" target="_blank"><?php _e("Tutorials",'acf'); ?></a></li>
|
||||
<li><a href="<?php echo $url_docs; ?>#faq" target="_blank"><?php _e("FAQ",'acf'); ?></a></li>
|
||||
<li><a href="<?php echo $url_support; ?>" target="_blank"><?php _e("Support",'acf'); ?></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer footer-blue">
|
||||
<ul class="acf-hl">
|
||||
<li><?php _e("Created by",'acf'); ?> Elliot Condon</li>
|
||||
</ul>
|
||||
<div class="footer -blue">
|
||||
<p><?php echo sprintf( __('Thank you for creating with <a href="%s">ACF</a>.','acf'), $url_home ); ?></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,18 +1,10 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* ACF Admin Update Network Class
|
||||
*
|
||||
* All the logic for updates
|
||||
*
|
||||
* @class acf_admin_update
|
||||
* @package ACF
|
||||
* @subpackage Admin
|
||||
*/
|
||||
if( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
||||
|
||||
if( ! class_exists('acf_admin_update_network') ) :
|
||||
if( ! class_exists('acf_admin_install_network') ) :
|
||||
|
||||
class acf_admin_update_network {
|
||||
class acf_admin_install_network {
|
||||
|
||||
/*
|
||||
* __construct
|
||||
|
|
@ -65,7 +57,7 @@ class acf_admin_update_network {
|
|||
|
||||
|
||||
// get site updates
|
||||
$updates = acf_get_updates();
|
||||
$updates = acf_get_db_updates();
|
||||
|
||||
|
||||
// restore
|
||||
|
|
@ -93,7 +85,7 @@ class acf_admin_update_network {
|
|||
|
||||
|
||||
// add page
|
||||
$page = add_submenu_page('index.php', __('Upgrade Database','acf'), __('Upgrade Database','acf'), acf_get_setting('capability'), 'acf-upgrade', array($this,'network_html'));
|
||||
$page = add_submenu_page('index.php', __('Upgrade Database','acf'), __('Upgrade Database','acf'), acf_get_setting('capability'), 'acf-upgrade-network', array($this,'network_html'));
|
||||
|
||||
|
||||
// actions
|
||||
|
|
@ -146,13 +138,13 @@ class acf_admin_update_network {
|
|||
// view
|
||||
$view = array(
|
||||
'button_text' => __("Review sites & upgrade", 'acf'),
|
||||
'button_url' => network_admin_url('index.php?page=acf-upgrade'),
|
||||
'button_url' => network_admin_url('index.php?page=acf-upgrade-network'),
|
||||
'confirm' => false
|
||||
);
|
||||
|
||||
|
||||
// load view
|
||||
acf_get_view('update-notice', $view);
|
||||
acf_get_view('install-notice', $view);
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -193,7 +185,7 @@ class acf_admin_update_network {
|
|||
|
||||
|
||||
// get site updates
|
||||
$site['updates'] = acf_get_updates();
|
||||
$site['updates'] = acf_get_db_updates();
|
||||
|
||||
|
||||
// get site version
|
||||
|
|
@ -228,16 +220,16 @@ class acf_admin_update_network {
|
|||
|
||||
|
||||
// load view
|
||||
acf_get_view('update-network', $view);
|
||||
acf_get_view('install-network', $view);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// initialize
|
||||
new acf_admin_update_network();
|
||||
new acf_admin_install_network();
|
||||
|
||||
endif;
|
||||
endif; // class_exists check
|
||||
|
||||
|
||||
/*
|
||||
|
|
@ -0,0 +1,553 @@
|
|||
<?php
|
||||
|
||||
if( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
||||
|
||||
|
||||
/*
|
||||
* acf_update_500
|
||||
*
|
||||
* These functions will update the DB for ACF v5.0.0
|
||||
*
|
||||
* @type function
|
||||
* @date 10/09/2016
|
||||
* @since 5.4.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function acf_update_500() {
|
||||
|
||||
// action for 3rd party
|
||||
do_action('acf/update_500');
|
||||
|
||||
|
||||
// field groups
|
||||
acf_update_500_field_groups();
|
||||
|
||||
|
||||
// version
|
||||
acf_update_db_version('5.0.0');
|
||||
|
||||
}
|
||||
|
||||
function acf_update_500_field_groups() {
|
||||
|
||||
// vars
|
||||
$ofgs = get_posts(array(
|
||||
'numberposts' => -1,
|
||||
'post_type' => 'acf',
|
||||
'orderby' => 'menu_order title',
|
||||
'order' => 'asc',
|
||||
'suppress_filters' => true,
|
||||
));
|
||||
|
||||
|
||||
// check
|
||||
if( !$ofgs ) return;
|
||||
|
||||
|
||||
// loop
|
||||
foreach( $ofgs as $ofg ){
|
||||
|
||||
$nfg = acf_update_500_field_group( $ofg );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function acf_update_500_field_group( $ofg ) {
|
||||
|
||||
// global
|
||||
global $wpdb;
|
||||
|
||||
|
||||
// create new field group
|
||||
$nfg = array(
|
||||
'ID' => 0,
|
||||
'title' => $ofg->post_title,
|
||||
'menu_order' => $ofg->menu_order,
|
||||
);
|
||||
|
||||
|
||||
// location rules
|
||||
$groups = array();
|
||||
|
||||
|
||||
// get all rules
|
||||
$rules = get_post_meta($ofg->ID, 'rule', false);
|
||||
|
||||
if( is_array($rules) ) {
|
||||
|
||||
$group_no = 0;
|
||||
|
||||
foreach( $rules as $rule ) {
|
||||
|
||||
// if field group was duplicated, it may now be a serialized string!
|
||||
$rule = maybe_unserialize($rule);
|
||||
|
||||
|
||||
// does this rule have a group?
|
||||
// + groups were added in 4.0.4
|
||||
if( !isset($rule['group_no']) ) {
|
||||
|
||||
$rule['group_no'] = $group_no;
|
||||
|
||||
// sperate groups?
|
||||
if( get_post_meta($ofg->ID, 'allorany', true) == 'any' ) {
|
||||
|
||||
$group_no++;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// extract vars
|
||||
$group = acf_extract_var( $rule, 'group_no' );
|
||||
$order = acf_extract_var( $rule, 'order_no' );
|
||||
|
||||
|
||||
// add to group
|
||||
$groups[ $group ][ $order ] = $rule;
|
||||
|
||||
|
||||
// sort rules
|
||||
ksort( $groups[ $group ] );
|
||||
|
||||
}
|
||||
|
||||
// sort groups
|
||||
ksort( $groups );
|
||||
}
|
||||
|
||||
$nfg['location'] = $groups;
|
||||
|
||||
|
||||
// settings
|
||||
if( $position = get_post_meta($ofg->ID, 'position', true) ) {
|
||||
|
||||
$nfg['position'] = $position;
|
||||
|
||||
}
|
||||
|
||||
if( $layout = get_post_meta($ofg->ID, 'layout', true) ) {
|
||||
|
||||
$nfg['layout'] = $layout;
|
||||
|
||||
}
|
||||
|
||||
if( $hide_on_screen = get_post_meta($ofg->ID, 'hide_on_screen', true) ) {
|
||||
|
||||
$nfg['hide_on_screen'] = maybe_unserialize($hide_on_screen);
|
||||
|
||||
}
|
||||
|
||||
|
||||
// Note: acf_update_field_group will call the acf_get_valid_field_group function and apply 'compatibility' changes
|
||||
|
||||
|
||||
// save field group
|
||||
$nfg = acf_update_field_group( $nfg );
|
||||
|
||||
|
||||
// action for 3rd party
|
||||
do_action('acf/update_500_field_group', $nfg, $ofg);
|
||||
|
||||
|
||||
// trash?
|
||||
if( $ofg->post_status == 'trash' ) {
|
||||
|
||||
acf_trash_field_group( $nfg['ID'] );
|
||||
|
||||
}
|
||||
|
||||
|
||||
// global
|
||||
global $wpdb;
|
||||
|
||||
|
||||
// get field from postmeta
|
||||
$rows = $wpdb->get_results( $wpdb->prepare("SELECT * FROM $wpdb->postmeta WHERE post_id = %d AND meta_key LIKE %s", $ofg->ID, 'field_%'), ARRAY_A);
|
||||
|
||||
|
||||
// check
|
||||
if( $rows ) {
|
||||
|
||||
// loop
|
||||
foreach( $rows as $row ) {
|
||||
|
||||
// bail early if key already migrated (potential duplicates in DB)
|
||||
if( acf_has_done('update_500_field_group_' . $ofg->ID . '_' . $row['meta_key']) ) continue;
|
||||
|
||||
|
||||
// vars
|
||||
$field = $row['meta_value'];
|
||||
$field = maybe_unserialize( $field );
|
||||
$field = maybe_unserialize( $field ); // run again for WPML
|
||||
|
||||
|
||||
// add parent
|
||||
$field['parent'] = $nfg['ID'];
|
||||
|
||||
|
||||
// migrate field
|
||||
$field = acf_update_500_field( $field );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// return
|
||||
return $nfg;
|
||||
|
||||
}
|
||||
|
||||
|
||||
function acf_update_500_field( $field ) {
|
||||
|
||||
// orig
|
||||
$orig = $field;
|
||||
|
||||
|
||||
// order_no is now menu_order
|
||||
$field['menu_order'] = acf_extract_var( $field, 'order_no' );
|
||||
|
||||
|
||||
// correct very old field keys
|
||||
if( substr($field['key'], 0, 6) !== 'field_' ) {
|
||||
|
||||
$field['key'] = 'field_' . str_replace('field', '', $field['key']);
|
||||
|
||||
}
|
||||
|
||||
|
||||
// get valid field
|
||||
$field = acf_get_valid_field( $field );
|
||||
|
||||
|
||||
// save field
|
||||
$field = acf_update_field( $field );
|
||||
|
||||
|
||||
// sub fields
|
||||
if( $field['type'] == 'repeater' ) {
|
||||
|
||||
// get sub fields
|
||||
$sub_fields = acf_extract_var( $orig, 'sub_fields' );
|
||||
|
||||
|
||||
// save sub fields
|
||||
if( !empty($sub_fields) ) {
|
||||
|
||||
$keys = array_keys($sub_fields);
|
||||
|
||||
foreach( $keys as $key ) {
|
||||
|
||||
$sub_field = acf_extract_var($sub_fields, $key);
|
||||
$sub_field['parent'] = $field['ID'];
|
||||
|
||||
acf_update_500_field( $sub_field );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
} elseif( $field['type'] == 'flexible_content' ) {
|
||||
|
||||
// get layouts
|
||||
$layouts = acf_extract_var( $orig, 'layouts' );
|
||||
|
||||
|
||||
// update layouts
|
||||
$field['layouts'] = array();
|
||||
|
||||
|
||||
// save sub fields
|
||||
if( !empty($layouts) ) {
|
||||
|
||||
foreach( $layouts as $layout ) {
|
||||
|
||||
// vars
|
||||
$layout_key = uniqid();
|
||||
|
||||
|
||||
// append layotu key
|
||||
$layout['key'] = $layout_key;
|
||||
|
||||
|
||||
// extract sub fields
|
||||
$sub_fields = acf_extract_var($layout, 'sub_fields');
|
||||
|
||||
|
||||
// save sub fields
|
||||
if( !empty($sub_fields) ) {
|
||||
|
||||
$keys = array_keys($sub_fields);
|
||||
|
||||
foreach( $keys as $key ) {
|
||||
|
||||
$sub_field = acf_extract_var($sub_fields, $key);
|
||||
$sub_field['parent'] = $field['ID'];
|
||||
$sub_field['parent_layout'] = $layout_key;
|
||||
|
||||
acf_update_500_field( $sub_field );
|
||||
|
||||
}
|
||||
// foreach
|
||||
|
||||
}
|
||||
// if
|
||||
|
||||
|
||||
// append layout
|
||||
$field['layouts'][] = $layout;
|
||||
|
||||
}
|
||||
// foreach
|
||||
|
||||
}
|
||||
// if
|
||||
|
||||
|
||||
// save field again with less sub field data
|
||||
$field = acf_update_field( $field );
|
||||
|
||||
}
|
||||
|
||||
|
||||
// action for 3rd party
|
||||
do_action('acf/update_500_field', $field);
|
||||
|
||||
|
||||
// return
|
||||
return $field;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_update_550
|
||||
*
|
||||
* These functions will update the DB for ACF v5.5.0
|
||||
*
|
||||
* @type function
|
||||
* @date 10/09/2016
|
||||
* @since 5.4.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function acf_update_550() { //acf_log('acf_update_550');
|
||||
|
||||
// action for 3rd party
|
||||
do_action('acf/update_550');
|
||||
|
||||
|
||||
// bail early if no table
|
||||
if( !acf_isset_termmeta() ) {
|
||||
|
||||
update_option('acf_update_550_termmeta', 1);
|
||||
echo __('Term meta upgrade not possible (termmeta table does not exist)', 'acf');
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// termmeta
|
||||
acf_update_550_termmeta();
|
||||
|
||||
|
||||
// version
|
||||
acf_update_db_version('5.5.0');
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_update_550_termmeta
|
||||
*
|
||||
* This function will migrate all term meta
|
||||
*
|
||||
* @type function
|
||||
* @date 3/09/2016
|
||||
* @since 5.4.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
|
||||
function acf_update_550_termmeta() { //acf_log('acf_update_550_termmeta');
|
||||
|
||||
// vars
|
||||
$taxonomies = get_taxonomies(false, 'objects');
|
||||
|
||||
|
||||
// bail early if no taxonomies
|
||||
if( !$taxonomies ) return;
|
||||
|
||||
|
||||
// loop
|
||||
foreach( $taxonomies as $taxonomy ) {
|
||||
|
||||
acf_update_550_taxonomy( $taxonomy );
|
||||
|
||||
}
|
||||
|
||||
|
||||
// delete trigger
|
||||
delete_option('acf_update_550_termmeta');
|
||||
|
||||
|
||||
// action for 3rd party
|
||||
do_action('acf/update_550_termmeta');
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_update_550_taxonomy
|
||||
*
|
||||
* This function will migrate term meta for a specific taxonomy
|
||||
*
|
||||
* @type function
|
||||
* @date 3/09/2016
|
||||
* @since 5.4.0
|
||||
*
|
||||
* @param $taxonomy (string)
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function acf_update_550_taxonomy( $taxonomy ) { //acf_log('acf_update_550_taxonomy', $taxonomy);
|
||||
|
||||
// vars
|
||||
$terms = get_terms($taxonomy->name, array( 'hide_empty' => false ));
|
||||
|
||||
|
||||
// bail early if no terms
|
||||
if( !$terms ) return;
|
||||
|
||||
|
||||
// loop
|
||||
foreach( $terms as $term ) {
|
||||
|
||||
acf_update_550_term( $term );
|
||||
|
||||
}
|
||||
|
||||
|
||||
// action for 3rd party
|
||||
do_action('acf/update_550_taxonomy', $taxonomy);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_update_550_term
|
||||
*
|
||||
* This function will migrate term meta for a specific term
|
||||
*
|
||||
* @type function
|
||||
* @date 3/09/2016
|
||||
* @since 5.4.0
|
||||
*
|
||||
* @param $term (object)
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function acf_update_550_term( $term ) { //acf_log('acf_update_550_term', $term);
|
||||
|
||||
// global
|
||||
global $wpdb;
|
||||
|
||||
|
||||
// vars
|
||||
$meta = array();
|
||||
$post_id = $term->taxonomy . '_' . $term->term_id;
|
||||
|
||||
|
||||
// vars
|
||||
$search = $post_id . '_%';
|
||||
$_search = '_' . $search;
|
||||
|
||||
|
||||
// escape '_'
|
||||
// http://stackoverflow.com/questions/2300285/how-do-i-escape-in-sql-server
|
||||
$search = str_replace('_', '\_', $search);
|
||||
$_search = str_replace('_', '\_', $_search);
|
||||
|
||||
|
||||
// search
|
||||
$rows = $wpdb->get_results($wpdb->prepare(
|
||||
"SELECT *
|
||||
FROM $wpdb->options
|
||||
WHERE option_name LIKE %s
|
||||
OR option_name LIKE %s",
|
||||
$search,
|
||||
$_search
|
||||
), ARRAY_A);
|
||||
|
||||
|
||||
// bail early if no row
|
||||
if( empty($rows) ) return;
|
||||
|
||||
|
||||
// vars
|
||||
$search = $post_id . '_';
|
||||
$_search = '_' . $search;
|
||||
|
||||
|
||||
// loop
|
||||
foreach( $rows as $row ) {
|
||||
|
||||
// vars
|
||||
$name = $row['option_name'];
|
||||
|
||||
|
||||
// extract $post_id from options name
|
||||
if( strpos($name, $search) === 0 ) {
|
||||
|
||||
$name = substr($name, strlen($search));
|
||||
|
||||
// extract _$post_id from options name
|
||||
} elseif( strpos($name, $_search) === 0 ) {
|
||||
|
||||
$name = '_' . substr($name, strlen($_search));
|
||||
|
||||
// $post_id not found at begining of name (false result)
|
||||
} else {
|
||||
|
||||
continue;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// append
|
||||
$meta[ $name ] = $row['option_value'];
|
||||
|
||||
}
|
||||
|
||||
|
||||
// bail ealry if no meta
|
||||
if( empty($meta) ) return;
|
||||
|
||||
|
||||
// loop
|
||||
foreach( $meta as $name => $value ) {
|
||||
|
||||
// update
|
||||
update_metadata( 'term', $term->term_id, $name, $value );
|
||||
|
||||
}
|
||||
|
||||
|
||||
// action for 3rd party
|
||||
do_action('acf/update_550_term', $term);
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
@ -0,0 +1,425 @@
|
|||
<?php
|
||||
|
||||
if( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
||||
|
||||
if( ! class_exists('acf_admin_install') ) :
|
||||
|
||||
class acf_admin_install {
|
||||
|
||||
// vars
|
||||
var $db_updates = array(
|
||||
'5.0.0' => 'acf_update_500',
|
||||
'5.5.0' => 'acf_update_550'
|
||||
);
|
||||
|
||||
|
||||
/*
|
||||
* __construct
|
||||
*
|
||||
* This function will setup the class functionality
|
||||
*
|
||||
* @type function
|
||||
* @date 5/03/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function __construct() {
|
||||
|
||||
// actions
|
||||
add_action('admin_menu', array($this,'admin_menu'), 20);
|
||||
add_action('wp_upgrade', array($this,'wp_upgrade'), 10, 2);
|
||||
|
||||
|
||||
// ajax
|
||||
add_action('wp_ajax_acf/admin/db_update', array($this, 'ajax_db_update'));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* admin_menu
|
||||
*
|
||||
* This function will chck for available updates and add actions if needed
|
||||
*
|
||||
* @type function
|
||||
* @date 19/02/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function admin_menu() {
|
||||
|
||||
// vars
|
||||
$updates = acf_get_db_updates();
|
||||
|
||||
|
||||
// bail early if no updates available
|
||||
if( !$updates ) return;
|
||||
|
||||
|
||||
// actions
|
||||
add_action('admin_notices', array($this, 'admin_notices'), 1);
|
||||
|
||||
|
||||
// add page
|
||||
$page = add_submenu_page('index.php', __('Upgrade Database','acf'), __('Upgrade Database','acf'), acf_get_setting('capability'), 'acf-upgrade', array($this,'html') );
|
||||
|
||||
|
||||
// actions
|
||||
add_action('load-' . $page, array($this,'load'));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* load
|
||||
*
|
||||
* This function will look at the $_POST data and run any functions if needed
|
||||
*
|
||||
* @type function
|
||||
* @date 7/01/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function load() {
|
||||
|
||||
// hide upgrade
|
||||
remove_action('admin_notices', array($this, 'admin_notices'), 1);
|
||||
|
||||
|
||||
// load acf scripts
|
||||
acf_enqueue_scripts();
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* admin_notices
|
||||
*
|
||||
* This function will render any admin notices
|
||||
*
|
||||
* @type function
|
||||
* @date 17/10/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function admin_notices() {
|
||||
|
||||
// view
|
||||
$view = array(
|
||||
'button_text' => __("Upgrade Database", 'acf'),
|
||||
'button_url' => admin_url('index.php?page=acf-upgrade')
|
||||
);
|
||||
|
||||
|
||||
// load view
|
||||
acf_get_view('install-notice', $view);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* html
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @type function
|
||||
* @date 19/02/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function html() {
|
||||
|
||||
// view
|
||||
$view = array(
|
||||
'updates' => acf_get_db_updates(),
|
||||
'plugin_version' => acf_get_setting('version')
|
||||
);
|
||||
|
||||
|
||||
// load view
|
||||
acf_get_view('install', $view);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* ajax_db_update
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @type function
|
||||
* @date 24/10/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function ajax_db_update() {
|
||||
|
||||
// options
|
||||
$options = wp_parse_args( $_POST, array(
|
||||
'nonce' => '',
|
||||
'blog_id' => '',
|
||||
));
|
||||
|
||||
|
||||
// validate
|
||||
if( !wp_verify_nonce($options['nonce'], 'acf_db_update') ) {
|
||||
|
||||
wp_send_json_error(array(
|
||||
'message' => __('Error validating request', 'acf')
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
|
||||
// switch blog
|
||||
if( $options['blog_id'] ) {
|
||||
|
||||
switch_to_blog( $options['blog_id'] );
|
||||
|
||||
}
|
||||
|
||||
|
||||
// vars
|
||||
$updates = acf_get_db_updates();
|
||||
$message = '';
|
||||
|
||||
|
||||
// bail early if no updates
|
||||
if( empty($updates) ) {
|
||||
|
||||
wp_send_json_error(array(
|
||||
'message' => __('No updates available.', 'acf')
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
|
||||
// install updates
|
||||
foreach( $updates as $version => $callback ) {
|
||||
|
||||
$message .= $this->run_update( $callback );
|
||||
|
||||
}
|
||||
|
||||
|
||||
// updates complete
|
||||
acf_update_db_version();
|
||||
|
||||
|
||||
// return
|
||||
wp_send_json_success(array(
|
||||
'message' => $message
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* run_db_update
|
||||
*
|
||||
* This function will perform a db upgrade
|
||||
*
|
||||
* @type function
|
||||
* @date 10/09/2016
|
||||
* @since 5.4.0
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function run_update( $callback = '' ) {
|
||||
|
||||
// include update functions
|
||||
acf_include('admin/install-updates.php');
|
||||
|
||||
|
||||
// bail early if not found
|
||||
if( !function_exists($callback) ) return false;
|
||||
|
||||
|
||||
// load any errors / feedback from update
|
||||
ob_start();
|
||||
|
||||
|
||||
// include
|
||||
call_user_func($callback);
|
||||
|
||||
|
||||
// get feedback
|
||||
$message = ob_get_clean();
|
||||
|
||||
|
||||
// return
|
||||
return $message;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* wp_upgrade
|
||||
*
|
||||
* This function will run when the WP database is updated
|
||||
*
|
||||
* @type function
|
||||
* @date 10/09/2016
|
||||
* @since 5.4.0
|
||||
*
|
||||
* @param $wp_db_version (string) The new $wp_db_version
|
||||
* @return $wp_current_db_version (string) The old (current) $wp_db_version
|
||||
*/
|
||||
|
||||
function wp_upgrade( $wp_db_version, $wp_current_db_version ) {
|
||||
|
||||
// termmeta was added in 34370
|
||||
if( $wp_db_version >= 34370 && $wp_current_db_version < 34370 && get_option('acf_update_550_termmeta') ) {
|
||||
|
||||
$this->run_update('acf_update_550_termmeta');
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// initialize
|
||||
acf()->admin->install = new acf_admin_install();
|
||||
|
||||
endif; // class_exists check
|
||||
|
||||
|
||||
/*
|
||||
* acf_get_db_version
|
||||
*
|
||||
* This function will return the current ACF DB version
|
||||
*
|
||||
* @type function
|
||||
* @date 10/09/2016
|
||||
* @since 5.4.0
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function acf_get_db_version() {
|
||||
|
||||
return get_option('acf_version');
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_update_db_version
|
||||
*
|
||||
* This function will update the current ACF DB version
|
||||
*
|
||||
* @type function
|
||||
* @date 10/09/2016
|
||||
* @since 5.4.0
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function acf_update_db_version( $version = '' ) {
|
||||
|
||||
// default to latest
|
||||
if( !$version ) {
|
||||
|
||||
$version = acf_get_setting('version');
|
||||
|
||||
}
|
||||
|
||||
|
||||
// update
|
||||
update_option('acf_version', $version );
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_get_db_updates
|
||||
*
|
||||
* This function will return available db updates
|
||||
*
|
||||
* @type function
|
||||
* @date 12/05/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function acf_get_db_updates() {
|
||||
|
||||
// vars
|
||||
$available = array();
|
||||
$db_updates = acf()->admin->install->db_updates;
|
||||
$acf_version = acf_get_setting('version');
|
||||
$db_version = acf_get_db_version();
|
||||
|
||||
|
||||
// bail early if is fresh install
|
||||
if( !$db_version ) {
|
||||
|
||||
acf_update_db_version($acf_version);
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// bail early if is up to date
|
||||
if( acf_version_compare($db_version, '>=', $acf_version)) return false;
|
||||
|
||||
|
||||
// loop
|
||||
foreach( $db_updates as $version => $callback ) {
|
||||
|
||||
// ignore if update is for a future version (may exist for testing)
|
||||
if( acf_version_compare( $version, '>', $acf_version ) ) continue;
|
||||
|
||||
|
||||
// ignore if update has already been run
|
||||
if( acf_version_compare( $version, '<=', $db_version ) ) continue;
|
||||
|
||||
|
||||
// append
|
||||
$available[ $version ] = $callback;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// bail early if no updates available
|
||||
// - also update DB to current version
|
||||
if( empty($available) ) {
|
||||
|
||||
acf_update_db_version($acf_version);
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// return
|
||||
return $available;
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
372
admin/update.php
372
admin/update.php
|
|
@ -1,372 +0,0 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* ACF Admin Update Class
|
||||
*
|
||||
* All the logic for updates
|
||||
*
|
||||
* @class acf_admin_update
|
||||
* @package ACF
|
||||
* @subpackage Admin
|
||||
*/
|
||||
|
||||
if( ! class_exists('acf_admin_update') ) :
|
||||
|
||||
class acf_admin_update {
|
||||
|
||||
/*
|
||||
* __construct
|
||||
*
|
||||
* A good place to add actions / filters
|
||||
*
|
||||
* @type function
|
||||
* @date 11/08/13
|
||||
*
|
||||
* @param N/A
|
||||
* @return N/A
|
||||
*/
|
||||
|
||||
function __construct() {
|
||||
|
||||
// actions
|
||||
add_action('admin_menu', array($this,'admin_menu'), 20);
|
||||
|
||||
|
||||
// ajax
|
||||
add_action('wp_ajax_acf/admin/data_upgrade', array($this, 'ajax_upgrade'));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* admin_menu
|
||||
*
|
||||
* This function will chck for available updates and add actions if needed
|
||||
*
|
||||
* @type function
|
||||
* @date 19/02/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function admin_menu() {
|
||||
|
||||
// vars
|
||||
$plugin_version = acf_get_setting('version');
|
||||
$acf_version = get_option('acf_version');
|
||||
|
||||
|
||||
// bail early if a new install
|
||||
if( !$acf_version ) {
|
||||
|
||||
update_option('acf_version', $plugin_version );
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// bail early if $acf_version is >= $plugin_version
|
||||
if( version_compare( $acf_version, $plugin_version, '>=') ) {
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// vars
|
||||
$updates = acf_get_updates();
|
||||
|
||||
|
||||
// bail early if no updates available
|
||||
if( empty($updates) ) {
|
||||
|
||||
update_option('acf_version', $plugin_version );
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// bail early if no show_admin
|
||||
if( !acf_get_setting('show_admin') ) {
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// actions
|
||||
add_action('admin_notices', array($this, 'admin_notices'), 1);
|
||||
|
||||
|
||||
// add page
|
||||
$page = add_submenu_page('edit.php?post_type=acf-field-group', __('Upgrade Database','acf'), __('Upgrade Database','acf'), acf_get_setting('capability'), 'acf-upgrade', array($this,'html') );
|
||||
|
||||
|
||||
// actions
|
||||
add_action('load-' . $page, array($this,'load'));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* load
|
||||
*
|
||||
* This function will look at the $_POST data and run any functions if needed
|
||||
*
|
||||
* @type function
|
||||
* @date 7/01/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function load() {
|
||||
|
||||
// hide upgrade
|
||||
remove_action('admin_notices', array($this, 'admin_notices'), 1);
|
||||
|
||||
|
||||
// load acf scripts
|
||||
acf_enqueue_scripts();
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* admin_notices
|
||||
*
|
||||
* This function will render any admin notices
|
||||
*
|
||||
* @type function
|
||||
* @date 17/10/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function admin_notices() {
|
||||
|
||||
// view
|
||||
$view = array(
|
||||
'button_text' => __("Upgrade Database", 'acf'),
|
||||
'button_url' => admin_url('edit.php?post_type=acf-field-group&page=acf-upgrade')
|
||||
);
|
||||
|
||||
|
||||
// load view
|
||||
acf_get_view('update-notice', $view);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* html
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @type function
|
||||
* @date 19/02/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function html() {
|
||||
|
||||
// view
|
||||
$view = array(
|
||||
'updates' => acf_get_updates(),
|
||||
'plugin_version' => acf_get_setting('version')
|
||||
);
|
||||
|
||||
|
||||
// load view
|
||||
acf_get_view('update', $view);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* ajax_upgrade
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @type function
|
||||
* @date 24/10/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function ajax_upgrade() {
|
||||
|
||||
// options
|
||||
$options = wp_parse_args( $_POST, array(
|
||||
'nonce' => '',
|
||||
'blog_id' => '',
|
||||
));
|
||||
|
||||
|
||||
// validate
|
||||
if( !wp_verify_nonce($options['nonce'], 'acf_upgrade') ) {
|
||||
|
||||
wp_send_json_error(array(
|
||||
'message' => __('Error validating request', 'acf')
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
|
||||
// switch blog
|
||||
if( $options['blog_id'] ) {
|
||||
|
||||
switch_to_blog( $options['blog_id'] );
|
||||
|
||||
}
|
||||
|
||||
|
||||
// vars
|
||||
$updates = acf_get_updates();
|
||||
$message = '';
|
||||
|
||||
|
||||
// bail early if no updates
|
||||
if( empty($updates) ) {
|
||||
|
||||
wp_send_json_error(array(
|
||||
'message' => __('No updates available', 'acf')
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
|
||||
// install updates
|
||||
foreach( $updates as $version ) {
|
||||
|
||||
// get path
|
||||
$path = acf_get_path("admin/updates/{$version}.php");
|
||||
|
||||
|
||||
// load version
|
||||
if( !file_exists($path) ) {
|
||||
|
||||
wp_send_json_error(array(
|
||||
'message' => __('Error loading update', 'acf')
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
|
||||
// load any errors / feedback from update
|
||||
ob_start();
|
||||
|
||||
|
||||
// action for 3rd party
|
||||
do_action('acf/upgrade_start/' . $version );
|
||||
|
||||
|
||||
// include
|
||||
include( $path );
|
||||
|
||||
|
||||
// action for 3rd party
|
||||
do_action('acf/upgrade_finish/' . $version );
|
||||
|
||||
|
||||
// get feedback
|
||||
$message .= ob_get_clean();
|
||||
|
||||
|
||||
// update successful
|
||||
update_option('acf_version', $version );
|
||||
|
||||
}
|
||||
|
||||
|
||||
// updates complete
|
||||
update_option('acf_version', acf_get_setting('version'));
|
||||
|
||||
|
||||
// return
|
||||
wp_send_json_success(array(
|
||||
'message' => $message
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* inject_downgrade
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @type function
|
||||
* @date 16/01/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
/*
|
||||
function inject_downgrade( $transient ) {
|
||||
|
||||
// bail early if no plugins are being checked
|
||||
if( empty($transient->checked) ) {
|
||||
|
||||
return $transient;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// bail early if no nonce
|
||||
if( empty($_GET['_acfrollback']) ) {
|
||||
|
||||
return $transient;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// vars
|
||||
$rollback = get_option('acf_version');
|
||||
|
||||
|
||||
// bail early if nonce is not correct
|
||||
if( !wp_verify_nonce( $_GET['_acfrollback'], 'rollback-acf_' . $rollback ) ) {
|
||||
|
||||
return $transient;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// create new object for update
|
||||
$obj = new stdClass();
|
||||
$obj->slug = $_GET['plugin'];
|
||||
$obj->new_version = $rollback;
|
||||
$obj->url = 'https://wordpress.org/plugins/advanced-custom-fields';
|
||||
$obj->package = 'https://downloads.wordpress.org/plugin/advanced-custom-fields.' . $rollback . '.zip';;
|
||||
|
||||
|
||||
// add to transient
|
||||
$transient->response[ $_GET['plugin'] ] = $obj;
|
||||
|
||||
|
||||
// return
|
||||
return $transient;
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
// initialize
|
||||
new acf_admin_update();
|
||||
|
||||
endif;
|
||||
|
||||
?>
|
||||
|
|
@ -1,325 +0,0 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* Upgrade to version 5.0.0
|
||||
*
|
||||
* @type upgrade
|
||||
* @date 20/02/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
// Exit if accessed directly
|
||||
if( !defined('ABSPATH') ) exit;
|
||||
|
||||
|
||||
// global
|
||||
global $wpdb;
|
||||
|
||||
|
||||
// migrate field groups
|
||||
$ofgs = get_posts(array(
|
||||
'numberposts' => -1,
|
||||
'post_type' => 'acf',
|
||||
'orderby' => 'menu_order title',
|
||||
'order' => 'asc',
|
||||
'suppress_filters' => true,
|
||||
));
|
||||
|
||||
|
||||
// populate acfs
|
||||
if( $ofgs ){ foreach( $ofgs as $ofg ){
|
||||
|
||||
// migrate field group
|
||||
$nfg = _migrate_field_group_500( $ofg );
|
||||
|
||||
|
||||
// get field from postmeta
|
||||
$rows = $wpdb->get_results( $wpdb->prepare("SELECT * FROM $wpdb->postmeta WHERE post_id = %d AND meta_key LIKE %s", $ofg->ID, 'field_%'), ARRAY_A);
|
||||
|
||||
|
||||
if( $rows )
|
||||
{
|
||||
$nfg['fields'] = array();
|
||||
|
||||
foreach( $rows as $row )
|
||||
{
|
||||
$field = $row['meta_value'];
|
||||
$field = maybe_unserialize( $field );
|
||||
$field = maybe_unserialize( $field ); // run again for WPML
|
||||
|
||||
|
||||
// add parent
|
||||
$field['parent'] = $nfg['ID'];
|
||||
|
||||
|
||||
// migrate field
|
||||
$field = _migrate_field_500( $field );
|
||||
}
|
||||
}
|
||||
|
||||
}}
|
||||
|
||||
|
||||
/*
|
||||
* _migrate_field_group_500
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @type function
|
||||
* @date 20/02/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function _migrate_field_group_500( $ofg ) {
|
||||
|
||||
// global
|
||||
global $wpdb;
|
||||
|
||||
|
||||
// get post status
|
||||
$post_status = $ofg->post_status;
|
||||
|
||||
|
||||
// create new field group
|
||||
$nfg = array(
|
||||
'ID' => 0,
|
||||
'title' => $ofg->post_title,
|
||||
'menu_order' => $ofg->menu_order,
|
||||
);
|
||||
|
||||
|
||||
// location rules
|
||||
$groups = array();
|
||||
|
||||
|
||||
// get all rules
|
||||
$rules = get_post_meta($ofg->ID, 'rule', false);
|
||||
|
||||
if( is_array($rules) ) {
|
||||
|
||||
$group_no = 0;
|
||||
|
||||
foreach( $rules as $rule ) {
|
||||
|
||||
// if field group was duplicated, it may now be a serialized string!
|
||||
$rule = maybe_unserialize($rule);
|
||||
|
||||
|
||||
// does this rule have a group?
|
||||
// + groups were added in 4.0.4
|
||||
if( !isset($rule['group_no']) ) {
|
||||
|
||||
$rule['group_no'] = $group_no;
|
||||
|
||||
// sperate groups?
|
||||
if( get_post_meta($ofg->ID, 'allorany', true) == 'any' ) {
|
||||
|
||||
$group_no++;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// extract vars
|
||||
$group = acf_extract_var( $rule, 'group_no' );
|
||||
$order = acf_extract_var( $rule, 'order_no' );
|
||||
|
||||
|
||||
// add to group
|
||||
$groups[ $group ][ $order ] = $rule;
|
||||
|
||||
|
||||
// sort rules
|
||||
ksort( $groups[ $group ] );
|
||||
|
||||
}
|
||||
|
||||
// sort groups
|
||||
ksort( $groups );
|
||||
}
|
||||
|
||||
$nfg['location'] = $groups;
|
||||
|
||||
|
||||
// settings
|
||||
if( $position = get_post_meta($ofg->ID, 'position', true) ) {
|
||||
|
||||
$nfg['position'] = $position;
|
||||
|
||||
}
|
||||
|
||||
if( $layout = get_post_meta($ofg->ID, 'layout', true) ) {
|
||||
|
||||
$nfg['layout'] = $layout;
|
||||
|
||||
}
|
||||
|
||||
if( $hide_on_screen = get_post_meta($ofg->ID, 'hide_on_screen', true) ) {
|
||||
|
||||
$nfg['hide_on_screen'] = maybe_unserialize($hide_on_screen);
|
||||
|
||||
}
|
||||
|
||||
|
||||
// Note: acf_update_field_group will call the acf_get_valid_field_group function and apply 'compatibility' changes
|
||||
|
||||
|
||||
// add old ID reference
|
||||
$nfg['old_ID'] = $ofg->ID;
|
||||
|
||||
|
||||
// save field group
|
||||
$nfg = acf_update_field_group( $nfg );
|
||||
|
||||
|
||||
// trash?
|
||||
if( $post_status == 'trash' ) {
|
||||
|
||||
acf_trash_field_group( $nfg['ID'] );
|
||||
|
||||
}
|
||||
|
||||
|
||||
// return
|
||||
return $nfg;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* _migrate_field_500
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @type function
|
||||
* @date 20/02/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function _migrate_field_500( $field ) {
|
||||
|
||||
// orig
|
||||
$orig = $field;
|
||||
|
||||
|
||||
// order_no is now menu_order
|
||||
$field['menu_order'] = acf_extract_var( $field, 'order_no' );
|
||||
|
||||
|
||||
// correct very old field keys
|
||||
if( substr($field['key'], 0, 6) !== 'field_' ) {
|
||||
|
||||
$field['key'] = 'field_' . str_replace('field', '', $field['key']);
|
||||
|
||||
}
|
||||
|
||||
|
||||
// get valid field
|
||||
$field = acf_get_valid_field( $field );
|
||||
|
||||
|
||||
// save field
|
||||
$field = acf_update_field( $field );
|
||||
|
||||
|
||||
// sub fields
|
||||
if( $field['type'] == 'repeater' ) {
|
||||
|
||||
// get sub fields
|
||||
$sub_fields = acf_extract_var( $orig, 'sub_fields' );
|
||||
|
||||
|
||||
// save sub fields
|
||||
if( !empty($sub_fields) ) {
|
||||
|
||||
$keys = array_keys($sub_fields);
|
||||
|
||||
foreach( $keys as $key ) {
|
||||
|
||||
$sub_field = acf_extract_var($sub_fields, $key);
|
||||
$sub_field['parent'] = $field['ID'];
|
||||
|
||||
_migrate_field_500( $sub_field );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
} elseif( $field['type'] == 'flexible_content' ) {
|
||||
|
||||
// get layouts
|
||||
$layouts = acf_extract_var( $orig, 'layouts' );
|
||||
|
||||
|
||||
// update layouts
|
||||
$field['layouts'] = array();
|
||||
|
||||
|
||||
// save sub fields
|
||||
if( !empty($layouts) ) {
|
||||
|
||||
foreach( $layouts as $layout ) {
|
||||
|
||||
// vars
|
||||
$layout_key = uniqid();
|
||||
|
||||
|
||||
// append layotu key
|
||||
$layout['key'] = $layout_key;
|
||||
|
||||
|
||||
// extract sub fields
|
||||
$sub_fields = acf_extract_var($layout, 'sub_fields');
|
||||
|
||||
|
||||
// save sub fields
|
||||
if( !empty($sub_fields) ) {
|
||||
|
||||
$keys = array_keys($sub_fields);
|
||||
|
||||
foreach( $keys as $key ) {
|
||||
|
||||
$sub_field = acf_extract_var($sub_fields, $key);
|
||||
$sub_field['parent'] = $field['ID'];
|
||||
$sub_field['parent_layout'] = $layout_key;
|
||||
|
||||
_migrate_field_500( $sub_field );
|
||||
|
||||
}
|
||||
// foreach
|
||||
|
||||
}
|
||||
// if
|
||||
|
||||
|
||||
// append layout
|
||||
$field['layouts'][] = $layout;
|
||||
|
||||
}
|
||||
// foreach
|
||||
|
||||
}
|
||||
// if
|
||||
|
||||
|
||||
// save field again with less sub field data
|
||||
$field = acf_update_field( $field );
|
||||
|
||||
}
|
||||
|
||||
|
||||
// return
|
||||
return $field;
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
@ -24,7 +24,7 @@ if( empty($groups) ) {
|
|||
}
|
||||
|
||||
?>
|
||||
<tr data-name="conditional_logic" class="acf-field">
|
||||
<tr class="acf-field acf-field-true-false acf-field-setting-conditional_logic" data_type="true_false" data-name="conditional_logic">
|
||||
<td class="acf-label">
|
||||
<label><?php _e("Conditional Logic",'acf'); ?></label>
|
||||
</td>
|
||||
|
|
@ -32,16 +32,12 @@ if( empty($groups) ) {
|
|||
<?php
|
||||
|
||||
acf_render_field(array(
|
||||
'type' => 'radio',
|
||||
'type' => 'true_false',
|
||||
'name' => 'conditional_logic',
|
||||
'prefix' => $field['prefix'],
|
||||
'value' => $disabled ? 0 : 1,
|
||||
'choices' => array(
|
||||
1 => __("Yes",'acf'),
|
||||
0 => __("No",'acf'),
|
||||
),
|
||||
'layout' => 'horizontal',
|
||||
'class' => 'conditional-toggle'
|
||||
'ui' => 1,
|
||||
'class' => 'conditional-toggle',
|
||||
));
|
||||
|
||||
?>
|
||||
|
|
@ -50,11 +46,8 @@ if( empty($groups) ) {
|
|||
<?php foreach( $groups as $group_id => $group ):
|
||||
|
||||
// validate
|
||||
if( empty($group) ) {
|
||||
if( empty($group) ) continue;
|
||||
|
||||
continue;
|
||||
|
||||
}
|
||||
|
||||
// vars
|
||||
// $group_id must be completely different to $rule_id to avoid JS issues
|
||||
|
|
|
|||
|
|
@ -76,84 +76,70 @@ $atts['class'] = str_replace('_', '-', $atts['class']);
|
|||
<table class="acf-table">
|
||||
<tbody>
|
||||
<?php
|
||||
|
||||
|
||||
// label
|
||||
acf_render_field_wrap(array(
|
||||
acf_render_field_setting($field, array(
|
||||
'label' => __('Field Label','acf'),
|
||||
'instructions' => __('This is the name which will appear on the EDIT page','acf'),
|
||||
'required' => 1,
|
||||
'type' => 'text',
|
||||
'name' => 'label',
|
||||
'prefix' => $field['prefix'],
|
||||
'value' => $field['label'],
|
||||
'type' => 'text',
|
||||
'required' => 1,
|
||||
'class' => 'field-label'
|
||||
), 'tr');
|
||||
), true);
|
||||
|
||||
|
||||
// name
|
||||
acf_render_field_wrap(array(
|
||||
acf_render_field_setting($field, array(
|
||||
'label' => __('Field Name','acf'),
|
||||
'instructions' => __('Single word, no spaces. Underscores and dashes allowed','acf'),
|
||||
'required' => 1,
|
||||
'type' => 'text',
|
||||
'name' => 'name',
|
||||
'prefix' => $field['prefix'],
|
||||
'value' => $field['name'],
|
||||
'type' => 'text',
|
||||
'required' => 1,
|
||||
'class' => 'field-name'
|
||||
), 'tr');
|
||||
), true);
|
||||
|
||||
|
||||
// type
|
||||
acf_render_field_wrap(array(
|
||||
acf_render_field_setting($field, array(
|
||||
'label' => __('Field Type','acf'),
|
||||
'instructions' => '',
|
||||
'required' => 1,
|
||||
'type' => 'select',
|
||||
'name' => 'type',
|
||||
'prefix' => $field['prefix'],
|
||||
'value' => $field['type'],
|
||||
'choices' => acf_get_field_types(),
|
||||
'choices' => acf_get_grouped_field_types(),
|
||||
'class' => 'field-type'
|
||||
), 'tr');
|
||||
), true);
|
||||
|
||||
|
||||
// instructions
|
||||
acf_render_field_wrap(array(
|
||||
acf_render_field_setting($field, array(
|
||||
'label' => __('Instructions','acf'),
|
||||
'instructions' => __('Instructions for authors. Shown when submitting data','acf'),
|
||||
'type' => 'textarea',
|
||||
'name' => 'instructions',
|
||||
'prefix' => $field['prefix'],
|
||||
'value' => $field['instructions'],
|
||||
'rows' => 5
|
||||
), 'tr');
|
||||
), true);
|
||||
|
||||
|
||||
// required
|
||||
acf_render_field_wrap(array(
|
||||
acf_render_field_setting($field, array(
|
||||
'label' => __('Required?','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'radio',
|
||||
'type' => 'true_false',
|
||||
'name' => 'required',
|
||||
'prefix' => $field['prefix'],
|
||||
'value' => $field['required'],
|
||||
'choices' => array(
|
||||
1 => __("Yes",'acf'),
|
||||
0 => __("No",'acf'),
|
||||
),
|
||||
'layout' => 'horizontal',
|
||||
'ui' => 1,
|
||||
'class' => 'field-required'
|
||||
), 'tr');
|
||||
|
||||
|
||||
// type specific settings
|
||||
do_action("acf/render_field_settings/type={$field['type']}", $field);
|
||||
), true);
|
||||
|
||||
|
||||
// 3rd party settings
|
||||
do_action('acf/render_field_settings', $field);
|
||||
|
||||
|
||||
// type specific settings
|
||||
do_action("acf/render_field_settings/type={$field['type']}", $field);
|
||||
|
||||
|
||||
// conditional logic
|
||||
acf_get_view('field-group-field-conditional-logic', array( 'field' => $field ));
|
||||
|
||||
|
|
@ -169,7 +155,8 @@ $atts['class'] = str_replace('_', '-', $atts['class']);
|
|||
'prepend' => __('width', 'acf'),
|
||||
'append' => '%',
|
||||
'wrapper' => array(
|
||||
'data-name' => 'wrapper'
|
||||
'data-name' => 'wrapper',
|
||||
'class' => 'acf-field-setting-wrapper'
|
||||
)
|
||||
), 'tr');
|
||||
|
||||
|
|
|
|||
|
|
@ -2,9 +2,7 @@
|
|||
|
||||
// vars
|
||||
$fields = false;
|
||||
$layout = false;
|
||||
$parent = 0;
|
||||
$clone = false;
|
||||
|
||||
|
||||
// use fields if passed in
|
||||
|
|
@ -20,23 +18,22 @@ extract( $args );
|
|||
<li class="li-field-type"><?php _e('Type','acf'); ?></li>
|
||||
</ul>
|
||||
|
||||
<div class="acf-field-list<?php if( $layout ){ echo " layout-{$layout}"; } ?>">
|
||||
<?php
|
||||
<div class="acf-field-list">
|
||||
|
||||
if( $fields ) {
|
||||
|
||||
foreach( $fields as $i => $field ) {
|
||||
|
||||
acf_get_view('field-group-field', array( 'field' => $field, 'i' => $i ));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
<div class="no-fields-message" <?php if( $fields ){ echo 'style="display:none;"'; } ?>>
|
||||
<?php _e("No fields. Click the <strong>+ Add Field</strong> button to create your first field.",'acf'); ?>
|
||||
</div>
|
||||
|
||||
<?php if( $fields ):
|
||||
|
||||
foreach( $fields as $i => $field ):
|
||||
|
||||
acf_get_view('field-group-field', array( 'field' => $field, 'i' => $i ));
|
||||
|
||||
endforeach;
|
||||
|
||||
endif; ?>
|
||||
|
||||
</div>
|
||||
|
||||
<ul class="acf-hl acf-tfoot">
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
$rule_types = apply_filters('acf/location/rule_types', array(
|
||||
__("Post",'acf') => array(
|
||||
'post_type' => __("Post Type",'acf'),
|
||||
'post_template' => __("Post Template",'acf'),
|
||||
'post_status' => __("Post Status",'acf'),
|
||||
'post_format' => __("Post Format",'acf'),
|
||||
'post_category' => __("Post Category",'acf'),
|
||||
|
|
@ -30,6 +31,14 @@ $rule_types = apply_filters('acf/location/rule_types', array(
|
|||
)
|
||||
));
|
||||
|
||||
|
||||
// WP < 4.7
|
||||
if( acf_version_compare('wp', '<', '4.7') ) {
|
||||
|
||||
unset( $rule_types[ __("Post",'acf') ]['post_template'] );
|
||||
|
||||
}
|
||||
|
||||
$rule_operators = apply_filters( 'acf/location/rule_operators', array(
|
||||
'==' => __("is equal to",'acf'),
|
||||
'!=' => __("is not equal to",'acf'),
|
||||
|
|
|
|||
|
|
@ -1,17 +1,16 @@
|
|||
<?php
|
||||
<?php
|
||||
|
||||
// active
|
||||
acf_render_field_wrap(array(
|
||||
'label' => __('Status','acf'),
|
||||
'label' => __('Active','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'select',
|
||||
'type' => 'true_false',
|
||||
'name' => 'active',
|
||||
'prefix' => 'acf_field_group',
|
||||
'value' => $field_group['active'],
|
||||
'choices' => array(
|
||||
1 => __("Active",'acf'),
|
||||
0 => __("Disabled",'acf'),
|
||||
)
|
||||
'ui' => 1,
|
||||
//'ui_on_text' => __('Active', 'acf'),
|
||||
//'ui_off_text' => __('Inactive', 'acf'),
|
||||
));
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ extract($args);
|
|||
|
||||
<p><input type="submit" name="upgrade" value="<?php echo $button; ?>" class="button" id="upgrade-sites-2"></p>
|
||||
|
||||
<p class="show-on-complete"><?php _e('Database Upgrade complete', 'acf'); ?>. <a href="<?php echo network_admin_url(); ?>"><?php _e("Return to network dashboard",'acf'); ?></a>.</p>
|
||||
<p class="show-on-complete"><?php echo sprintf( __('Database Upgrade complete. <a href="%s">Return to network dashboard</a>', 'acf'), network_admin_url() ); ?></p>
|
||||
|
||||
<style type="text/css">
|
||||
|
||||
|
|
@ -172,8 +172,8 @@ extract($args);
|
|||
dataType: 'json',
|
||||
type: 'post',
|
||||
data: {
|
||||
action: 'acf/admin/data_upgrade',
|
||||
nonce: '<?php echo wp_create_nonce('acf_upgrade'); ?>',
|
||||
action: 'acf/admin/db_update',
|
||||
nonce: '<?php echo wp_create_nonce('acf_db_update'); ?>',
|
||||
blog_id: $input.val(),
|
||||
},
|
||||
success: function( json ){
|
||||
|
|
@ -7,13 +7,13 @@ extract($args);
|
|||
|
||||
<h1><?php _e("Advanced Custom Fields Database Upgrade",'acf'); ?></h1>
|
||||
|
||||
<?php if( !empty($updates) ): ?>
|
||||
<?php if( $updates ): ?>
|
||||
|
||||
<p><?php _e('Reading upgrade tasks...', 'acf'); ?></p>
|
||||
|
||||
<p class="show-on-ajax"><i class="acf-loading"></i> <?php printf(__('Upgrading data to version %s', 'acf'), $plugin_version); ?></p>
|
||||
|
||||
<p class="show-on-complete"><?php _e('Database Upgrade complete', 'acf'); ?>. <a href="<?php echo admin_url('edit.php?post_type=acf-field-group&page=acf-settings-info'); ?>"><?php _e("See what's new",'acf'); ?></a>.</p>
|
||||
<p class="show-on-complete"><?php echo sprintf( __('Database Upgrade complete. <a href="%s">See what\'s new</a>', 'acf' ), admin_url('edit.php?post_type=acf-field-group&page=acf-settings-info') ); ?></p>
|
||||
|
||||
<style type="text/css">
|
||||
|
||||
|
|
@ -64,8 +64,8 @@ extract($args);
|
|||
dataType: 'json',
|
||||
type: 'post',
|
||||
data: {
|
||||
action: 'acf/admin/data_upgrade',
|
||||
nonce: '<?php echo wp_create_nonce('acf_upgrade'); ?>'
|
||||
action: 'acf/admin/db_update',
|
||||
nonce: '<?php echo wp_create_nonce('acf_db_update'); ?>'
|
||||
},
|
||||
success: function( json ){
|
||||
|
||||
|
|
@ -107,7 +107,7 @@ extract($args);
|
|||
|
||||
<?php else: ?>
|
||||
|
||||
<p><?php _e('No updates available', 'acf'); ?>.</p>
|
||||
<p><?php _e('No updates available.', 'acf'); ?></p>
|
||||
|
||||
<?php endif; ?>
|
||||
|
||||
|
|
@ -914,11 +914,8 @@ function acf_get_field_group_style( $field_group ) {
|
|||
$e = '';
|
||||
|
||||
|
||||
// validate
|
||||
if( !is_array($field_group['hide_on_screen']) )
|
||||
{
|
||||
return $e;
|
||||
}
|
||||
// bail early if no array or is empty
|
||||
if( !acf_is_array($field_group['hide_on_screen']) ) return $e;
|
||||
|
||||
|
||||
// add style to html
|
||||
|
|
@ -1000,6 +997,7 @@ function acf_get_field_group_style( $field_group ) {
|
|||
|
||||
// return
|
||||
return apply_filters('acf/get_field_group_style', $e, $field_group);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,91 +1,5 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* acf_get_field_types
|
||||
*
|
||||
* This function will return all available field types
|
||||
*
|
||||
* @type function
|
||||
* @date 1/10/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return (array)
|
||||
*/
|
||||
|
||||
function acf_get_field_types() {
|
||||
|
||||
return apply_filters('acf/get_field_types', array());
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_get_field_type_label
|
||||
*
|
||||
* This function will return the label of a field type
|
||||
*
|
||||
* @type function
|
||||
* @date 1/10/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return (array)
|
||||
*/
|
||||
|
||||
function acf_get_field_type_label( $field_type ) {
|
||||
|
||||
// vars
|
||||
$field_types = acf_get_field_types();
|
||||
|
||||
|
||||
// loop through categories
|
||||
foreach( $field_types as $category ) {
|
||||
|
||||
if( isset( $category[ $field_type ] ) ) {
|
||||
|
||||
return $category[ $field_type ];
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// return
|
||||
return '';
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_field_type_exists
|
||||
*
|
||||
* This function will check if the field_type is available
|
||||
*
|
||||
* @type function
|
||||
* @date 1/10/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $field_type (string)
|
||||
* @return (boolean)
|
||||
*/
|
||||
|
||||
function acf_field_type_exists( $field_type ) {
|
||||
|
||||
// vars
|
||||
$label = acf_get_field_type_label( $field_type );
|
||||
|
||||
|
||||
// return true if label exists
|
||||
if( $label !== '' ) return true;
|
||||
|
||||
|
||||
// return
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_is_field_key
|
||||
*
|
||||
|
|
@ -168,7 +82,7 @@ function acf_get_valid_field( $field = false ) {
|
|||
'id' => ''
|
||||
),
|
||||
'_name' => '',
|
||||
'_input' => '',
|
||||
'_prepare' => 0,
|
||||
'_valid' => 0,
|
||||
));
|
||||
|
||||
|
|
@ -177,26 +91,25 @@ function acf_get_valid_field( $field = false ) {
|
|||
$field['_name'] = $field['name'];
|
||||
|
||||
|
||||
// field is now valid
|
||||
$field['_valid'] = 1;
|
||||
|
||||
|
||||
// field specific defaults
|
||||
$field = apply_filters( "acf/get_valid_field", $field );
|
||||
$field = apply_filters( "acf/get_valid_field/type={$field['type']}", $field );
|
||||
|
||||
|
||||
// field is now valid
|
||||
$field['_valid'] = 1;
|
||||
|
||||
|
||||
// translate
|
||||
$field = acf_translate_field( $field );
|
||||
|
||||
|
||||
// return
|
||||
return $field;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* acf_translate_field
|
||||
*
|
||||
|
|
@ -285,44 +198,36 @@ function acf_clone_field( $field, $clone_field ) {
|
|||
function acf_prepare_field( $field ) {
|
||||
|
||||
// bail early if already prepared
|
||||
if( $field['_input'] ) return $field;
|
||||
if( $field['_prepare'] ) return $field;
|
||||
|
||||
|
||||
// _input
|
||||
$field['_input'] = $field['name'];
|
||||
|
||||
|
||||
// _input: key overrides name
|
||||
if( $field['key'] ) {
|
||||
|
||||
$field['_input'] = $field['key'];
|
||||
|
||||
}
|
||||
// key overrides name
|
||||
if( $field['key'] ) $field['name'] = $field['key'];
|
||||
|
||||
|
||||
// _input: prefix prepends name
|
||||
if( $field['prefix'] ) {
|
||||
|
||||
$field['_input'] = "{$field['prefix']}[{$field['_input']}]";
|
||||
|
||||
}
|
||||
// prefix
|
||||
if( $field['prefix'] ) $field['name'] = $field['prefix'] . '[' . $field['name'] . ']';
|
||||
|
||||
|
||||
// add id (may be custom set)
|
||||
if( !$field['id'] ) {
|
||||
|
||||
$field['id'] = str_replace(array('][', '[', ']'), array('-', '-', ''), $field['_input']);
|
||||
|
||||
}
|
||||
// field is now prepared
|
||||
$field['_prepare'] = 1;
|
||||
|
||||
|
||||
// filter to 3rd party customization
|
||||
$field = apply_filters( "acf/prepare_field", $field );
|
||||
$field = apply_filters( "acf/prepare_field/type={$field['type']}", $field );
|
||||
$field = apply_filters( "acf/prepare_field/name={$field['name']}", $field );
|
||||
$field = apply_filters( "acf/prepare_field/name={$field['_name']}", $field );
|
||||
$field = apply_filters( "acf/prepare_field/key={$field['key']}", $field );
|
||||
|
||||
|
||||
// bail ealry if no field
|
||||
if( !$field ) return false;
|
||||
|
||||
|
||||
// id attr is generated from name
|
||||
$field['id'] = str_replace(array('][', '[', ']'), array('-', '-', ''), $field['name']);
|
||||
|
||||
|
||||
// return
|
||||
return $field;
|
||||
|
||||
|
|
@ -469,8 +374,8 @@ function acf_render_field( $field = false ) {
|
|||
$field = acf_prepare_field( $field );
|
||||
|
||||
|
||||
// update $field['name']
|
||||
$field['name'] = $field['_input'];
|
||||
// bail ealry if no field
|
||||
if( !$field ) return;
|
||||
|
||||
|
||||
// create field specific html
|
||||
|
|
@ -506,6 +411,10 @@ function acf_render_field_wrap( $field, $el = 'div', $instruction = 'label' ) {
|
|||
$field = acf_prepare_field( $field );
|
||||
|
||||
|
||||
// bail ealry if no field
|
||||
if( !$field ) return;
|
||||
|
||||
|
||||
// el
|
||||
$elements = apply_filters('acf/render_field_wrap/elements', array(
|
||||
'div' => 'div',
|
||||
|
|
@ -531,7 +440,7 @@ function acf_render_field_wrap( $field, $el = 'div', $instruction = 'label' ) {
|
|||
'class' => 'acf-field',
|
||||
'width' => '',
|
||||
'style' => '',
|
||||
'data-name' => $field['name'],
|
||||
'data-name' => $field['_name'],
|
||||
'data-type' => $field['type'],
|
||||
'data-key' => '',
|
||||
);
|
||||
|
|
@ -658,7 +567,7 @@ function acf_render_field_setting( $field, $setting, $global = false ) {
|
|||
$setting = acf_get_valid_field( $setting );
|
||||
|
||||
|
||||
// if this setting is not global, add a data attribute
|
||||
// specific
|
||||
if( !$global ) {
|
||||
|
||||
$setting['wrapper']['data-setting'] = $field['type'];
|
||||
|
|
@ -666,29 +575,42 @@ function acf_render_field_setting( $field, $setting, $global = false ) {
|
|||
}
|
||||
|
||||
|
||||
// class
|
||||
$setting['wrapper']['class'] .= ' acf-field-setting-' . $setting['name'];
|
||||
|
||||
|
||||
// copy across prefix
|
||||
$setting['prefix'] = $field['prefix'];
|
||||
|
||||
|
||||
// attempt find value
|
||||
if( $setting['value'] === null ) {
|
||||
|
||||
// copy across the $setting value
|
||||
if( isset($field[ $setting['name'] ]) ) {
|
||||
// name
|
||||
if( isset($field[ $setting['name'] ]) ) {
|
||||
|
||||
$setting['value'] = $field[ $setting['name'] ];
|
||||
|
||||
$setting['value'] = $field[ $setting['name'] ];
|
||||
|
||||
} elseif( isset($setting['default_value']) ) {
|
||||
|
||||
// use the default value
|
||||
$setting['value'] = $setting['default_value'];
|
||||
// default
|
||||
} elseif( isset($setting['default_value']) ) {
|
||||
|
||||
$setting['value'] = $setting['default_value'];
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// vars
|
||||
$instructions_placement = acf_extract_var( $setting, 'instructions_placement', 'label' );
|
||||
// append (used by JS to join settings)
|
||||
if( isset($setting['_append']) ) {
|
||||
|
||||
$setting['wrapper']['data-append'] = $setting['_append'];
|
||||
|
||||
}
|
||||
|
||||
|
||||
// render
|
||||
acf_render_field_wrap( $setting, 'tr', $instructions_placement );
|
||||
acf_render_field_wrap( $setting, 'tr', 'label' );
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -1286,7 +1208,7 @@ function acf_update_field( $field = false, $specific = false ) {
|
|||
'class',
|
||||
'parent',
|
||||
'_name',
|
||||
'_input',
|
||||
'_prepare',
|
||||
'_valid',
|
||||
));
|
||||
|
||||
|
|
@ -1728,7 +1650,7 @@ function acf_prepare_field_for_export( $field ) {
|
|||
'class',
|
||||
'parent',
|
||||
'_name',
|
||||
'_input',
|
||||
'_prepare',
|
||||
'_valid',
|
||||
));
|
||||
|
||||
|
|
@ -1826,7 +1748,7 @@ function acf_prepare_field_for_import( $field ) {
|
|||
'id',
|
||||
'class',
|
||||
'_name',
|
||||
'_input',
|
||||
'_prepare',
|
||||
'_valid',
|
||||
));
|
||||
|
||||
|
|
|
|||
|
|
@ -370,30 +370,29 @@ function acf_get_view( $view_name = '', $args = array() ) {
|
|||
function acf_merge_atts( $atts, $extra = array() ) {
|
||||
|
||||
// bail ealry if no $extra
|
||||
if( empty($extra) ) {
|
||||
|
||||
return $atts;
|
||||
|
||||
}
|
||||
if( empty($extra) ) return $atts;
|
||||
|
||||
|
||||
// trim
|
||||
$extra = array_map('trim', $extra);
|
||||
$extra = array_filter($extra);
|
||||
|
||||
|
||||
// merge in new atts
|
||||
foreach( $extra as $k => $v ) {
|
||||
|
||||
|
||||
// append
|
||||
if( $k == 'class' || $k == 'style' ) {
|
||||
|
||||
if( $v === '' ) {
|
||||
|
||||
continue;
|
||||
|
||||
}
|
||||
$atts[ $k ] .= ' ' . $v;
|
||||
|
||||
// merge
|
||||
} else {
|
||||
|
||||
$v = $atts[ $k ] . ' ' . $v;
|
||||
$atts[ $k ] = $v;
|
||||
|
||||
}
|
||||
|
||||
$atts[ $k ] = $v;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -612,48 +611,42 @@ function acf_get_sub_array( $array, $keys ) {
|
|||
* @return (array)
|
||||
*/
|
||||
|
||||
function acf_get_post_types( $exclude = array(), $include = array() ) {
|
||||
function acf_get_post_types( $args = array() ) {
|
||||
|
||||
// get all custom post types
|
||||
$post_types = get_post_types();
|
||||
// vars
|
||||
$exclude = acf_extract_var( $args, 'exclude', array() );
|
||||
$return = array();
|
||||
|
||||
|
||||
// core exclude
|
||||
$exclude = wp_parse_args( $exclude, array('acf-field', 'acf-field-group', 'revision', 'nav_menu_item') );
|
||||
// get post types
|
||||
$post_types = get_post_types( $args, 'objects' );
|
||||
|
||||
|
||||
// include
|
||||
if( !empty($include) ) {
|
||||
// remove ACF post types
|
||||
$exclude[] = 'acf-field';
|
||||
$exclude[] = 'acf-field-group';
|
||||
|
||||
|
||||
// loop
|
||||
foreach( $post_types as $i => $post_type ) {
|
||||
|
||||
foreach( array_keys($include) as $i ) {
|
||||
|
||||
$post_type = $include[ $i ];
|
||||
|
||||
if( post_type_exists($post_type) ) {
|
||||
|
||||
$post_types[ $post_type ] = $post_type;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
// bail early if is exclude
|
||||
if( in_array($i, $exclude) ) continue;
|
||||
|
||||
|
||||
// bail early if is builtin (WP) private post type
|
||||
// - nav_menu_item, revision, customize_changeset, etc
|
||||
if( $post_type->_builtin && !$post_type->public ) continue;
|
||||
|
||||
|
||||
// append
|
||||
$return[] = $i;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// exclude
|
||||
foreach( array_values($exclude) as $i ) {
|
||||
|
||||
unset( $post_types[ $i ] );
|
||||
|
||||
}
|
||||
|
||||
|
||||
// simplify keys
|
||||
$post_types = array_values($post_types);
|
||||
|
||||
|
||||
// return
|
||||
return $post_types;
|
||||
return $return;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -861,75 +854,6 @@ function acf_verify_ajax() {
|
|||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_add_admin_notice
|
||||
*
|
||||
* This function will add the notice data to a setting in the acf object for the admin_notices action to use
|
||||
*
|
||||
* @type function
|
||||
* @date 17/10/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $text (string)
|
||||
* @param $class (string)
|
||||
* @return (int) message ID (array position)
|
||||
*/
|
||||
|
||||
function acf_add_admin_notice( $text, $class = '', $wrap = 'p' )
|
||||
{
|
||||
// vars
|
||||
$admin_notices = acf_get_admin_notices();
|
||||
|
||||
|
||||
// add to array
|
||||
$admin_notices[] = array(
|
||||
'text' => $text,
|
||||
'class' => "updated {$class}",
|
||||
'wrap' => $wrap
|
||||
);
|
||||
|
||||
|
||||
// update
|
||||
acf_update_setting( 'admin_notices', $admin_notices );
|
||||
|
||||
|
||||
// return
|
||||
return ( count( $admin_notices ) - 1 );
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_get_admin_notices
|
||||
*
|
||||
* This function will return an array containing any admin notices
|
||||
*
|
||||
* @type function
|
||||
* @date 17/10/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return (array)
|
||||
*/
|
||||
|
||||
function acf_get_admin_notices()
|
||||
{
|
||||
// vars
|
||||
$admin_notices = acf_get_setting( 'admin_notices' );
|
||||
|
||||
|
||||
// validate
|
||||
if( !$admin_notices )
|
||||
{
|
||||
$admin_notices = array();
|
||||
}
|
||||
|
||||
|
||||
// return
|
||||
return $admin_notices;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_get_image_sizes
|
||||
*
|
||||
|
|
@ -1033,6 +957,70 @@ function acf_get_image_size( $s = '' ) {
|
|||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_version_compare
|
||||
*
|
||||
* This function will compare version left v right
|
||||
*
|
||||
* @type function
|
||||
* @date 21/11/16
|
||||
* @since 5.5.0
|
||||
*
|
||||
* @param $compare (string)
|
||||
* @param $version (string)
|
||||
* @return (boolean)
|
||||
*/
|
||||
|
||||
function acf_version_compare( $left = 'wp', $compare = '>', $right = '1' ) {
|
||||
|
||||
// global
|
||||
global $wp_version;
|
||||
|
||||
|
||||
// wp
|
||||
if( $left === 'wp' ) $left = $wp_version;
|
||||
|
||||
|
||||
// remove '-beta1' or '-RC1'
|
||||
$left = acf_get_full_version($left);
|
||||
$right = acf_get_full_version($right);
|
||||
|
||||
|
||||
// return
|
||||
return version_compare( $left, $right, $compare );
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_get_full_version
|
||||
*
|
||||
* This function will remove any '-beta1' or '-RC1' strings from a version
|
||||
*
|
||||
* @type function
|
||||
* @date 24/11/16
|
||||
* @since 5.5.0
|
||||
*
|
||||
* @param $version (string)
|
||||
* @return (string)
|
||||
*/
|
||||
|
||||
function acf_get_full_version( $version = '1' ) {
|
||||
|
||||
// remove '-beta1' or '-RC1'
|
||||
if( $pos = strpos($version, '-') ) {
|
||||
|
||||
$version = substr($version, 0, $pos);
|
||||
|
||||
}
|
||||
|
||||
|
||||
// return
|
||||
return $version;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_get_terms
|
||||
*
|
||||
|
|
@ -1723,23 +1711,10 @@ function acf_get_grouped_posts( $args ) {
|
|||
$ordered_posts = get_page_children( $parent, $all_posts );
|
||||
|
||||
|
||||
// if has ordered posts
|
||||
// check for empty array (possible if parent did not exist within original data)
|
||||
if( !empty($ordered_posts) ) {
|
||||
|
||||
// reset $this_posts
|
||||
$this_posts = array();
|
||||
|
||||
|
||||
// append
|
||||
for( $i = $offset; $i < ($offset + $length); $i++ ) {
|
||||
|
||||
$this_posts[] = acf_extract_var( $ordered_posts, $i );
|
||||
|
||||
}
|
||||
|
||||
|
||||
// clean up null values
|
||||
$this_posts = array_filter($this_posts);
|
||||
$this_posts = array_slice($ordered_posts, $offset, $length);
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -2325,87 +2300,6 @@ function acf_debug_end() {
|
|||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_get_updates
|
||||
*
|
||||
* This function will reutrn all or relevant updates for ACF
|
||||
*
|
||||
* @type function
|
||||
* @date 12/05/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function acf_get_updates() {
|
||||
|
||||
// vars
|
||||
$updates = array();
|
||||
$plugin_version = acf_get_setting('version');
|
||||
$acf_version = get_option('acf_version');
|
||||
$path = acf_get_path('admin/updates');
|
||||
|
||||
|
||||
// bail early if no version (not activated)
|
||||
if( !$acf_version ) {
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// check that path exists
|
||||
if( !file_exists( $path ) ) {
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
|
||||
$dir = opendir( $path );
|
||||
|
||||
while(false !== ( $file = readdir($dir)) ) {
|
||||
|
||||
// only php files
|
||||
if( substr($file, -4) !== '.php' ) {
|
||||
|
||||
continue;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// get version number
|
||||
$update_version = substr($file, 0, -4);
|
||||
|
||||
|
||||
// ignore if update is for a future version. May exist for testing
|
||||
if( version_compare( $update_version, $plugin_version, '>') ) {
|
||||
|
||||
continue;
|
||||
|
||||
}
|
||||
|
||||
// ignore if update has already been run
|
||||
if( version_compare( $update_version, $acf_version, '<=') ) {
|
||||
|
||||
continue;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// append
|
||||
$updates[] = $update_version;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// return
|
||||
return $updates;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_encode_choices
|
||||
*
|
||||
|
|
@ -2440,7 +2334,7 @@ function acf_encode_choices( $array = array(), $show_keys = true ) {
|
|||
foreach( $array as $k => $v ) {
|
||||
|
||||
// ignore if key and value are the same
|
||||
if( $k === $v ) continue;
|
||||
if( strval($k) == strval($v) ) continue;
|
||||
|
||||
|
||||
// show key in the value
|
||||
|
|
@ -2956,7 +2850,7 @@ function acf_get_valid_post_id( $post_id = 0 ) {
|
|||
// term
|
||||
} elseif( isset($post_id->taxonomy, $post_id->term_id) ) {
|
||||
|
||||
$post_id = $post_id->taxonomy . '_' . $post_id->term_id;
|
||||
$post_id = 'term_' . $post_id->term_id;
|
||||
|
||||
// comment
|
||||
} elseif( isset($post_id->comment_ID) ) {
|
||||
|
|
@ -3083,9 +2977,14 @@ function acf_get_post_id_info( $post_id = 0 ) {
|
|||
$type = explode($glue, $post_id);
|
||||
$id = array_pop($type);
|
||||
$type = implode($glue, $type);
|
||||
$meta = array('post', 'user', 'comment'); // add in 'term'
|
||||
$meta = array('post', 'user', 'comment', 'term'); // add in 'term'
|
||||
|
||||
|
||||
// check if is taxonomy (ACF < 5.5)
|
||||
// - avoid scenario where taxonomy exists with name of meta type
|
||||
if( !in_array($type, $meta) && acf_isset_termmeta($type) ) $type = 'term';
|
||||
|
||||
|
||||
|
||||
// meta
|
||||
if( is_numeric($id) && in_array($type, $meta) ) {
|
||||
|
||||
|
|
@ -3113,34 +3012,58 @@ function acf_get_post_id_info( $post_id = 0 ) {
|
|||
}
|
||||
|
||||
/*
|
||||
echo '<pre>';
|
||||
print_r( acf_get_post_id_info(4) );
|
||||
echo '</pre>';
|
||||
echo '<pre>';
|
||||
print_r( acf_get_post_id_info('post_4') );
|
||||
echo '</pre>';
|
||||
echo '<pre>';
|
||||
print_r( acf_get_post_id_info('user_123') );
|
||||
echo '</pre>';
|
||||
echo '<pre>';
|
||||
print_r( acf_get_post_id_info('term_567') );
|
||||
echo '</pre>';
|
||||
echo '<pre>';
|
||||
print_r( acf_get_post_id_info('comment_6') );
|
||||
echo '</pre>';
|
||||
echo '<pre>';
|
||||
print_r( acf_get_post_id_info('options_lol!') );
|
||||
echo '</pre>';
|
||||
echo '<pre>';
|
||||
print_r( acf_get_post_id_info('option') );
|
||||
echo '</pre>';
|
||||
echo '<pre>';
|
||||
print_r( acf_get_post_id_info('options') );
|
||||
echo '</pre>';
|
||||
die;
|
||||
|
||||
acf_log( acf_get_post_id_info(4) );
|
||||
|
||||
acf_log( acf_get_post_id_info('post_4') );
|
||||
|
||||
acf_log( acf_get_post_id_info('user_123') );
|
||||
|
||||
acf_log( acf_get_post_id_info('term_567') );
|
||||
|
||||
acf_log( acf_get_post_id_info('category_204') );
|
||||
|
||||
acf_log( acf_get_post_id_info('comment_6') );
|
||||
|
||||
acf_log( acf_get_post_id_info('options_lol!') );
|
||||
|
||||
acf_log( acf_get_post_id_info('option') );
|
||||
|
||||
acf_log( acf_get_post_id_info('options') );
|
||||
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* acf_isset_termmeta
|
||||
*
|
||||
* This function will return true if the termmeta table exists
|
||||
* https://developer.wordpress.org/reference/functions/get_term_meta/
|
||||
*
|
||||
* @type function
|
||||
* @date 3/09/2016
|
||||
* @since 5.4.0
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function acf_isset_termmeta( $taxonomy = '' ) {
|
||||
|
||||
// bail ealry if no table
|
||||
if( get_option('db_version') < 34370 ) return false;
|
||||
|
||||
|
||||
// check taxonomy
|
||||
if( $taxonomy && !taxonomy_exists($taxonomy) ) return false;
|
||||
|
||||
|
||||
// return
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_upload_files
|
||||
*
|
||||
|
|
@ -3390,31 +3313,18 @@ function acf_is_screen( $id = '' ) {
|
|||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function acf_maybe_get( $array, $key, $default = null ) {
|
||||
function acf_maybe_get( $array, $key = 0, $default = null ) {
|
||||
|
||||
// vars
|
||||
$keys = explode('/', $key);
|
||||
// if exists
|
||||
if( isset($array[ $key ]) ) {
|
||||
|
||||
return $array[ $key ];
|
||||
|
||||
|
||||
// loop through keys
|
||||
foreach( $keys as $k ) {
|
||||
|
||||
// return default if does not exist
|
||||
if( !isset($array[ $k ]) ) {
|
||||
|
||||
return $default;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// update $array
|
||||
$array = $array[ $k ];
|
||||
|
||||
}
|
||||
|
||||
|
||||
// return
|
||||
return $array;
|
||||
return $default;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -4228,6 +4138,36 @@ function acf_is_row_collapsed( $field_key = '', $row_index = 0 ) {
|
|||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_get_attachment_image
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @type function
|
||||
* @date 24/10/16
|
||||
* @since 5.5.0
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function acf_get_attachment_image( $attachment_id = 0, $size = 'thumbnail' ) {
|
||||
|
||||
// vars
|
||||
$url = wp_get_attachment_image_src($attachment_id, 'thumbnail');
|
||||
$alt = get_post_meta($attachment_id, '_wp_attachment_image_alt', true);
|
||||
|
||||
|
||||
// bail early if no url
|
||||
if( !$url ) return '';
|
||||
|
||||
|
||||
// return
|
||||
$value = '<img src="' . $url . '" alt="' . $alt . '" />';
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_get_post_thumbnail
|
||||
*
|
||||
|
|
@ -4429,12 +4369,8 @@ function acf_format_date( $value, $format ) {
|
|||
}
|
||||
|
||||
|
||||
// translate
|
||||
$value = date_i18n($format, $unixtimestamp);
|
||||
|
||||
|
||||
// return
|
||||
return $value;
|
||||
return date_i18n($format, $unixtimestamp);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -264,6 +264,10 @@ function get_field_objects( $post_id = false, $format_value = true, $load_value
|
|||
|
||||
$meta = get_comment_meta( $info['id'] );
|
||||
|
||||
} elseif( $info['type'] == 'term' ) {
|
||||
|
||||
$meta = get_term_meta( $info['id'] );
|
||||
|
||||
} else {
|
||||
|
||||
$rows = $wpdb->get_results($wpdb->prepare(
|
||||
|
|
@ -1291,8 +1295,8 @@ class acf_template_form {
|
|||
));
|
||||
|
||||
$args['form_attributes'] = wp_parse_args( $args['form_attributes'], array(
|
||||
'id' => 'post',
|
||||
'class' => '',
|
||||
'id' => $args['id'],
|
||||
'class' => 'acf-form',
|
||||
'action' => '',
|
||||
'method' => 'post',
|
||||
));
|
||||
|
|
@ -1322,10 +1326,6 @@ class acf_template_form {
|
|||
}
|
||||
|
||||
|
||||
// attributes
|
||||
$args['form_attributes']['class'] .= ' acf-form';
|
||||
|
||||
|
||||
// register local fields
|
||||
foreach( $this->fields as $k => $field ) {
|
||||
|
||||
|
|
@ -1793,7 +1793,7 @@ function add_sub_row( $selector, $row = false, $post_id = false ) {
|
|||
|
||||
// update
|
||||
return acf_update_value( $value, $post_id, $sub_field );
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -1844,7 +1844,11 @@ function update_row( $selector, $i = 1, $row = false, $post_id = false ) {
|
|||
|
||||
|
||||
// update value
|
||||
return acf_update_value( $value, $post_id, $field );
|
||||
acf_update_value( $value, $post_id, $field );
|
||||
|
||||
|
||||
// return
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -1904,7 +1908,11 @@ function update_sub_row( $selector, $i = 1, $row = false, $post_id = false ) {
|
|||
|
||||
|
||||
// update
|
||||
return acf_update_value( $value, $post_id, $sub_field );
|
||||
acf_update_value( $value, $post_id, $sub_field );
|
||||
|
||||
|
||||
// return
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -480,4 +480,34 @@ function acf_copy_postmeta( $from_post_id, $to_post_id ) {
|
|||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_preview_value
|
||||
*
|
||||
* This function will return a human freindly 'preview' for a given field value
|
||||
*
|
||||
* @type function
|
||||
* @date 24/10/16
|
||||
* @since 5.5.0
|
||||
*
|
||||
* @param $value (mixed)
|
||||
* @param $post_id (mixed)
|
||||
* @param $field (array)
|
||||
* @return (string)
|
||||
*/
|
||||
|
||||
function acf_preview_value( $value, $post_id, $field ) {
|
||||
|
||||
// apply filters
|
||||
$value = apply_filters( "acf/preview_value", $value, $post_id, $field );
|
||||
$value = apply_filters( "acf/preview_value/type={$field['type']}", $value, $post_id, $field );
|
||||
$value = apply_filters( "acf/preview_value/name={$field['_name']}", $value, $post_id, $field );
|
||||
$value = apply_filters( "acf/preview_value/key={$field['key']}", $value, $post_id, $field );
|
||||
|
||||
|
||||
// return
|
||||
return $value;
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -1,3 +1,11 @@
|
|||
/*--------------------------------------------------------------------------------------------
|
||||
*
|
||||
* vars
|
||||
*
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
/* colors */
|
||||
/* acf-field */
|
||||
/* responsive */
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
*
|
||||
* Global
|
||||
|
|
@ -45,6 +53,7 @@
|
|||
}
|
||||
.no-fields-message {
|
||||
padding: 15px 15px;
|
||||
background: #fff;
|
||||
}
|
||||
.acf-field-list-wrap {
|
||||
border: #DFDFDF solid 1px;
|
||||
|
|
@ -66,7 +75,6 @@
|
|||
/* field list */
|
||||
.acf-field-list {
|
||||
background: #F9F9F9;
|
||||
border-top: #E1E1E1 solid 1px;
|
||||
margin-top: -1px;
|
||||
}
|
||||
.acf-field-list a {
|
||||
|
|
@ -82,9 +90,6 @@
|
|||
border-top: #F0F0F0 solid 1px;
|
||||
background: #fff;
|
||||
}
|
||||
.acf-field-object:first-child {
|
||||
border-top: 0 none;
|
||||
}
|
||||
.acf-field-object.ui-sortable-helper {
|
||||
border-top-color: #fff;
|
||||
box-shadow: 0 0 0 1px #DFDFDF, 0 1px 4px rgba(0, 0, 0, 0.1);
|
||||
|
|
@ -149,8 +154,8 @@
|
|||
}
|
||||
/* field object handle (open) */
|
||||
.acf-field-object.open > .handle {
|
||||
background: #00a0d2;
|
||||
border: #0092bf solid 1px;
|
||||
background: #2a9bd9;
|
||||
border: #2696d3 solid 1px;
|
||||
text-shadow: #268FBB 0 1px 0;
|
||||
color: #fff;
|
||||
position: relative;
|
||||
|
|
@ -180,7 +185,7 @@
|
|||
}
|
||||
/* conditional logic */
|
||||
.acf-field-object .rule-groups {
|
||||
margin-top: 10px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
/* field object keys */
|
||||
.acf-field-object .handle .pre-field-key {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,13 @@
|
|||
/*--------------------------------------------------------------------------------------------
|
||||
*
|
||||
* vars
|
||||
*
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
/* colors */
|
||||
/* acf-field */
|
||||
/* responsive */
|
||||
/*--------------------------------------------------------------------------------------------
|
||||
*
|
||||
* General
|
||||
*
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
|
@ -519,6 +527,8 @@ a.acf-icon.-cancel.grey:hover {
|
|||
border: 1px solid #E5E5E5;
|
||||
position: relative;
|
||||
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
|
||||
/* title */
|
||||
/* footer */
|
||||
}
|
||||
.acf-box .title {
|
||||
border-bottom: 1px solid #EEEEEE;
|
||||
|
|
@ -555,20 +565,18 @@ a.acf-icon.-cancel.grey:hover {
|
|||
padding: 15px;
|
||||
position: relative;
|
||||
}
|
||||
.acf-box .footer-blue {
|
||||
.acf-box .footer.-blue {
|
||||
border-top: 0 none;
|
||||
background-color: #52ACCC;
|
||||
background-color: #2a9bd9;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.acf-box .footer-blue a {
|
||||
.acf-box .footer.-blue p {
|
||||
margin: 0;
|
||||
}
|
||||
.acf-box .footer.-blue a {
|
||||
text-decoration: none;
|
||||
text-shadow: none;
|
||||
}
|
||||
.acf-box .footer .acf-hl > li {
|
||||
margin: 0 10px 0 0;
|
||||
}
|
||||
.acf-box .footer .acf-hl > li.acf-fr {
|
||||
margin: 0 0 0 10px;
|
||||
color: inherit;
|
||||
}
|
||||
/* error */
|
||||
.acf-error-message {
|
||||
|
|
@ -1032,13 +1040,14 @@ html[dir="rtl"] #acf-popup .title .acf-icon {
|
|||
}
|
||||
.acf-three-col > div {
|
||||
float: left;
|
||||
margin: 0 0 10px 5%;
|
||||
margin: 0 0 15px 5%;
|
||||
position: relative;
|
||||
width: 30%;
|
||||
}
|
||||
.acf-three-col > div:first-child,
|
||||
.acf-three-col > br + div {
|
||||
margin-left: 0;
|
||||
clear: left;
|
||||
}
|
||||
.acf-three-col > br {
|
||||
display: none;
|
||||
|
|
|
|||
|
|
@ -3,6 +3,9 @@
|
|||
* vars
|
||||
*
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
/* colors */
|
||||
/* acf-field */
|
||||
/* responsive */
|
||||
/*--------------------------------------------------------------------------------------------
|
||||
*
|
||||
* acf-field
|
||||
|
|
@ -559,6 +562,8 @@ ul.acf-checkbox-list {
|
|||
position: relative;
|
||||
padding: 1px;
|
||||
margin: 0;
|
||||
/* hl */
|
||||
/* rtl */
|
||||
}
|
||||
ul.acf-radio-list li,
|
||||
ul.acf-checkbox-list li {
|
||||
|
|
@ -567,38 +572,150 @@ ul.acf-checkbox-list li {
|
|||
margin: 0;
|
||||
position: relative;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
ul.acf-hl.acf-radio-list li,
|
||||
ul.acf-hl.acf-checkbox-list li {
|
||||
margin-right: 20px;
|
||||
clear: none;
|
||||
}
|
||||
ul.acf-radio-list li input,
|
||||
ul.acf-checkbox-list li input {
|
||||
margin: -1px 4px 0 0;
|
||||
vertical-align: middle;
|
||||
/* attachment sidebar fix*/
|
||||
}
|
||||
ul.acf-radio-list li label,
|
||||
ul.acf-checkbox-list li label {
|
||||
display: inline;
|
||||
}
|
||||
ul.acf-radio-list li input[type="checkbox"],
|
||||
ul.acf-checkbox-list li input[type="checkbox"],
|
||||
ul.acf-radio-list li input[type="radio"],
|
||||
ul.acf-checkbox-list li input[type="radio"] {
|
||||
margin: -1px 4px 0 0;
|
||||
vertical-align: middle;
|
||||
}
|
||||
ul.acf-radio-list li input[type="text"],
|
||||
ul.acf-checkbox-list li input[type="text"] {
|
||||
width: auto;
|
||||
vertical-align: middle;
|
||||
margin: 2px 0;
|
||||
}
|
||||
ul.acf-radio-list li input[type="text"] {
|
||||
width: auto;
|
||||
}
|
||||
/* attachment sidebar fix*/
|
||||
ul.acf-radio-list li span,
|
||||
ul.acf-checkbox-list li span {
|
||||
float: none;
|
||||
}
|
||||
/* rtl */
|
||||
html[dir="rtl"] ul.acf-radio-list li input,
|
||||
html[dir="rtl"] ul.acf-checkbox-list li input {
|
||||
ul.acf-radio-list.acf-hl li,
|
||||
ul.acf-checkbox-list.acf-hl li {
|
||||
margin-right: 20px;
|
||||
clear: none;
|
||||
}
|
||||
html[dir="rtl"] ul.acf-radio-list input[type="checkbox"],
|
||||
html[dir="rtl"] ul.acf-checkbox-list input[type="checkbox"],
|
||||
html[dir="rtl"] ul.acf-radio-list input[type="radio"],
|
||||
html[dir="rtl"] ul.acf-checkbox-list input[type="radio"] {
|
||||
margin-left: 4px;
|
||||
margin-right: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
*
|
||||
* Checkbox
|
||||
*
|
||||
*---------------------------------------------------------------------------------------------*/
|
||||
.acf-checkbox-list .button {
|
||||
margin: 10px 0 0;
|
||||
}
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
*
|
||||
* True / False
|
||||
*
|
||||
*---------------------------------------------------------------------------------------------*/
|
||||
.acf-switch {
|
||||
display: inline-block;
|
||||
border-radius: 5px;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
background: #f1f1f1;
|
||||
height: 30px;
|
||||
vertical-align: middle;
|
||||
box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.1);
|
||||
-webkit-transition: background 0.25s ease;
|
||||
-moz-transition: background 0.25s ease;
|
||||
-o-transition: background 0.25s ease;
|
||||
transition: background 0.25s ease;
|
||||
/* hover */
|
||||
/* active */
|
||||
/* message */
|
||||
}
|
||||
.acf-switch span {
|
||||
display: inline-block;
|
||||
float: left;
|
||||
text-align: center;
|
||||
font-size: 13px;
|
||||
line-height: 22px;
|
||||
padding: 4px 10px;
|
||||
min-width: 15px;
|
||||
}
|
||||
.acf-switch span i {
|
||||
vertical-align: middle;
|
||||
}
|
||||
.acf-switch .acf-switch-on {
|
||||
color: #fff;
|
||||
text-shadow: #1f7db1 0 1px 0;
|
||||
}
|
||||
.acf-switch .acf-switch-slider {
|
||||
position: absolute;
|
||||
top: 3px;
|
||||
left: 3px;
|
||||
bottom: 3px;
|
||||
right: 50%;
|
||||
z-index: 1;
|
||||
background: #fff;
|
||||
border-radius: 3px;
|
||||
border: #ccc solid 1px;
|
||||
-webkit-transition: all 0.25s ease;
|
||||
-moz-transition: all 0.25s ease;
|
||||
-o-transition: all 0.25s ease;
|
||||
transition: all 0.25s ease;
|
||||
}
|
||||
.acf-switch:hover {
|
||||
background: #eeeeee;
|
||||
}
|
||||
.acf-switch.-on {
|
||||
background: #2a9bd9;
|
||||
}
|
||||
.acf-switch.-on .acf-switch-slider {
|
||||
left: 50%;
|
||||
right: 3px;
|
||||
border-color: #1f7db1;
|
||||
}
|
||||
.acf-switch + span {
|
||||
margin-left: 6px;
|
||||
}
|
||||
/*
|
||||
.acf-field[data-name="alt"] .acf-switch {
|
||||
background: #fff;
|
||||
border: #dddddd solid 1px;
|
||||
height: 30px;
|
||||
|
||||
span {
|
||||
padding: 3px 10px;
|
||||
}
|
||||
|
||||
.acf-switch-slider {
|
||||
background: #f9f9f9;
|
||||
border: #bbbbbb solid 1px;
|
||||
box-shadow: none;
|
||||
margin: 3px;
|
||||
}
|
||||
|
||||
|
||||
&.-on {
|
||||
border-color: #2c91fc;
|
||||
background: @acf_blue_input2;
|
||||
|
||||
.acf-switch-slider {
|
||||
background: #fff;
|
||||
border-color: darken(@acf_blue_input2, 20%);
|
||||
margin-left: -4px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
*/
|
||||
/*--------------------------------------------------------------------------
|
||||
*
|
||||
* Google Map
|
||||
|
|
@ -870,6 +987,20 @@ html[dir="rtl"] .acf-relationship .selection .values .acf-icon {
|
|||
* WYSIWYG
|
||||
*
|
||||
*-------------------------------------------------------------------------*/
|
||||
.acf-editor-wrap {
|
||||
/* delay */
|
||||
}
|
||||
.acf-editor-wrap.delay .acf-editor-toolbar {
|
||||
content: "";
|
||||
display: block;
|
||||
background: #f5f5f5;
|
||||
border-bottom: #dddddd solid 1px;
|
||||
color: #555d66;
|
||||
padding: 10px;
|
||||
}
|
||||
.acf-editor-wrap.delay textarea {
|
||||
padding: 10px;
|
||||
}
|
||||
.acf-editor-wrap iframe {
|
||||
min-height: 200px;
|
||||
}
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 613 B After Width: | Height: | Size: 613 B |
|
Before Width: | Height: | Size: 845 B After Width: | Height: | Size: 845 B |
|
|
@ -0,0 +1,431 @@
|
|||
.select2-container {
|
||||
box-sizing: border-box;
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
position: relative;
|
||||
vertical-align: middle; }
|
||||
.select2-container .select2-selection--single {
|
||||
box-sizing: border-box;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
height: 28px;
|
||||
user-select: none;
|
||||
-webkit-user-select: none; }
|
||||
.select2-container .select2-selection--single .select2-selection__rendered {
|
||||
display: block;
|
||||
padding-left: 8px;
|
||||
padding-right: 20px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap; }
|
||||
.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
|
||||
padding-right: 8px;
|
||||
padding-left: 20px; }
|
||||
.select2-container .select2-selection--multiple {
|
||||
box-sizing: border-box;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
min-height: 32px;
|
||||
user-select: none;
|
||||
-webkit-user-select: none; }
|
||||
.select2-container .select2-selection--multiple .select2-selection__rendered {
|
||||
display: inline-block;
|
||||
overflow: hidden;
|
||||
padding-left: 8px;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap; }
|
||||
.select2-container .select2-search--inline {
|
||||
float: left; }
|
||||
.select2-container .select2-search--inline .select2-search__field {
|
||||
box-sizing: border-box;
|
||||
border: none;
|
||||
font-size: 100%;
|
||||
margin-top: 5px; }
|
||||
.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
|
||||
-webkit-appearance: none; }
|
||||
|
||||
.select2-dropdown {
|
||||
background-color: white;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 4px;
|
||||
box-sizing: border-box;
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: -100000px;
|
||||
width: 100%;
|
||||
z-index: 1051; }
|
||||
|
||||
.select2-results {
|
||||
display: block; }
|
||||
|
||||
.select2-results__options {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0; }
|
||||
|
||||
.select2-results__option {
|
||||
padding: 6px;
|
||||
user-select: none;
|
||||
-webkit-user-select: none; }
|
||||
.select2-results__option[aria-selected] {
|
||||
cursor: pointer; }
|
||||
|
||||
.select2-container--open .select2-dropdown {
|
||||
left: 0; }
|
||||
|
||||
.select2-container--open .select2-dropdown--above {
|
||||
border-bottom: none;
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0; }
|
||||
|
||||
.select2-container--open .select2-dropdown--below {
|
||||
border-top: none;
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0; }
|
||||
|
||||
.select2-search--dropdown {
|
||||
display: block;
|
||||
padding: 4px; }
|
||||
.select2-search--dropdown .select2-search__field {
|
||||
padding: 4px;
|
||||
width: 100%;
|
||||
box-sizing: border-box; }
|
||||
.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
|
||||
-webkit-appearance: none; }
|
||||
.select2-search--dropdown.select2-search--hide {
|
||||
display: none; }
|
||||
|
||||
.select2-close-mask {
|
||||
border: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: block;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
min-height: 100%;
|
||||
min-width: 100%;
|
||||
height: auto;
|
||||
width: auto;
|
||||
opacity: 0;
|
||||
z-index: 99;
|
||||
background-color: #fff;
|
||||
filter: alpha(opacity=0); }
|
||||
|
||||
.select2-hidden-accessible {
|
||||
border: 0;
|
||||
clip: rect(0 0 0 0);
|
||||
height: 1px;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
width: 1px; }
|
||||
|
||||
.select2-container--default .select2-selection--single {
|
||||
background-color: #fff;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 4px; }
|
||||
.select2-container--default .select2-selection--single .select2-selection__rendered {
|
||||
color: #444;
|
||||
line-height: 28px; }
|
||||
.select2-container--default .select2-selection--single .select2-selection__clear {
|
||||
cursor: pointer;
|
||||
float: right;
|
||||
font-weight: bold; }
|
||||
.select2-container--default .select2-selection--single .select2-selection__placeholder {
|
||||
color: #999; }
|
||||
.select2-container--default .select2-selection--single .select2-selection__arrow {
|
||||
height: 26px;
|
||||
position: absolute;
|
||||
top: 1px;
|
||||
right: 1px;
|
||||
width: 20px; }
|
||||
.select2-container--default .select2-selection--single .select2-selection__arrow b {
|
||||
border-color: #888 transparent transparent transparent;
|
||||
border-style: solid;
|
||||
border-width: 5px 4px 0 4px;
|
||||
height: 0;
|
||||
left: 50%;
|
||||
margin-left: -4px;
|
||||
margin-top: -2px;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
width: 0; }
|
||||
.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
|
||||
float: left; }
|
||||
.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
|
||||
left: 1px;
|
||||
right: auto; }
|
||||
.select2-container--default.select2-container--disabled .select2-selection--single {
|
||||
background-color: #eee;
|
||||
cursor: default; }
|
||||
.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
|
||||
display: none; }
|
||||
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
|
||||
border-color: transparent transparent #888 transparent;
|
||||
border-width: 0 4px 5px 4px; }
|
||||
.select2-container--default .select2-selection--multiple {
|
||||
background-color: white;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 4px;
|
||||
cursor: text; }
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__rendered {
|
||||
box-sizing: border-box;
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0 5px;
|
||||
width: 100%; }
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__placeholder {
|
||||
color: #999;
|
||||
margin-top: 5px;
|
||||
float: left; }
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__clear {
|
||||
cursor: pointer;
|
||||
float: right;
|
||||
font-weight: bold;
|
||||
margin-top: 5px;
|
||||
margin-right: 10px; }
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__choice {
|
||||
background-color: #e4e4e4;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 4px;
|
||||
cursor: default;
|
||||
float: left;
|
||||
margin-right: 5px;
|
||||
margin-top: 5px;
|
||||
padding: 0 5px; }
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
|
||||
color: #999;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
font-weight: bold;
|
||||
margin-right: 2px; }
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
|
||||
color: #333; }
|
||||
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder {
|
||||
float: right; }
|
||||
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
|
||||
margin-left: 5px;
|
||||
margin-right: auto; }
|
||||
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
|
||||
margin-left: 2px;
|
||||
margin-right: auto; }
|
||||
.select2-container--default.select2-container--focus .select2-selection--multiple {
|
||||
border: solid black 1px;
|
||||
outline: 0; }
|
||||
.select2-container--default.select2-container--disabled .select2-selection--multiple {
|
||||
background-color: #eee;
|
||||
cursor: default; }
|
||||
.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
|
||||
display: none; }
|
||||
.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0; }
|
||||
.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0; }
|
||||
.select2-container--default .select2-search--dropdown .select2-search__field {
|
||||
border: 1px solid #aaa; }
|
||||
.select2-container--default .select2-search--inline .select2-search__field {
|
||||
background: transparent;
|
||||
border: none;
|
||||
outline: 0; }
|
||||
.select2-container--default .select2-results > .select2-results__options {
|
||||
max-height: 200px;
|
||||
overflow-y: auto; }
|
||||
.select2-container--default .select2-results__option[role=group] {
|
||||
padding: 0; }
|
||||
.select2-container--default .select2-results__option[aria-disabled=true] {
|
||||
color: #999; }
|
||||
.select2-container--default .select2-results__option[aria-selected=true] {
|
||||
background-color: #ddd; }
|
||||
.select2-container--default .select2-results__option .select2-results__option {
|
||||
padding-left: 1em; }
|
||||
.select2-container--default .select2-results__option .select2-results__option .select2-results__group {
|
||||
padding-left: 0; }
|
||||
.select2-container--default .select2-results__option .select2-results__option .select2-results__option {
|
||||
margin-left: -1em;
|
||||
padding-left: 2em; }
|
||||
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
||||
margin-left: -2em;
|
||||
padding-left: 3em; }
|
||||
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
||||
margin-left: -3em;
|
||||
padding-left: 4em; }
|
||||
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
||||
margin-left: -4em;
|
||||
padding-left: 5em; }
|
||||
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
||||
margin-left: -5em;
|
||||
padding-left: 6em; }
|
||||
.select2-container--default .select2-results__option--highlighted[aria-selected] {
|
||||
background-color: #5897fb;
|
||||
color: white; }
|
||||
.select2-container--default .select2-results__group {
|
||||
cursor: default;
|
||||
display: block;
|
||||
padding: 6px; }
|
||||
|
||||
.select2-container--classic .select2-selection--single {
|
||||
background-color: #f6f6f6;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 4px;
|
||||
outline: 0;
|
||||
background-image: -webkit-linear-gradient(top, #ffffff 50%, #eeeeee 100%);
|
||||
background-image: -o-linear-gradient(top, #ffffff 50%, #eeeeee 100%);
|
||||
background-image: linear-gradient(to bottom, #ffffff 50%, #eeeeee 100%);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0); }
|
||||
.select2-container--classic .select2-selection--single:focus {
|
||||
border: 1px solid #5897fb; }
|
||||
.select2-container--classic .select2-selection--single .select2-selection__rendered {
|
||||
color: #444;
|
||||
line-height: 28px; }
|
||||
.select2-container--classic .select2-selection--single .select2-selection__clear {
|
||||
cursor: pointer;
|
||||
float: right;
|
||||
font-weight: bold;
|
||||
margin-right: 10px; }
|
||||
.select2-container--classic .select2-selection--single .select2-selection__placeholder {
|
||||
color: #999; }
|
||||
.select2-container--classic .select2-selection--single .select2-selection__arrow {
|
||||
background-color: #ddd;
|
||||
border: none;
|
||||
border-left: 1px solid #aaa;
|
||||
border-top-right-radius: 4px;
|
||||
border-bottom-right-radius: 4px;
|
||||
height: 26px;
|
||||
position: absolute;
|
||||
top: 1px;
|
||||
right: 1px;
|
||||
width: 20px;
|
||||
background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
|
||||
background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
|
||||
background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#cccccc', GradientType=0); }
|
||||
.select2-container--classic .select2-selection--single .select2-selection__arrow b {
|
||||
border-color: #888 transparent transparent transparent;
|
||||
border-style: solid;
|
||||
border-width: 5px 4px 0 4px;
|
||||
height: 0;
|
||||
left: 50%;
|
||||
margin-left: -4px;
|
||||
margin-top: -2px;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
width: 0; }
|
||||
.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear {
|
||||
float: left; }
|
||||
.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow {
|
||||
border: none;
|
||||
border-right: 1px solid #aaa;
|
||||
border-radius: 0;
|
||||
border-top-left-radius: 4px;
|
||||
border-bottom-left-radius: 4px;
|
||||
left: 1px;
|
||||
right: auto; }
|
||||
.select2-container--classic.select2-container--open .select2-selection--single {
|
||||
border: 1px solid #5897fb; }
|
||||
.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
|
||||
background: transparent;
|
||||
border: none; }
|
||||
.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
|
||||
border-color: transparent transparent #888 transparent;
|
||||
border-width: 0 4px 5px 4px; }
|
||||
.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
|
||||
border-top: none;
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
background-image: -webkit-linear-gradient(top, #ffffff 0%, #eeeeee 50%);
|
||||
background-image: -o-linear-gradient(top, #ffffff 0%, #eeeeee 50%);
|
||||
background-image: linear-gradient(to bottom, #ffffff 0%, #eeeeee 50%);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0); }
|
||||
.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
|
||||
border-bottom: none;
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
background-image: -webkit-linear-gradient(top, #eeeeee 50%, #ffffff 100%);
|
||||
background-image: -o-linear-gradient(top, #eeeeee 50%, #ffffff 100%);
|
||||
background-image: linear-gradient(to bottom, #eeeeee 50%, #ffffff 100%);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0); }
|
||||
.select2-container--classic .select2-selection--multiple {
|
||||
background-color: white;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 4px;
|
||||
cursor: text;
|
||||
outline: 0; }
|
||||
.select2-container--classic .select2-selection--multiple:focus {
|
||||
border: 1px solid #5897fb; }
|
||||
.select2-container--classic .select2-selection--multiple .select2-selection__rendered {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0 5px; }
|
||||
.select2-container--classic .select2-selection--multiple .select2-selection__clear {
|
||||
display: none; }
|
||||
.select2-container--classic .select2-selection--multiple .select2-selection__choice {
|
||||
background-color: #e4e4e4;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 4px;
|
||||
cursor: default;
|
||||
float: left;
|
||||
margin-right: 5px;
|
||||
margin-top: 5px;
|
||||
padding: 0 5px; }
|
||||
.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
|
||||
color: #888;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
font-weight: bold;
|
||||
margin-right: 2px; }
|
||||
.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
|
||||
color: #555; }
|
||||
.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
|
||||
float: right; }
|
||||
.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
|
||||
margin-left: 5px;
|
||||
margin-right: auto; }
|
||||
.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
|
||||
margin-left: 2px;
|
||||
margin-right: auto; }
|
||||
.select2-container--classic.select2-container--open .select2-selection--multiple {
|
||||
border: 1px solid #5897fb; }
|
||||
.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
|
||||
border-top: none;
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0; }
|
||||
.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
|
||||
border-bottom: none;
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0; }
|
||||
.select2-container--classic .select2-search--dropdown .select2-search__field {
|
||||
border: 1px solid #aaa;
|
||||
outline: 0; }
|
||||
.select2-container--classic .select2-search--inline .select2-search__field {
|
||||
outline: 0; }
|
||||
.select2-container--classic .select2-dropdown {
|
||||
background-color: white;
|
||||
border: 1px solid transparent; }
|
||||
.select2-container--classic .select2-dropdown--above {
|
||||
border-bottom: none; }
|
||||
.select2-container--classic .select2-dropdown--below {
|
||||
border-top: none; }
|
||||
.select2-container--classic .select2-results > .select2-results__options {
|
||||
max-height: 200px;
|
||||
overflow-y: auto; }
|
||||
.select2-container--classic .select2-results__option[role=group] {
|
||||
padding: 0; }
|
||||
.select2-container--classic .select2-results__option[aria-disabled=true] {
|
||||
color: grey; }
|
||||
.select2-container--classic .select2-results__option--highlighted[aria-selected] {
|
||||
background-color: #3875d7;
|
||||
color: white; }
|
||||
.select2-container--classic .select2-results__group {
|
||||
cursor: default;
|
||||
display: block;
|
||||
padding: 6px; }
|
||||
.select2-container--classic.select2-container--open .select2-dropdown {
|
||||
border-color: #5897fb; }
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
|
|
@ -29,6 +29,7 @@ class acf_compatibility {
|
|||
add_filter('acf/get_valid_field/type=date_picker', array($this, 'get_valid_date_picker_field'), 20, 1);
|
||||
add_filter('acf/get_valid_field/type=taxonomy', array($this, 'get_valid_taxonomy_field'), 20, 1);
|
||||
add_filter('acf/get_valid_field/type=date_time_picker', array($this, 'get_valid_date_time_picker_field'), 20, 1);
|
||||
add_filter('acf/get_valid_field/type=user', array($this, 'get_valid_user_field'), 20, 1);
|
||||
|
||||
|
||||
// field groups
|
||||
|
|
@ -333,13 +334,17 @@ class acf_compatibility {
|
|||
|
||||
|
||||
// convert from js to php
|
||||
$date_format = acf_convert_date_to_php( $date_format );
|
||||
//$date_format = acf_convert_date_to_php( $date_format );
|
||||
$display_format = acf_convert_date_to_php( $display_format );
|
||||
|
||||
|
||||
// bail early if already matches 'Ymd'
|
||||
if( $date_format === 'yymmdd' ) return $field;
|
||||
|
||||
|
||||
// append settings
|
||||
$field['return_format'] = $date_format;
|
||||
$field['display_format'] = $display_format;
|
||||
$field['save_format'] = $date_format;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -430,6 +435,51 @@ class acf_compatibility {
|
|||
}
|
||||
|
||||
|
||||
/*
|
||||
* get_valid_user_field
|
||||
*
|
||||
* This function will provide compatibility with ACF4 fields
|
||||
*
|
||||
* @type function
|
||||
* @date 23/04/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $field (array)
|
||||
* @return $field
|
||||
*/
|
||||
|
||||
function get_valid_user_field( $field ) {
|
||||
|
||||
// remove 'all' from roles
|
||||
if( acf_in_array('all', $field['role']) ) {
|
||||
|
||||
$field['role'] = '';
|
||||
|
||||
}
|
||||
|
||||
|
||||
// field_type removed in favour of multiple
|
||||
if( !empty($field['field_type']) ) {
|
||||
|
||||
// extract vars
|
||||
$field_type = acf_extract_var( $field, 'field_type' );
|
||||
|
||||
|
||||
// multiple
|
||||
if( $field_type === 'multi_select' ) {
|
||||
|
||||
$field['multiple'] = true;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// return
|
||||
return $field;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* get_valid_field_group
|
||||
*
|
||||
|
|
|
|||
287
core/field.php
287
core/field.php
|
|
@ -1,12 +1,16 @@
|
|||
<?php
|
||||
|
||||
if( ! class_exists('acf_field') ) :
|
||||
|
||||
class acf_field {
|
||||
|
||||
var $name,
|
||||
$title,
|
||||
$category,
|
||||
$defaults,
|
||||
$l10n;
|
||||
// vars
|
||||
var $name = '',
|
||||
$label = '',
|
||||
$category = 'basic',
|
||||
$defaults = array(),
|
||||
$l10n = array(),
|
||||
$public = true;
|
||||
|
||||
|
||||
/*
|
||||
|
|
@ -24,42 +28,43 @@ class acf_field {
|
|||
|
||||
function __construct() {
|
||||
|
||||
// register field
|
||||
add_filter("acf/get_field_types", array($this, 'get_field_types'), 10, 1);
|
||||
add_filter("acf/get_valid_field/type={$this->name}", array($this, 'get_valid_field'), 10, 1);
|
||||
// info
|
||||
$this->add_filter('acf/get_field_types', array($this, 'get_field_types'), 10, 1);
|
||||
|
||||
|
||||
// value
|
||||
$this->add_filter("acf/load_value/type={$this->name}", array($this, 'load_value'), 10, 3);
|
||||
$this->add_filter("acf/update_value/type={$this->name}", array($this, 'update_value'), 10, 3);
|
||||
$this->add_filter("acf/format_value/type={$this->name}", array($this, 'format_value'), 10, 3);
|
||||
$this->add_filter("acf/validate_value/type={$this->name}", array($this, 'validate_value'), 10, 4);
|
||||
$this->add_action("acf/delete_value/type={$this->name}", array($this, 'delete_value'), 10, 3);
|
||||
$this->add_field_filter('acf/load_value', array($this, 'load_value'), 10, 3);
|
||||
$this->add_field_filter('acf/update_value', array($this, 'update_value'), 10, 3);
|
||||
$this->add_field_filter('acf/format_value', array($this, 'format_value'), 10, 3);
|
||||
$this->add_field_filter('acf/validate_value', array($this, 'validate_value'), 10, 4);
|
||||
$this->add_field_action('acf/delete_value', array($this, 'delete_value'), 10, 3);
|
||||
|
||||
|
||||
// field
|
||||
$this->add_filter("acf/load_field/type={$this->name}", array($this, 'load_field'), 10, 1);
|
||||
$this->add_filter("acf/update_field/type={$this->name}", array($this, 'update_field'), 10, 1);
|
||||
$this->add_filter("acf/duplicate_field/type={$this->name}", array($this, 'duplicate_field'), 10, 1);
|
||||
$this->add_action("acf/delete_field/type={$this->name}", array($this, 'delete_field'), 10, 1);
|
||||
$this->add_action("acf/render_field/type={$this->name}", array($this, 'render_field'), 10, 1);
|
||||
$this->add_action("acf/render_field_settings/type={$this->name}", array($this, 'render_field_settings'), 10, 1);
|
||||
$this->add_action("acf/prepare_field/type={$this->name}", array($this, 'prepare_field'), 10, 1);
|
||||
$this->add_action("acf/translate_field/type={$this->name}", array($this, 'translate_field'), 10, 1);
|
||||
$this->add_field_filter('acf/get_valid_field', array($this, 'get_valid_field'), 10, 1);
|
||||
$this->add_field_filter('acf/load_field', array($this, 'load_field'), 10, 1);
|
||||
$this->add_field_filter('acf/update_field', array($this, 'update_field'), 10, 1);
|
||||
$this->add_field_filter('acf/duplicate_field', array($this, 'duplicate_field'), 10, 1);
|
||||
$this->add_field_action('acf/delete_field', array($this, 'delete_field'), 10, 1);
|
||||
$this->add_field_action('acf/render_field', array($this, 'render_field'), 9, 1);
|
||||
$this->add_field_action('acf/render_field_settings', array($this, 'render_field_settings'), 9, 1);
|
||||
$this->add_field_filter('acf/prepare_field', array($this, 'prepare_field'), 10, 1);
|
||||
$this->add_field_filter('acf/translate_field', array($this, 'translate_field'), 10, 1);
|
||||
|
||||
|
||||
// input actions
|
||||
$this->add_action("acf/input/admin_enqueue_scripts", array($this, 'input_admin_enqueue_scripts'), 10, 0);
|
||||
$this->add_action("acf/input/admin_head", array($this, 'input_admin_head'), 10, 0);
|
||||
$this->add_action("acf/input/form_data", array($this, 'input_form_data'), 10, 1);
|
||||
$this->add_filter("acf/input/admin_l10n", array($this, 'input_admin_l10n'), 10, 1);
|
||||
$this->add_action("acf/input/admin_footer", array($this, 'input_admin_footer'), 10, 1);
|
||||
$this->add_action("acf/input/admin_enqueue_scripts", array($this, 'input_admin_enqueue_scripts'), 10, 0);
|
||||
$this->add_action("acf/input/admin_head", array($this, 'input_admin_head'), 10, 0);
|
||||
$this->add_action("acf/input/form_data", array($this, 'input_form_data'), 10, 1);
|
||||
$this->add_filter("acf/input/admin_l10n", array($this, 'input_admin_l10n'), 10, 1);
|
||||
$this->add_action("acf/input/admin_footer", array($this, 'input_admin_footer'), 10, 1);
|
||||
|
||||
|
||||
// field group actions
|
||||
$this->add_action("acf/field_group/admin_enqueue_scripts", array($this, 'field_group_admin_enqueue_scripts'), 10, 0);
|
||||
$this->add_action("acf/field_group/admin_head", array($this, 'field_group_admin_head'), 10, 0);
|
||||
$this->add_action("acf/field_group/admin_footer", array($this, 'field_group_admin_footer'), 10, 0);
|
||||
$this->add_action("acf/field_group/admin_enqueue_scripts", array($this, 'field_group_admin_enqueue_scripts'), 10, 0);
|
||||
$this->add_action("acf/field_group/admin_head", array($this, 'field_group_admin_head'), 10, 0);
|
||||
$this->add_action("acf/field_group/admin_footer", array($this, 'field_group_admin_footer'), 10, 0);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -188,42 +193,20 @@ class acf_field {
|
|||
* @return $fields
|
||||
*/
|
||||
|
||||
function get_field_types( $fields ) {
|
||||
function get_field_types( $types ) {
|
||||
|
||||
$l10n = array(
|
||||
'basic' => __('Basic', 'acf'),
|
||||
'content' => __('Content', 'acf'),
|
||||
'choice' => __('Choice', 'acf'),
|
||||
'relational' => __('Relational', 'acf'),
|
||||
'jquery' => __('jQuery', 'acf'),
|
||||
'layout' => __('Layout', 'acf'),
|
||||
// append
|
||||
$types[ $this->name ] = array(
|
||||
'label' => $this->label,
|
||||
'name' => $this->name,
|
||||
'category' => $this->category,
|
||||
'public' => $this->public
|
||||
);
|
||||
|
||||
|
||||
// defaults
|
||||
if( !$this->category )
|
||||
{
|
||||
$this->category = 'basic';
|
||||
}
|
||||
// return
|
||||
return $types;
|
||||
|
||||
|
||||
// cat
|
||||
if( isset($l10n[ $this->category ]) )
|
||||
{
|
||||
$cat = $l10n[ $this->category ];
|
||||
}
|
||||
else
|
||||
{
|
||||
$cat = $this->category;
|
||||
}
|
||||
|
||||
|
||||
// add to array
|
||||
$fields[ $cat ][ $this->name ] = $this->label;
|
||||
|
||||
|
||||
// return array
|
||||
return $fields;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -242,18 +225,13 @@ class acf_field {
|
|||
|
||||
function get_valid_field( $field ) {
|
||||
|
||||
if( !empty($this->defaults) )
|
||||
{
|
||||
foreach( $this->defaults as $k => $v )
|
||||
{
|
||||
if( !isset($field[ $k ]) )
|
||||
{
|
||||
$field[ $k ] = $v;
|
||||
}
|
||||
}
|
||||
}
|
||||
// bail early if no defaults
|
||||
if( !is_array($this->defaults) ) return $field;
|
||||
|
||||
|
||||
// merge in defaults
|
||||
return array_merge($this->defaults, $field);
|
||||
|
||||
return $field;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -272,14 +250,173 @@ class acf_field {
|
|||
|
||||
function input_admin_l10n( $l10n ) {
|
||||
|
||||
if( !empty($this->l10n) )
|
||||
{
|
||||
$l10n[ $this->name ] = $this->l10n;
|
||||
}
|
||||
// bail early if no defaults
|
||||
if( empty($this->l10n) ) return $l10n;
|
||||
|
||||
|
||||
// append
|
||||
$l10n[ $this->name ] = $this->l10n;
|
||||
|
||||
|
||||
// return
|
||||
return $l10n;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
endif; // class_exists check
|
||||
|
||||
|
||||
/*
|
||||
* acf_get_field_types
|
||||
*
|
||||
* This function will return an array containing info about all field types
|
||||
*
|
||||
* @type function
|
||||
* @date 22/10/16
|
||||
* @since 5.5.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return (array)
|
||||
*/
|
||||
|
||||
function acf_get_field_types() {
|
||||
|
||||
// vars
|
||||
$cache_key = 'acf_get_field_types';
|
||||
|
||||
|
||||
// check cache
|
||||
if( acf_isset_cache($cache_key) ) return acf_get_cache($cache_key);
|
||||
|
||||
|
||||
// get types
|
||||
$types = apply_filters('acf/get_field_types', array());
|
||||
|
||||
|
||||
// update cache
|
||||
acf_set_cache($cache_key, $types);
|
||||
|
||||
|
||||
// return
|
||||
return $types;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_get_grouped_field_types
|
||||
*
|
||||
* This function will return a grouped array of fields types (category => name)
|
||||
*
|
||||
* @type function
|
||||
* @date 1/10/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return (array)
|
||||
*/
|
||||
|
||||
function acf_get_grouped_field_types() {
|
||||
|
||||
// vars
|
||||
$types = array();
|
||||
$l10n = array(
|
||||
'basic' => __('Basic', 'acf'),
|
||||
'content' => __('Content', 'acf'),
|
||||
'choice' => __('Choice', 'acf'),
|
||||
'relational' => __('Relational', 'acf'),
|
||||
'jquery' => __('jQuery', 'acf'),
|
||||
'layout' => __('Layout', 'acf'),
|
||||
);
|
||||
|
||||
|
||||
// get field type information
|
||||
$types_info = acf_get_field_types();
|
||||
|
||||
|
||||
// loop
|
||||
foreach( $types_info as $info ) {
|
||||
|
||||
// bail early if not public
|
||||
if( !$info['public'] ) continue;
|
||||
|
||||
|
||||
// vars
|
||||
$cat = $info['category'];
|
||||
|
||||
|
||||
// default to basic
|
||||
if( !$cat ) $cat = 'basic';
|
||||
|
||||
|
||||
// translate
|
||||
$cat = isset($l10n[ $cat ]) ? $l10n[ $cat ] : $cat;
|
||||
|
||||
|
||||
// append
|
||||
$types[ $cat ][ $info['name'] ] = $info['label'];
|
||||
|
||||
}
|
||||
|
||||
|
||||
// return
|
||||
return $types;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_get_field_type_label
|
||||
*
|
||||
* This function will return the label of a field type
|
||||
*
|
||||
* @type function
|
||||
* @date 1/10/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return (array)
|
||||
*/
|
||||
|
||||
function acf_get_field_type_label( $type = '' ) {
|
||||
|
||||
// vars
|
||||
$types = acf_get_field_types();
|
||||
|
||||
|
||||
// bail early if doesn't exist
|
||||
if( !isset($types[ $type ]) ) return '';
|
||||
|
||||
|
||||
// return
|
||||
return $types[ $type ]['label'];
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_field_type_exists
|
||||
*
|
||||
* This function will check if the field_type exists
|
||||
*
|
||||
* @type function
|
||||
* @date 1/10/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $type (string)
|
||||
* @return (boolean)
|
||||
*/
|
||||
|
||||
function acf_field_type_exists( $type = '' ) {
|
||||
|
||||
// vars
|
||||
$types = acf_get_field_types();
|
||||
|
||||
|
||||
// return
|
||||
return isset($types[ $type ]);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -18,8 +18,9 @@ class acf_location {
|
|||
function __construct() {
|
||||
|
||||
// Post
|
||||
add_filter( 'acf/location/rule_match/post_type', array($this, 'rule_match_post_type'), 10, 3 );
|
||||
add_filter( 'acf/location/rule_match/post', array($this, 'rule_match_post'), 10, 3 );
|
||||
add_filter( 'acf/location/rule_match/post_type', array($this, 'rule_match_post_type'), 10, 3 );
|
||||
add_filter( 'acf/location/rule_match/post_template', array($this, 'rule_match_post_template'), 10, 3 );
|
||||
add_filter( 'acf/location/rule_match/post_category', array($this, 'rule_match_post_taxonomy'), 10, 3 );
|
||||
add_filter( 'acf/location/rule_match/post_format', array($this, 'rule_match_post_format'), 10, 3 );
|
||||
add_filter( 'acf/location/rule_match/post_status', array($this, 'rule_match_post_status'), 10, 3 );
|
||||
|
|
@ -47,7 +48,83 @@ class acf_location {
|
|||
add_filter( 'acf/location/rule_match/widget', array($this, 'rule_match_widget'), 10, 3 );
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* get_post_type
|
||||
*
|
||||
* This function will return the current post_type
|
||||
*
|
||||
* @type function
|
||||
* @date 25/11/16
|
||||
* @since 5.5.0
|
||||
*
|
||||
* @param $options (int)
|
||||
* @return (mixed)
|
||||
*/
|
||||
|
||||
function get_post_type( $options ) {
|
||||
|
||||
// check options
|
||||
// - allow acf_form() to exclude the post_id param and still work as expected
|
||||
if( $options['post_type'] ) {
|
||||
|
||||
return $options['post_type'];
|
||||
|
||||
}
|
||||
|
||||
|
||||
// get post type from post
|
||||
if( $options['post_id'] ) {
|
||||
|
||||
return get_post_type( $options['post_id'] );
|
||||
|
||||
}
|
||||
|
||||
|
||||
// return
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* compare_value_to_rule
|
||||
*
|
||||
* This function will compare a value to a location rule and return a boolean result
|
||||
*
|
||||
* @type function
|
||||
* @date 25/11/16
|
||||
* @since 5.5.0
|
||||
*
|
||||
* @param $value (mixed)
|
||||
* @param rule (array)
|
||||
* @return (boolean)
|
||||
*/
|
||||
|
||||
function compare_value_to_rule( $value, $rule ) {
|
||||
|
||||
// match
|
||||
$match = ( $value === $rule['value'] );
|
||||
|
||||
|
||||
// override for "all"
|
||||
if( $rule['value'] == 'all' ) $match = true;
|
||||
|
||||
|
||||
// reverse if 'not equal to'
|
||||
if( $rule['operator'] === '!=' ) {
|
||||
|
||||
$match = !$match;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// return
|
||||
return $match;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* rule_match_post_type
|
||||
|
|
@ -66,37 +143,81 @@ class acf_location {
|
|||
function rule_match_post_type( $match, $rule, $options ) {
|
||||
|
||||
// vars
|
||||
// - allow acf_form to exclude the post_id param and still work as expected
|
||||
$post_type = $options['post_type'];
|
||||
$post_type = $this->get_post_type($options);
|
||||
|
||||
|
||||
// find post type for current post
|
||||
if( !$post_type ) {
|
||||
// bail early if no post_type found (not a post)
|
||||
if( !$post_type ) return false;
|
||||
|
||||
|
||||
// match
|
||||
return $this->compare_value_to_rule($post_type, $rule);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* rule_match_post_template
|
||||
*
|
||||
* This function will match a location rule and return true or false
|
||||
*
|
||||
* @type function
|
||||
* @date 25/11/16
|
||||
* @since 5.5.0
|
||||
*
|
||||
* @param $match (boolean)
|
||||
* @param $rule (array)
|
||||
* @return $options (array)t)
|
||||
*/
|
||||
|
||||
function rule_match_post_template( $match, $rule, $options ) {
|
||||
|
||||
// bail early if not a post
|
||||
if( !$options['post_id'] ) return false;
|
||||
|
||||
|
||||
// vars
|
||||
$templates = array();
|
||||
$post_type = get_post_type( $options['post_id'] );
|
||||
$page_template = $options['page_template'];
|
||||
|
||||
|
||||
// get templates (WP 4.7)
|
||||
if( acf_version_compare('wp', '>=', '4.7') ) {
|
||||
|
||||
// bail early if not a post
|
||||
if( !$options['post_id'] ) return false;
|
||||
|
||||
|
||||
// get post type
|
||||
$post_type = get_post_type( $options['post_id'] );
|
||||
$templates = wp_get_theme()->get_post_templates();
|
||||
|
||||
}
|
||||
|
||||
|
||||
// compare
|
||||
if( $rule['operator'] == "==" ) {
|
||||
|
||||
$match = ( $post_type === $rule['value'] );
|
||||
|
||||
} elseif( $rule['operator'] == "!=" ) {
|
||||
|
||||
$match = ( $post_type !== $rule['value'] );
|
||||
|
||||
}
|
||||
|
||||
// 'page' is always a valid pt even if no templates exist in the theme
|
||||
// allows scenario where page_template = 'default' and no templates exist
|
||||
if( !isset($templates['page']) ) {
|
||||
|
||||
$templates['page'] = array();
|
||||
|
||||
}
|
||||
|
||||
// return
|
||||
return $match;
|
||||
|
||||
// bail early if this post type does not allow for templates
|
||||
if( !isset($templates[ $post_type ]) ) return false;
|
||||
|
||||
|
||||
// get page template
|
||||
if( !$page_template ) {
|
||||
|
||||
$page_template = get_post_meta( $options['post_id'], '_wp_page_template', true );
|
||||
|
||||
}
|
||||
|
||||
|
||||
// new post - no page template
|
||||
if( !$page_template ) $page_template = "default";
|
||||
|
||||
|
||||
// match
|
||||
return $this->compare_value_to_rule($page_template, $rule);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -688,51 +809,21 @@ class acf_location {
|
|||
|
||||
|
||||
// vars
|
||||
$page_template = $options['page_template'];
|
||||
$post_type = get_post_type( $options['post_id'] );
|
||||
|
||||
|
||||
// get page template
|
||||
if( !$page_template ) {
|
||||
|
||||
$page_template = get_post_meta( $options['post_id'], '_wp_page_template', true );
|
||||
// page template 'default' rule is only for 'page' post type
|
||||
// prevents 'Default Template' field groups appearing on all post types that allow for post templates (WP 4.7)
|
||||
if( $rule['value'] === 'default' ) {
|
||||
|
||||
// bail ealry if not page
|
||||
if( $post_type !== 'page' ) return false;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// get page template again
|
||||
if( !$page_template ) {
|
||||
|
||||
$post_type = $options['post_type'];
|
||||
|
||||
if( !$post_type ) {
|
||||
|
||||
$post_type = get_post_type( $options['post_id'] );
|
||||
|
||||
}
|
||||
|
||||
if( $post_type === 'page' ) {
|
||||
|
||||
$page_template = "default";
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// compare
|
||||
if( $rule['operator'] == "==" ) {
|
||||
|
||||
$match = ( $page_template === $rule['value'] );
|
||||
|
||||
} elseif( $rule['operator'] == "!=" ) {
|
||||
|
||||
$match = ( $page_template !== $rule['value'] );
|
||||
|
||||
}
|
||||
|
||||
|
||||
// return
|
||||
return $match;
|
||||
// return
|
||||
return $this->rule_match_post_template( $match, $rule, $options );
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -155,12 +155,8 @@ class acf_validation {
|
|||
|
||||
function ajax_validate_save_post() {
|
||||
|
||||
// bail early if _acfnonce is missing
|
||||
if( !isset($_POST['_acfnonce']) ) {
|
||||
|
||||
wp_send_json_error();
|
||||
|
||||
}
|
||||
// validate
|
||||
if( !acf_verify_ajax() ) die();
|
||||
|
||||
|
||||
// vars
|
||||
|
|
|
|||
|
|
@ -43,8 +43,8 @@ class acf_wpml_compatibility {
|
|||
|
||||
|
||||
// actions
|
||||
add_action('acf/upgrade_start/5.0.0', array($this, 'upgrade_start_5'));
|
||||
add_action('acf/upgrade_finish/5.0.0', array($this, 'upgrade_finish_5'));
|
||||
add_action('acf/update_500', array($this, 'update_500'), 10);
|
||||
add_action('acf/update_500_field_group', array($this, 'update_500_field_group'), 10, 2);
|
||||
add_action('acf/update_field_group', array($this, 'update_field_group'), 2, 1);
|
||||
add_action('icl_make_duplicate', array($this, 'icl_make_duplicate'), 10, 4);
|
||||
|
||||
|
|
@ -102,9 +102,9 @@ class acf_wpml_compatibility {
|
|||
|
||||
|
||||
/*
|
||||
* upgrade_start_5
|
||||
* update_500
|
||||
*
|
||||
* description
|
||||
* This function will update the WPML settings to allow 'acf-field-group' to be translatable
|
||||
*
|
||||
* @type function
|
||||
* @date 10/04/2015
|
||||
|
|
@ -114,11 +114,7 @@ class acf_wpml_compatibility {
|
|||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function upgrade_start_5() {
|
||||
|
||||
// actions
|
||||
add_action('acf/update_field_group', array($this, 'update_field_group_5'), 1, 1);
|
||||
|
||||
function update_500() {
|
||||
|
||||
// global
|
||||
global $sitepress, $sitepress_settings;
|
||||
|
|
@ -148,28 +144,7 @@ class acf_wpml_compatibility {
|
|||
|
||||
|
||||
/*
|
||||
* upgrade_finish
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @type function
|
||||
* @date 10/04/2015
|
||||
* @since 5.2.3
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function upgrade_finish_5() {
|
||||
|
||||
// actions
|
||||
remove_action('acf/update_field_group', array($this, 'update_field_group_5'), 1, 1);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* update_field_group_5
|
||||
* update_500_field_group
|
||||
*
|
||||
* This function will update the icl_translations table data when creating the fiedl groups
|
||||
*
|
||||
|
|
@ -181,24 +156,16 @@ class acf_wpml_compatibility {
|
|||
* @return n/a
|
||||
*/
|
||||
|
||||
function update_field_group_5( $field_group ) {
|
||||
function update_500_field_group($field_group, $ofg) {
|
||||
|
||||
// global
|
||||
global $wpdb, $sitepress;
|
||||
|
||||
|
||||
// bail early if no old_ID (added to $field_group by upgrade 5.0.0)
|
||||
if( empty($field_group['old_ID']) ) {
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// get translation rows (old acf4 and new acf5)
|
||||
$old_row = $wpdb->get_row($wpdb->prepare(
|
||||
"SELECT * FROM {$wpdb->prefix}icl_translations WHERE element_type=%s AND element_id=%d",
|
||||
'post_acf', $field_group['old_ID']
|
||||
'post_acf', $ofg->ID
|
||||
), ARRAY_A);
|
||||
|
||||
$new_row = $wpdb->get_row($wpdb->prepare(
|
||||
|
|
@ -422,10 +389,6 @@ class acf_wpml_compatibility {
|
|||
<script type="text/javascript">
|
||||
(function($) {
|
||||
|
||||
// bail ealry if no lang
|
||||
if( typeof icl_this_lang == 'undefined' ) return;
|
||||
|
||||
|
||||
// add filter
|
||||
acf.add_filter('prepare_for_ajax', function( args ){
|
||||
|
||||
|
|
|
|||
|
|
@ -39,6 +39,8 @@ class acf_field_checkbox extends acf_field {
|
|||
'layout' => 'vertical',
|
||||
'choices' => array(),
|
||||
'default_value' => '',
|
||||
'allow_custom' => 0,
|
||||
'save_custom' => 0,
|
||||
'toggle' => 0,
|
||||
'return_format' => 'value'
|
||||
);
|
||||
|
|
@ -66,8 +68,9 @@ class acf_field_checkbox extends acf_field {
|
|||
|
||||
function render_field( $field ) {
|
||||
|
||||
// decode value (convert to array)
|
||||
// ensure array
|
||||
$field['value'] = acf_get_array($field['value'], false);
|
||||
$field['choices'] = acf_get_array($field['choices']);
|
||||
|
||||
|
||||
// hiden input
|
||||
|
|
@ -170,6 +173,37 @@ class acf_field_checkbox extends acf_field {
|
|||
}
|
||||
|
||||
|
||||
// allow_custom
|
||||
if( $field['allow_custom'] ) {
|
||||
|
||||
|
||||
// loop
|
||||
foreach( $field['value'] as $value ) {
|
||||
|
||||
// ignore if already eixsts
|
||||
if( isset($field['choices'][ $value ]) ) continue;
|
||||
|
||||
|
||||
// vars
|
||||
$atts = array(
|
||||
'type' => 'text',
|
||||
'name' => $field['name'],
|
||||
'value' => $value,
|
||||
);
|
||||
|
||||
|
||||
// append
|
||||
$li .= '<li><input class="acf-checkbox-custom" type="checkbox" checked="checked" /><input ' . acf_esc_attr( $atts ) . '/></li>';
|
||||
|
||||
}
|
||||
|
||||
|
||||
// append button
|
||||
$li .= '<li><a href="#" class="button acf-add-checkbox">' . __('Add new choice', 'acf') . '</a></li>';
|
||||
|
||||
}
|
||||
|
||||
|
||||
// class
|
||||
$field['class'] .= ' acf-checkbox-list';
|
||||
$field['class'] .= ($field['layout'] == 'horizontal') ? ' acf-hl' : ' acf-bl';
|
||||
|
|
@ -178,6 +212,7 @@ class acf_field_checkbox extends acf_field {
|
|||
// return
|
||||
echo '<ul ' . acf_esc_attr(array( 'class' => $field['class'] )) . '>' . $li . '</ul>';
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -210,6 +245,28 @@ class acf_field_checkbox extends acf_field {
|
|||
));
|
||||
|
||||
|
||||
// other_choice
|
||||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Allow Custom','acf'),
|
||||
'instructions' => '',
|
||||
'name' => 'allow_custom',
|
||||
'type' => 'true_false',
|
||||
'ui' => 1,
|
||||
'message' => __("Allow 'custom' values to be added", 'acf'),
|
||||
));
|
||||
|
||||
|
||||
// save_other_choice
|
||||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Save Custom','acf'),
|
||||
'instructions' => '',
|
||||
'name' => 'save_custom',
|
||||
'type' => 'true_false',
|
||||
'ui' => 1,
|
||||
'message' => __("Save 'custom' values to the field's choices", 'acf')
|
||||
));
|
||||
|
||||
|
||||
// default_value
|
||||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Default Value','acf'),
|
||||
|
|
@ -237,13 +294,9 @@ class acf_field_checkbox extends acf_field {
|
|||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Toggle','acf'),
|
||||
'instructions' => __('Prepend an extra checkbox to toggle all choices','acf'),
|
||||
'type' => 'radio',
|
||||
'name' => 'toggle',
|
||||
'layout' => 'horizontal',
|
||||
'choices' => array(
|
||||
1 => __("Yes",'acf'),
|
||||
0 => __("No",'acf'),
|
||||
)
|
||||
'type' => 'true_false',
|
||||
'ui' => 1,
|
||||
));
|
||||
|
||||
|
||||
|
|
@ -304,7 +357,49 @@ class acf_field_checkbox extends acf_field {
|
|||
|
||||
function update_value( $value, $post_id, $field ) {
|
||||
|
||||
return acf_get_field_type('select')->update_value( $value, $post_id, $field );
|
||||
// bail early if is empty
|
||||
if( empty($value) ) return $value;
|
||||
|
||||
|
||||
// select -> update_value()
|
||||
$value = acf_get_field_type('select')->update_value( $value, $post_id, $field );
|
||||
|
||||
|
||||
// save_other_choice
|
||||
if( $field['save_custom'] ) {
|
||||
|
||||
// get raw $field (may have been changed via repeater field)
|
||||
// if field is local, it won't have an ID
|
||||
$selector = $field['ID'] ? $field['ID'] : $field['key'];
|
||||
$field = acf_get_field( $selector, true );
|
||||
|
||||
|
||||
// bail early if no ID (JSON only)
|
||||
if( !$field['ID'] ) return $value;
|
||||
|
||||
|
||||
// loop
|
||||
foreach( $value as $v ) {
|
||||
|
||||
// ignore if already eixsts
|
||||
if( isset($field['choices'][ $v ]) ) continue;
|
||||
|
||||
|
||||
// append
|
||||
$field['choices'][ $v ] = $v;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// save
|
||||
acf_update_field( $field );
|
||||
|
||||
}
|
||||
|
||||
|
||||
// return
|
||||
return $value;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -352,8 +447,10 @@ class acf_field_checkbox extends acf_field {
|
|||
|
||||
}
|
||||
|
||||
new acf_field_checkbox();
|
||||
|
||||
endif;
|
||||
// initialize
|
||||
acf_register_field_type( new acf_field_checkbox() );
|
||||
|
||||
endif; // class_exists check
|
||||
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -104,6 +104,10 @@ class acf_field_date_picker extends acf_field {
|
|||
|
||||
function input_admin_enqueue_scripts() {
|
||||
|
||||
// bail ealry if no enqueue
|
||||
if( !acf_get_setting('enqueue_datepicker') ) return;
|
||||
|
||||
|
||||
// script
|
||||
wp_enqueue_script('jquery-ui-datepicker');
|
||||
|
||||
|
|
@ -159,8 +163,23 @@ class acf_field_date_picker extends acf_field {
|
|||
'type' => 'text',
|
||||
'value' => $display_value,
|
||||
);
|
||||
|
||||
|
||||
// save_format - compatibility with ACF < 5.0.0
|
||||
if( !empty($field['save_format']) ) {
|
||||
|
||||
|
||||
// add custom JS save format
|
||||
$div['data-save_format'] = $field['save_format'];
|
||||
|
||||
// revert hidden input value to raw DB value
|
||||
$hidden['value'] = $field['value'];
|
||||
|
||||
// remove formatted value (will do this via JS)
|
||||
$input['value'] = '';
|
||||
|
||||
}
|
||||
|
||||
|
||||
// html
|
||||
$e .= '<div ' . acf_esc_attr($div) . '>';
|
||||
$e .= '<input ' . acf_esc_attr($hidden). '/>';
|
||||
|
|
@ -200,27 +219,43 @@ class acf_field_date_picker extends acf_field {
|
|||
'name' => 'display_format',
|
||||
'other_choice' => 1,
|
||||
'choices' => array(
|
||||
'd/m/Y' => date('d/m/Y'),
|
||||
'm/d/Y' => date('m/d/Y'),
|
||||
'F j, Y' => date('F j, Y'),
|
||||
'd/m/Y' => date_i18n('d/m/Y'),
|
||||
'm/d/Y' => date_i18n('m/d/Y'),
|
||||
'F j, Y' => date_i18n('F j, Y'),
|
||||
)
|
||||
));
|
||||
|
||||
|
||||
// return_format
|
||||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Return Format','acf'),
|
||||
'instructions' => __('The format returned via template functions','acf'),
|
||||
'type' => 'radio',
|
||||
'name' => 'return_format',
|
||||
'other_choice' => 1,
|
||||
'choices' => array(
|
||||
'd/m/Y' => date('d/m/Y'),
|
||||
'm/d/Y' => date('m/d/Y'),
|
||||
'F j, Y' => date('F j, Y'),
|
||||
'Ymd' => date('Ymd'),
|
||||
)
|
||||
));
|
||||
// save_format - compatibility with ACF < 5.0.0
|
||||
if( !empty($field['save_format']) ) {
|
||||
|
||||
// save_format
|
||||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Save Format','acf'),
|
||||
'instructions' => __('The format used when saving a value','acf'),
|
||||
'type' => 'text',
|
||||
'name' => 'save_format',
|
||||
//'readonly' => 1 // this setting was not readonly in v4
|
||||
));
|
||||
|
||||
} else {
|
||||
|
||||
// return_format
|
||||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Return Format','acf'),
|
||||
'instructions' => __('The format returned via template functions','acf'),
|
||||
'type' => 'radio',
|
||||
'name' => 'return_format',
|
||||
'other_choice' => 1,
|
||||
'choices' => array(
|
||||
'd/m/Y' => date_i18n('d/m/Y'),
|
||||
'm/d/Y' => date_i18n('m/d/Y'),
|
||||
'F j, Y' => date_i18n('F j, Y'),
|
||||
'Ymd' => date_i18n('Ymd'),
|
||||
)
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
|
||||
// first_day
|
||||
|
|
@ -253,6 +288,15 @@ class acf_field_date_picker extends acf_field {
|
|||
|
||||
function format_value( $value, $post_id, $field ) {
|
||||
|
||||
// save_format - compatibility with ACF < 5.0.0
|
||||
if( !empty($field['save_format']) ) {
|
||||
|
||||
return $value;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// return
|
||||
return acf_format_date( $value, $field['return_format'] );
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -83,6 +83,10 @@ class acf_field_date_and_time_picker extends acf_field {
|
|||
|
||||
function input_admin_enqueue_scripts() {
|
||||
|
||||
// bail ealry if no enqueue
|
||||
if( !acf_get_setting('enqueue_datetimepicker') ) return;
|
||||
|
||||
|
||||
// vars
|
||||
$version = '1.6.1';
|
||||
|
||||
|
|
@ -189,10 +193,10 @@ class acf_field_date_and_time_picker extends acf_field {
|
|||
'name' => 'display_format',
|
||||
'other_choice' => 1,
|
||||
'choices' => array(
|
||||
'd/m/Y g:i a' => date('d/m/Y g:i a'),
|
||||
'm/d/Y g:i a' => date('m/d/Y g:i a'),
|
||||
'F j, Y g:i a' => date('F j, Y g:i a'),
|
||||
'Y-m-d H:i:s' => date('Y-m-d H:i:s'),
|
||||
'd/m/Y g:i a' => date_i18n('d/m/Y g:i a'),
|
||||
'm/d/Y g:i a' => date_i18n('m/d/Y g:i a'),
|
||||
'F j, Y g:i a' => date_i18n('F j, Y g:i a'),
|
||||
'Y-m-d H:i:s' => date_i18n('Y-m-d H:i:s'),
|
||||
)
|
||||
));
|
||||
|
||||
|
|
@ -205,10 +209,10 @@ class acf_field_date_and_time_picker extends acf_field {
|
|||
'name' => 'return_format',
|
||||
'other_choice' => 1,
|
||||
'choices' => array(
|
||||
'd/m/Y g:i a' => date('d/m/Y g:i a'),
|
||||
'm/d/Y g:i a' => date('m/d/Y g:i a'),
|
||||
'F j, Y g:i a' => date('F j, Y g:i a'),
|
||||
'Y-m-d H:i:s' => date('Y-m-d H:i:s'),
|
||||
'd/m/Y g:i a' => date_i18n('d/m/Y g:i a'),
|
||||
'm/d/Y g:i a' => date_i18n('m/d/Y g:i a'),
|
||||
'F j, Y g:i a' => date_i18n('F j, Y g:i a'),
|
||||
'Y-m-d H:i:s' => date_i18n('Y-m-d H:i:s'),
|
||||
)
|
||||
));
|
||||
|
||||
|
|
|
|||
|
|
@ -168,7 +168,9 @@ class acf_field_file extends acf_field {
|
|||
<div class="acf-error-message"><p><?php echo $field['value']; ?></p></div>
|
||||
<?php endif; ?>
|
||||
|
||||
<input type="file" name="<?php echo $field['name']; ?>" id="<?php echo $field['id']; ?>" />
|
||||
<label class="acf-basic-uploader">
|
||||
<input type="file" name="<?php echo $field['name']; ?>" id="<?php echo $field['id']; ?>" />
|
||||
</label>
|
||||
|
||||
<?php else: ?>
|
||||
|
||||
|
|
|
|||
|
|
@ -181,9 +181,7 @@ class acf_field_google_map extends acf_field {
|
|||
'name' => 'center_lng',
|
||||
'prepend' => 'lng',
|
||||
'placeholder' => $this->default_values['center_lng'],
|
||||
'wrapper' => array(
|
||||
'data-append' => 'center_lat'
|
||||
)
|
||||
'_append' => 'center_lat'
|
||||
));
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -151,7 +151,9 @@ class acf_field_image extends acf_field {
|
|||
<div class="acf-error-message"><p><?php echo $field['value']; ?></p></div>
|
||||
<?php endif; ?>
|
||||
|
||||
<input type="file" name="<?php echo $field['name']; ?>" id="<?php echo $field['id']; ?>" />
|
||||
<label class="acf-basic-uploader">
|
||||
<input type="file" name="<?php echo $field['name']; ?>" id="<?php echo $field['id']; ?>" />
|
||||
</label>
|
||||
|
||||
<?php else: ?>
|
||||
|
||||
|
|
@ -256,9 +258,7 @@ class acf_field_image extends acf_field {
|
|||
'name' => 'min_height',
|
||||
'prepend' => __('Height', 'acf'),
|
||||
'append' => 'px',
|
||||
'wrapper' => array(
|
||||
'data-append' => 'min_width'
|
||||
)
|
||||
'_append' => 'min_width'
|
||||
));
|
||||
|
||||
acf_render_field_setting( $field, array(
|
||||
|
|
@ -267,9 +267,7 @@ class acf_field_image extends acf_field {
|
|||
'name' => 'min_size',
|
||||
'prepend' => __('File size', 'acf'),
|
||||
'append' => 'MB',
|
||||
'wrapper' => array(
|
||||
'data-append' => 'min_width'
|
||||
)
|
||||
'_append' => 'min_width'
|
||||
));
|
||||
|
||||
|
||||
|
|
@ -289,9 +287,7 @@ class acf_field_image extends acf_field {
|
|||
'name' => 'max_height',
|
||||
'prepend' => __('Height', 'acf'),
|
||||
'append' => 'px',
|
||||
'wrapper' => array(
|
||||
'data-append' => 'max_width'
|
||||
)
|
||||
'_append' => 'max_width'
|
||||
));
|
||||
|
||||
acf_render_field_setting( $field, array(
|
||||
|
|
@ -300,9 +296,7 @@ class acf_field_image extends acf_field {
|
|||
'name' => 'max_size',
|
||||
'prepend' => __('File size', 'acf'),
|
||||
'append' => 'MB',
|
||||
'wrapper' => array(
|
||||
'data-append' => 'max_width'
|
||||
)
|
||||
'_append' => 'max_width'
|
||||
));
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -36,7 +36,6 @@ class acf_field_message extends acf_field {
|
|||
$this->label = __("Message",'acf');
|
||||
$this->category = 'layout';
|
||||
$this->defaults = array(
|
||||
'value' => false, // prevents ACF from attempting to load value
|
||||
'message' => '',
|
||||
'esc_html' => 0,
|
||||
'new_lines' => 'wpautop',
|
||||
|
|
@ -138,45 +137,14 @@ class acf_field_message extends acf_field {
|
|||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Escape HTML','acf'),
|
||||
'instructions' => __('Allow HTML markup to display as visible text instead of rendering','acf'),
|
||||
'type' => 'radio',
|
||||
'name' => 'esc_html',
|
||||
'choices' => array(
|
||||
1 => __("Yes",'acf'),
|
||||
0 => __("No",'acf'),
|
||||
),
|
||||
'layout' => 'horizontal',
|
||||
'type' => 'true_false',
|
||||
'ui' => 1,
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* update_field()
|
||||
*
|
||||
* This filter is appied to the $field before it is saved to the database
|
||||
*
|
||||
* @type filter
|
||||
* @since 3.6
|
||||
* @date 23/01/13
|
||||
*
|
||||
* @param $field - the field array holding all the field options
|
||||
* @param $post_id - the field group ID (post_type = acf)
|
||||
*
|
||||
* @return $field - the modified field
|
||||
*/
|
||||
|
||||
function update_field( $field ) {
|
||||
|
||||
// remove name
|
||||
$field['name'] = '';
|
||||
$field['required'] = 0;
|
||||
|
||||
|
||||
// return
|
||||
return $field;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* translate_field
|
||||
*
|
||||
|
|
@ -201,6 +169,40 @@ class acf_field_message extends acf_field {
|
|||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* load_field()
|
||||
*
|
||||
* This filter is appied to the $field after it is loaded from the database
|
||||
*
|
||||
* @type filter
|
||||
* @since 3.6
|
||||
* @date 23/01/13
|
||||
*
|
||||
* @param $field - the field array holding all the field options
|
||||
*
|
||||
* @return $field - the field array holding all the field options
|
||||
*/
|
||||
|
||||
function load_field( $field ) {
|
||||
|
||||
// remove name to avoid caching issue
|
||||
$field['name'] = '';
|
||||
|
||||
|
||||
// remove required to avoid JS issues
|
||||
$field['required'] = 0;
|
||||
|
||||
|
||||
// set value other than 'null' to avoid ACF loading / caching issue
|
||||
$field['value'] = false;
|
||||
|
||||
|
||||
// return
|
||||
return $field;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -116,10 +116,13 @@ class acf_field_oembed extends acf_field {
|
|||
|
||||
function ajax_search() {
|
||||
|
||||
// validate
|
||||
if( !acf_verify_ajax() ) die();
|
||||
|
||||
|
||||
// options
|
||||
$args = acf_parse_args( $_POST, array(
|
||||
's' => '',
|
||||
'nonce' => '',
|
||||
'width' => 0,
|
||||
'height' => 0,
|
||||
));
|
||||
|
|
@ -139,14 +142,6 @@ class acf_field_oembed extends acf_field {
|
|||
}
|
||||
|
||||
|
||||
// validate
|
||||
if( ! wp_verify_nonce($args['nonce'], 'acf_nonce') ) {
|
||||
|
||||
die();
|
||||
|
||||
}
|
||||
|
||||
|
||||
// get oembed
|
||||
echo $this->wp_oembed_get($args['s'], $args['width'], $args['height']);
|
||||
|
||||
|
|
@ -222,7 +217,7 @@ class acf_field_oembed extends acf_field {
|
|||
</div>
|
||||
|
||||
<div class="canvas-error">
|
||||
<p><strong><?php _e("Error", 'acf'); ?></strong>. <?php _e("No embed found for the given URL", 'acf'); ?></p>
|
||||
<p><strong><?php _e("Error.", 'acf'); ?></strong> <?php _e("No embed found for the given URL.", 'acf'); ?></p>
|
||||
</div>
|
||||
|
||||
<div class="canvas-media" data-name="value-embed">
|
||||
|
|
@ -275,9 +270,7 @@ class acf_field_oembed extends acf_field {
|
|||
'prepend' => __('Height', 'acf'),
|
||||
'append' => 'px',
|
||||
'placeholder' => $this->default_values['height'],
|
||||
'wrapper' => array(
|
||||
'data-append' => 'width'
|
||||
)
|
||||
'_append' => 'width'
|
||||
));
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,91 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* ACF Output Field Class
|
||||
*
|
||||
* All the logic for this field type
|
||||
*
|
||||
* @class acf_field_output
|
||||
* @extends acf_field
|
||||
* @package ACF
|
||||
* @subpackage Fields
|
||||
*/
|
||||
|
||||
if( ! class_exists('acf_field_output') ) :
|
||||
|
||||
class acf_field_output extends acf_field {
|
||||
|
||||
|
||||
/*
|
||||
* __construct
|
||||
*
|
||||
* This function will setup the field type data
|
||||
*
|
||||
* @type function
|
||||
* @date 5/03/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function __construct() {
|
||||
|
||||
// vars
|
||||
$this->name = 'output';
|
||||
$this->label = 'output';
|
||||
$this->public = false;
|
||||
$this->defaults = array(
|
||||
'html' => false
|
||||
);
|
||||
|
||||
|
||||
// do not delete!
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* render_field()
|
||||
*
|
||||
* Create the HTML interface for your field
|
||||
*
|
||||
* @param $field (array) the $field being rendered
|
||||
*
|
||||
* @type action
|
||||
* @since 3.6
|
||||
* @date 23/01/13
|
||||
*
|
||||
* @param $field (array) the $field being edited
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function render_field( $field ) {
|
||||
|
||||
// bail early if no html
|
||||
if( !$field['html'] ) return;
|
||||
|
||||
|
||||
// html
|
||||
if( is_string($field['html']) && !function_exists($field['html']) ) {
|
||||
|
||||
echo $field['html'];
|
||||
|
||||
// function
|
||||
} else {
|
||||
|
||||
call_user_func_array($field['html'], array($field));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// initialize
|
||||
acf_register_field_type( new acf_field_output() );
|
||||
|
||||
endif; // class_exists check
|
||||
|
||||
?>
|
||||
|
|
@ -527,13 +527,9 @@ class acf_field_page_link extends acf_field {
|
|||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Allow Null?','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'radio',
|
||||
'name' => 'allow_null',
|
||||
'choices' => array(
|
||||
1 => __("Yes",'acf'),
|
||||
0 => __("No",'acf'),
|
||||
),
|
||||
'layout' => 'horizontal',
|
||||
'type' => 'true_false',
|
||||
'ui' => 1,
|
||||
));
|
||||
|
||||
|
||||
|
|
@ -541,13 +537,9 @@ class acf_field_page_link extends acf_field {
|
|||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Allow Archives URLs','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'radio',
|
||||
'name' => 'allow_archives',
|
||||
'choices' => array(
|
||||
1 => __("Yes",'acf'),
|
||||
0 => __("No",'acf'),
|
||||
),
|
||||
'layout' => 'horizontal',
|
||||
'type' => 'true_false',
|
||||
'ui' => 1,
|
||||
));
|
||||
|
||||
|
||||
|
|
@ -555,13 +547,9 @@ class acf_field_page_link extends acf_field {
|
|||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Select multiple values?','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'radio',
|
||||
'name' => 'multiple',
|
||||
'choices' => array(
|
||||
1 => __("Yes",'acf'),
|
||||
0 => __("No",'acf'),
|
||||
),
|
||||
'layout' => 'horizontal',
|
||||
'type' => 'true_false',
|
||||
'ui' => 1,
|
||||
));
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -426,13 +426,9 @@ class acf_field_post_object extends acf_field {
|
|||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Allow Null?','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'radio',
|
||||
'name' => 'allow_null',
|
||||
'choices' => array(
|
||||
1 => __("Yes",'acf'),
|
||||
0 => __("No",'acf'),
|
||||
),
|
||||
'layout' => 'horizontal',
|
||||
'type' => 'true_false',
|
||||
'ui' => 1,
|
||||
));
|
||||
|
||||
|
||||
|
|
@ -440,13 +436,9 @@ class acf_field_post_object extends acf_field {
|
|||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Select multiple values?','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'radio',
|
||||
'name' => 'multiple',
|
||||
'choices' => array(
|
||||
1 => __("Yes",'acf'),
|
||||
0 => __("No",'acf'),
|
||||
),
|
||||
'layout' => 'horizontal',
|
||||
'type' => 'true_false',
|
||||
'ui' => 1,
|
||||
));
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -124,7 +124,8 @@ class acf_field_radio extends acf_field {
|
|||
'type' => 'text',
|
||||
'name' => $field['name'],
|
||||
'value' => '',
|
||||
'disabled' => 'disabled'
|
||||
'disabled' => 'disabled',
|
||||
'class' => 'acf-disabled'
|
||||
);
|
||||
|
||||
|
||||
|
|
@ -249,13 +250,9 @@ class acf_field_radio extends acf_field {
|
|||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Allow Null?','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'radio',
|
||||
'name' => 'allow_null',
|
||||
'choices' => array(
|
||||
1 => __("Yes",'acf'),
|
||||
0 => __("No",'acf'),
|
||||
),
|
||||
'layout' => 'horizontal',
|
||||
'type' => 'true_false',
|
||||
'ui' => 1,
|
||||
));
|
||||
|
||||
|
||||
|
|
@ -263,9 +260,10 @@ class acf_field_radio extends acf_field {
|
|||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Other','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'true_false',
|
||||
'name' => 'other_choice',
|
||||
'message' => __("Add 'other' choice to allow for custom values", 'acf')
|
||||
'type' => 'true_false',
|
||||
'ui' => 1,
|
||||
'message' => __("Add 'other' choice to allow for custom values", 'acf'),
|
||||
));
|
||||
|
||||
|
||||
|
|
@ -273,8 +271,9 @@ class acf_field_radio extends acf_field {
|
|||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Save Other','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'true_false',
|
||||
'name' => 'save_other_choice',
|
||||
'type' => 'true_false',
|
||||
'ui' => 1,
|
||||
'message' => __("Save 'other' values to the field's choices", 'acf')
|
||||
));
|
||||
|
||||
|
|
|
|||
|
|
@ -483,11 +483,6 @@ class acf_field_relationship extends acf_field {
|
|||
if( !empty($field['post_type']) ) {
|
||||
|
||||
$post_types = $field['post_type'];
|
||||
|
||||
|
||||
} else {
|
||||
|
||||
$post_types = acf_get_post_types();
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -87,27 +87,43 @@ class acf_field_select extends acf_field {
|
|||
|
||||
function input_admin_enqueue_scripts() {
|
||||
|
||||
// bail ealry if no enqueue
|
||||
if( !acf_get_setting('enqueue_select2') ) return;
|
||||
|
||||
|
||||
// globals
|
||||
global $wp_scripts, $wp_styles;
|
||||
|
||||
|
||||
// vars
|
||||
$version = '3.5.2';
|
||||
$min = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
|
||||
$major = acf_get_setting('select2_version');
|
||||
$version = '';
|
||||
$script = '';
|
||||
$style = '';
|
||||
|
||||
|
||||
// script
|
||||
wp_enqueue_script('select2', acf_get_dir("assets/inc/select2/select2{$min}.js"), array('jquery'), $version );
|
||||
|
||||
|
||||
// style
|
||||
wp_enqueue_style('select2', acf_get_dir('assets/inc/select2/select2.css'), '', $version );
|
||||
|
||||
|
||||
// v4
|
||||
//wp_enqueue_script('select2', acf_get_dir("assets/inc/select2/dist/js/select2.full.js"), array('jquery'), '4.0', true );
|
||||
//wp_enqueue_style('select2', acf_get_dir("assets/inc/select2/dist/css/select2{$min}.css"), '', '4.0' );
|
||||
|
||||
if( $major == 4 ) {
|
||||
|
||||
$version = '4.0';
|
||||
$script = acf_get_dir("assets/inc/select2/4/select2.full{$min}.js");
|
||||
$style = acf_get_dir("assets/inc/select2/4/select2{$min}.css");
|
||||
|
||||
// v3
|
||||
} else {
|
||||
|
||||
$version = '3.5.2';
|
||||
$script = acf_get_dir("assets/inc/select2/3/select2{$min}.js");
|
||||
$style = acf_get_dir("assets/inc/select2/3/select2.css");
|
||||
|
||||
}
|
||||
|
||||
|
||||
// enqueue
|
||||
wp_enqueue_script('select2', $script, array('jquery'), $version );
|
||||
wp_enqueue_style('select2', $style, '', $version );
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -237,7 +253,7 @@ class acf_field_select extends acf_field {
|
|||
*/
|
||||
|
||||
function render_field( $field ) {
|
||||
|
||||
|
||||
// convert
|
||||
$field['value'] = acf_get_array($field['value'], false);
|
||||
$field['choices'] = acf_get_array($field['choices']);
|
||||
|
|
@ -252,14 +268,14 @@ class acf_field_select extends acf_field {
|
|||
|
||||
|
||||
// add empty value (allows '' to be selected)
|
||||
if( !count($field['value']) ) {
|
||||
if( empty($field['value']) ) {
|
||||
|
||||
$field['value'][''] = '';
|
||||
$field['value'] = array('');
|
||||
|
||||
}
|
||||
|
||||
|
||||
// null
|
||||
// allow null
|
||||
// - have tried array_merge but this causes keys to re-index if is numeric (post ID's)
|
||||
if( $field['allow_null'] && !$field['multiple'] ) {
|
||||
|
||||
|
|
@ -269,7 +285,6 @@ class acf_field_select extends acf_field {
|
|||
}
|
||||
|
||||
|
||||
|
||||
// vars
|
||||
$atts = array(
|
||||
'id' => $field['id'],
|
||||
|
|
@ -290,7 +305,7 @@ class acf_field_select extends acf_field {
|
|||
$atts['size'] = 5;
|
||||
$atts['name'] .= '[]';
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// special atts
|
||||
|
|
@ -445,8 +460,8 @@ class acf_field_select extends acf_field {
|
|||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Choices','acf'),
|
||||
'instructions' => __('Enter each choice on a new line.','acf') . '<br /><br />' . __('For more control, you may specify both a value and label like this:','acf'). '<br /><br />' . __('red : Red','acf'),
|
||||
'type' => 'textarea',
|
||||
'name' => 'choices',
|
||||
'type' => 'textarea',
|
||||
));
|
||||
|
||||
|
||||
|
|
@ -454,8 +469,8 @@ class acf_field_select extends acf_field {
|
|||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Default Value','acf'),
|
||||
'instructions' => __('Enter each default value on a new line','acf'),
|
||||
'type' => 'textarea',
|
||||
'name' => 'default_value',
|
||||
'type' => 'textarea',
|
||||
));
|
||||
|
||||
|
||||
|
|
@ -463,13 +478,9 @@ class acf_field_select extends acf_field {
|
|||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Allow Null?','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'radio',
|
||||
'name' => 'allow_null',
|
||||
'choices' => array(
|
||||
1 => __("Yes",'acf'),
|
||||
0 => __("No",'acf'),
|
||||
),
|
||||
'layout' => 'horizontal',
|
||||
'type' => 'true_false',
|
||||
'ui' => 1,
|
||||
));
|
||||
|
||||
|
||||
|
|
@ -477,13 +488,9 @@ class acf_field_select extends acf_field {
|
|||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Select multiple values?','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'radio',
|
||||
'name' => 'multiple',
|
||||
'choices' => array(
|
||||
1 => __("Yes",'acf'),
|
||||
0 => __("No",'acf'),
|
||||
),
|
||||
'layout' => 'horizontal',
|
||||
'type' => 'true_false',
|
||||
'ui' => 1,
|
||||
));
|
||||
|
||||
|
||||
|
|
@ -491,13 +498,9 @@ class acf_field_select extends acf_field {
|
|||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Stylised UI','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'radio',
|
||||
'name' => 'ui',
|
||||
'choices' => array(
|
||||
1 => __("Yes",'acf'),
|
||||
0 => __("No",'acf'),
|
||||
),
|
||||
'layout' => 'horizontal',
|
||||
'type' => 'true_false',
|
||||
'ui' => 1,
|
||||
));
|
||||
|
||||
|
||||
|
|
@ -505,13 +508,9 @@ class acf_field_select extends acf_field {
|
|||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Use AJAX to lazy load choices?','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'radio',
|
||||
'name' => 'ajax',
|
||||
'choices' => array(
|
||||
1 => __("Yes",'acf'),
|
||||
0 => __("No",'acf'),
|
||||
),
|
||||
'layout' => 'horizontal',
|
||||
'type' => 'true_false',
|
||||
'ui' => 1,
|
||||
));
|
||||
|
||||
|
||||
|
|
@ -519,9 +518,8 @@ class acf_field_select extends acf_field {
|
|||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Return Format','acf'),
|
||||
'instructions' => __('Specify the value returned','acf'),
|
||||
'type' => 'radio',
|
||||
'type' => 'select',
|
||||
'name' => 'return_format',
|
||||
'layout' => 'horizontal',
|
||||
'choices' => array(
|
||||
'value' => __('Value','acf'),
|
||||
'label' => __('Label','acf'),
|
||||
|
|
|
|||
|
|
@ -36,7 +36,6 @@ class acf_field_tab extends acf_field {
|
|||
$this->label = __("Tab",'acf');
|
||||
$this->category = 'layout';
|
||||
$this->defaults = array(
|
||||
'value' => false, // prevents ACF from attempting to load value
|
||||
'placement' => 'top',
|
||||
'endpoint' => 0 // added in 5.2.8
|
||||
);
|
||||
|
|
@ -124,42 +123,45 @@ class acf_field_tab extends acf_field {
|
|||
acf_render_field_setting( $field, array(
|
||||
'label' => __('End-point','acf'),
|
||||
'instructions' => __('Use this field as an end-point and start a new group of tabs','acf'),
|
||||
'type' => 'radio',
|
||||
'name' => 'endpoint',
|
||||
'choices' => array(
|
||||
1 => __("Yes",'acf'),
|
||||
0 => __("No",'acf'),
|
||||
),
|
||||
'layout' => 'horizontal',
|
||||
'type' => 'true_false',
|
||||
'ui' => 1,
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* update_field()
|
||||
* load_field()
|
||||
*
|
||||
* This filter is appied to the $field before it is saved to the database
|
||||
* This filter is appied to the $field after it is loaded from the database
|
||||
*
|
||||
* @type filter
|
||||
* @since 3.6
|
||||
* @date 23/01/13
|
||||
*
|
||||
* @param $field - the field array holding all the field options
|
||||
* @param $post_id - the field group ID (post_type = acf)
|
||||
*
|
||||
* @return $field - the modified field
|
||||
* @return $field - the field array holding all the field options
|
||||
*/
|
||||
|
||||
function update_field( $field ) {
|
||||
|
||||
function load_field( $field ) {
|
||||
|
||||
// remove name
|
||||
// remove name to avoid caching issue
|
||||
$field['name'] = '';
|
||||
|
||||
|
||||
// remove required to avoid JS issues
|
||||
$field['required'] = 0;
|
||||
|
||||
|
||||
// set value other than 'null' to avoid ACF loading / caching issue
|
||||
$field['value'] = false;
|
||||
|
||||
|
||||
// return
|
||||
return $field;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -192,9 +192,17 @@ class acf_field_taxonomy extends acf_field {
|
|||
|
||||
// this will fail if a search has taken place because parents wont exist
|
||||
if( !$is_search ) {
|
||||
|
||||
$terms = _get_term_children( $parent, $terms, $field['taxonomy'] );
|
||||
|
||||
// order terms
|
||||
$ordered_terms = _get_term_children( $parent, $terms, $field['taxonomy'] );
|
||||
|
||||
|
||||
// check for empty array (possible if parent did not exist within original data)
|
||||
if( !empty($ordered_terms) ) {
|
||||
|
||||
$terms = $ordered_terms;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -786,13 +794,9 @@ class acf_field_taxonomy extends acf_field {
|
|||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Allow Null?','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'radio',
|
||||
'name' => 'allow_null',
|
||||
'choices' => array(
|
||||
1 => __("Yes",'acf'),
|
||||
0 => __("No",'acf'),
|
||||
),
|
||||
'layout' => 'horizontal',
|
||||
'type' => 'true_false',
|
||||
'ui' => 1,
|
||||
));
|
||||
|
||||
|
||||
|
|
@ -800,13 +804,9 @@ class acf_field_taxonomy extends acf_field {
|
|||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Create Terms','acf'),
|
||||
'instructions' => __('Allow new terms to be created whilst editing','acf'),
|
||||
'type' => 'radio',
|
||||
'name' => 'add_term',
|
||||
'choices' => array(
|
||||
1 => __("Yes",'acf'),
|
||||
0 => __("No",'acf'),
|
||||
),
|
||||
'layout' => 'horizontal',
|
||||
'type' => 'true_false',
|
||||
'ui' => 1,
|
||||
));
|
||||
|
||||
|
||||
|
|
@ -814,13 +814,9 @@ class acf_field_taxonomy extends acf_field {
|
|||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Save Terms','acf'),
|
||||
'instructions' => __('Connect selected terms to the post','acf'),
|
||||
'type' => 'radio',
|
||||
'name' => 'save_terms',
|
||||
'choices' => array(
|
||||
1 => __("Yes",'acf'),
|
||||
0 => __("No",'acf'),
|
||||
),
|
||||
'layout' => 'horizontal',
|
||||
'type' => 'true_false',
|
||||
'ui' => 1,
|
||||
));
|
||||
|
||||
|
||||
|
|
@ -828,13 +824,9 @@ class acf_field_taxonomy extends acf_field {
|
|||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Load Terms','acf'),
|
||||
'instructions' => __('Load value from posts terms','acf'),
|
||||
'type' => 'radio',
|
||||
'name' => 'load_terms',
|
||||
'choices' => array(
|
||||
1 => __("Yes",'acf'),
|
||||
0 => __("No",'acf'),
|
||||
),
|
||||
'layout' => 'horizontal',
|
||||
'type' => 'true_false',
|
||||
'ui' => 1,
|
||||
));
|
||||
|
||||
|
||||
|
|
@ -905,7 +897,7 @@ class acf_field_taxonomy extends acf_field {
|
|||
// note: this situation should never occur due to condition of the add new button
|
||||
if( !current_user_can( $taxonomy_obj->cap->manage_terms) ) {
|
||||
|
||||
echo '<p><strong>' . __("Error", 'acf') . '.</strong> ' . sprintf( __('User unable to add new %s', 'acf'), $taxonomy_label ) . '</p>';
|
||||
echo '<p><strong>' . __("Error.", 'acf') . '</strong> ' . sprintf( __('User unable to add new %s', 'acf'), $taxonomy_label ) . '</p>';
|
||||
die;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,11 +33,14 @@ class acf_field_true_false extends acf_field {
|
|||
|
||||
// vars
|
||||
$this->name = 'true_false';
|
||||
$this->label = __("True / False",'acf');
|
||||
$this->label = __('True / False','acf');
|
||||
$this->category = 'choice';
|
||||
$this->defaults = array(
|
||||
'default_value' => 0,
|
||||
'message' => '',
|
||||
'ui' => 0,
|
||||
'ui_on_text' => '',
|
||||
'ui_off_text' => '',
|
||||
);
|
||||
|
||||
|
||||
|
|
@ -62,27 +65,59 @@ class acf_field_true_false extends acf_field {
|
|||
function render_field( $field ) {
|
||||
|
||||
// vars
|
||||
$atts = array(
|
||||
$input = array(
|
||||
'type' => 'checkbox',
|
||||
'id' => "{$field['id']}-1",
|
||||
'id' => $field['id'],
|
||||
'name' => $field['name'],
|
||||
'value' => '1',
|
||||
'class' => $field['class'],
|
||||
'autocomplete' => 'off'
|
||||
);
|
||||
|
||||
$hidden = array(
|
||||
'name' => $field['name'],
|
||||
'value' => 0
|
||||
);
|
||||
|
||||
$active = $field['value'] ? true : false;
|
||||
$switch = '';
|
||||
|
||||
|
||||
// checked
|
||||
if( !empty($field['value']) ) {
|
||||
if( $active ) $input['checked'] = 'checked';
|
||||
|
||||
$atts['checked'] = 'checked';
|
||||
|
||||
// ui
|
||||
if( $field['ui'] ) {
|
||||
|
||||
// vars
|
||||
if( $field['ui_on_text'] === '' ) $field['ui_on_text'] = __('Yes', 'acf');
|
||||
if( $field['ui_off_text'] === '' ) $field['ui_off_text'] = __('No', 'acf');
|
||||
|
||||
|
||||
// update input
|
||||
$input['class'] .= ' acf-switch-input';
|
||||
$input['style'] = 'display:none;';
|
||||
|
||||
$switch .= '<div class="acf-switch' . ($active ? ' -on' : '') . '">';
|
||||
$switch .= '<span class="acf-switch-on">'.$field['ui_on_text'].'</span>';
|
||||
$switch .= '<span class="acf-switch-off">'.$field['ui_off_text'].'</span>';
|
||||
$switch .= '<div class="acf-switch-slider"></div>';
|
||||
$switch .= '</div>';
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
<div class="acf-true-false">
|
||||
<?php acf_hidden_input($hidden); ?>
|
||||
<label>
|
||||
<input <?php echo acf_esc_attr($input); ?>/>
|
||||
<?php if( $switch ) echo $switch; ?>
|
||||
<?php if( $field['message'] ): ?><span><?php echo $field['message']; ?></span><?php endif; ?>
|
||||
</label>
|
||||
</div>
|
||||
<?php
|
||||
|
||||
// html
|
||||
echo '<ul class="acf-checkbox-list acf-bl ' . acf_esc_attr($field['class']) . '">';
|
||||
echo '<input type="hidden" name="' . acf_esc_attr($field['name']) . '" value="0" />';
|
||||
echo '<li><label><input ' . acf_esc_attr($atts) . '/>' . $field['message'] . '</label></li>';
|
||||
echo '</ul>';
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -104,7 +139,7 @@ class acf_field_true_false extends acf_field {
|
|||
// message
|
||||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Message','acf'),
|
||||
'instructions' => __('eg. Show extra content','acf'),
|
||||
'instructions' => __('Displays text alongside the checkbox','acf'),
|
||||
'type' => 'text',
|
||||
'name' => 'message',
|
||||
));
|
||||
|
|
@ -118,6 +153,37 @@ class acf_field_true_false extends acf_field {
|
|||
'name' => 'default_value',
|
||||
));
|
||||
|
||||
|
||||
// ui
|
||||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Stylised UI','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'true_false',
|
||||
'name' => 'ui',
|
||||
'ui' => 1,
|
||||
'class' => 'acf-field-object-true-false-ui'
|
||||
));
|
||||
|
||||
|
||||
// on_text
|
||||
acf_render_field_setting( $field, array(
|
||||
'label' => __('On Text','acf'),
|
||||
'instructions' => __('Text shown when active','acf'),
|
||||
'type' => 'text',
|
||||
'name' => 'ui_on_text',
|
||||
'placeholder' => __('Yes', 'acf')
|
||||
));
|
||||
|
||||
|
||||
// on_text
|
||||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Off Text','acf'),
|
||||
'instructions' => __('Text shown when inactive','acf'),
|
||||
'type' => 'text',
|
||||
'name' => 'ui_off_text',
|
||||
'placeholder' => __('No', 'acf')
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -198,6 +264,8 @@ class acf_field_true_false extends acf_field {
|
|||
|
||||
// translate
|
||||
$field['message'] = acf_translate( $field['message'] );
|
||||
$field['ui_on_text'] = acf_translate( $field['ui_on_text'] );
|
||||
$field['ui_off_text'] = acf_translate( $field['ui_off_text'] );
|
||||
|
||||
|
||||
// return
|
||||
|
|
|
|||
|
|
@ -393,13 +393,9 @@ class acf_field_user extends acf_field {
|
|||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Allow Null?','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'radio',
|
||||
'name' => 'allow_null',
|
||||
'choices' => array(
|
||||
1 => __("Yes",'acf'),
|
||||
0 => __("No",'acf'),
|
||||
),
|
||||
'layout' => 'horizontal',
|
||||
'type' => 'true_false',
|
||||
'ui' => 1,
|
||||
));
|
||||
|
||||
|
||||
|
|
@ -407,13 +403,9 @@ class acf_field_user extends acf_field {
|
|||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Select multiple values?','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'radio',
|
||||
'name' => 'multiple',
|
||||
'choices' => array(
|
||||
1 => __("Yes",'acf'),
|
||||
0 => __("No",'acf'),
|
||||
),
|
||||
'layout' => 'horizontal',
|
||||
'type' => 'true_false',
|
||||
'ui' => 1,
|
||||
));
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ class acf_field_wysiwyg extends acf_field {
|
|||
'toolbar' => 'full',
|
||||
'media_upload' => 1,
|
||||
'default_value' => '',
|
||||
'delay' => 0
|
||||
);
|
||||
|
||||
|
||||
|
|
@ -140,57 +141,52 @@ class acf_field_wysiwyg extends acf_field {
|
|||
|
||||
|
||||
// vars
|
||||
$toolbars = array();
|
||||
$editor_id = 'acf_content';
|
||||
|
||||
|
||||
if( version_compare($wp_version, '3.9', '>=' ) ) {
|
||||
// toolbars
|
||||
$toolbars = array();
|
||||
$mce_buttons = 'formatselect, bold, italic, bullist, numlist, blockquote, alignleft, aligncenter, alignright, link, unlink, wp_more, spellchecker, fullscreen, wp_adv';
|
||||
$mce_buttons_2 = 'strikethrough, hr, forecolor, pastetext, removeformat, charmap, outdent, indent, undo, redo, wp_help';
|
||||
$teeny_mce_buttons = 'bold, italic, underline, blockquote, strikethrough, bullist, numlist, alignleft, aligncenter, alignright, undo, redo, link, unlink, fullscreen';
|
||||
|
||||
// Full
|
||||
$toolbars['Full'] = array(
|
||||
|
||||
1 => apply_filters('mce_buttons', array('bold', 'italic', 'strikethrough', 'bullist', 'numlist', 'blockquote', 'hr', 'alignleft', 'aligncenter', 'alignright', 'link', 'unlink', 'wp_more', 'spellchecker', 'fullscreen', 'wp_adv' ), $editor_id),
|
||||
|
||||
2 => apply_filters('mce_buttons_2', array( 'formatselect', 'underline', 'alignjustify', 'forecolor', 'pastetext', 'removeformat', 'charmap', 'outdent', 'indent', 'undo', 'redo', 'wp_help' ), $editor_id),
|
||||
|
||||
3 => apply_filters('mce_buttons_3', array(), $editor_id),
|
||||
|
||||
4 => apply_filters('mce_buttons_4', array(), $editor_id),
|
||||
|
||||
);
|
||||
|
||||
// WP < 3.9
|
||||
if( acf_version_compare('wp', '<', '3.9') ) {
|
||||
|
||||
|
||||
// Basic
|
||||
$toolbars['Basic'] = array(
|
||||
|
||||
1 => apply_filters('teeny_mce_buttons', array('bold', 'italic', 'underline', 'blockquote', 'strikethrough', 'bullist', 'numlist', 'alignleft', 'aligncenter', 'alignright', 'undo', 'redo', 'link', 'unlink', 'fullscreen'), $editor_id),
|
||||
|
||||
);
|
||||
|
||||
} else {
|
||||
|
||||
// Full
|
||||
$toolbars['Full'] = array(
|
||||
|
||||
1 => apply_filters('mce_buttons', array('bold', 'italic', 'strikethrough', 'bullist', 'numlist', 'blockquote', 'justifyleft', 'justifycenter', 'justifyright', 'link', 'unlink', 'wp_more', 'spellchecker', 'fullscreen', 'wp_adv' ), $editor_id),
|
||||
|
||||
2 => apply_filters('mce_buttons_2', array( 'formatselect', 'underline', 'justifyfull', 'forecolor', 'pastetext', 'pasteword', 'removeformat', 'charmap', 'outdent', 'indent', 'undo', 'redo', 'wp_help' ), $editor_id),
|
||||
|
||||
3 => apply_filters('mce_buttons_3', array(), $editor_id),
|
||||
|
||||
4 => apply_filters('mce_buttons_4', array(), $editor_id),
|
||||
|
||||
);
|
||||
|
||||
|
||||
// Basic
|
||||
$toolbars['Basic'] = array(
|
||||
|
||||
1 => apply_filters( 'teeny_mce_buttons', array('bold', 'italic', 'underline', 'blockquote', 'strikethrough', 'bullist', 'numlist', 'justifyleft', 'justifycenter', 'justifyright', 'undo', 'redo', 'link', 'unlink', 'fullscreen'), $editor_id ),
|
||||
|
||||
);
|
||||
|
||||
}
|
||||
$mce_buttons = 'bold, italic, strikethrough, bullist, numlist, blockquote, justifyleft, justifycenter, justifyright, link, unlink, wp_more, spellchecker, fullscreen, wp_adv';
|
||||
$mce_buttons_2 = 'formatselect, underline, justifyfull, forecolor, pastetext, pasteword, removeformat, charmap, outdent, indent, undo, redo, wp_help';
|
||||
$teeny_mce_buttons = 'bold, italic, underline, blockquote, strikethrough, bullist, numlist, justifyleft, justifycenter, justifyright, undo, redo, link, unlink, fullscreen';
|
||||
|
||||
// WP < 4.7
|
||||
} elseif( acf_version_compare('wp', '<', '4.7') ) {
|
||||
|
||||
$mce_buttons = 'bold, italic, strikethrough, bullist, numlist, blockquote, hr, alignleft, aligncenter, alignright, link, unlink, wp_more, spellchecker, fullscreen, wp_adv';
|
||||
$mce_buttons_2 = 'formatselect, underline, alignjustify, forecolor, pastetext, removeformat, charmap, outdent, indent, undo, redo, wp_help';
|
||||
//$teeny_mce_buttons = 'bold, italic, underline, blockquote, strikethrough, bullist, numlist, alignleft, aligncenter, alignright, undo, redo, link, unlink, fullscreen';
|
||||
|
||||
}
|
||||
|
||||
|
||||
// explode
|
||||
$mce_buttons = explode(', ', $mce_buttons);
|
||||
$mce_buttons_2 = explode(', ', $mce_buttons_2);
|
||||
$teeny_mce_buttons = explode(', ', $teeny_mce_buttons);
|
||||
|
||||
|
||||
// Full
|
||||
$toolbars['Full'] = array(
|
||||
1 => apply_filters('mce_buttons', $mce_buttons, $editor_id),
|
||||
2 => apply_filters('mce_buttons_2', $mce_buttons_2, $editor_id),
|
||||
3 => apply_filters('mce_buttons_3', array(), $editor_id),
|
||||
4 => apply_filters('mce_buttons_4', array(), $editor_id)
|
||||
);
|
||||
|
||||
|
||||
// Basic
|
||||
$toolbars['Basic'] = array(
|
||||
1 => apply_filters('teeny_mce_buttons', $teeny_mce_buttons, $editor_id)
|
||||
);
|
||||
|
||||
|
||||
// Filter for 3rd party
|
||||
|
|
@ -364,8 +360,24 @@ acf.fields.wysiwyg.toolbars = <?php echo json_encode($json); ?>;
|
|||
// filter
|
||||
$field['value'] = apply_filters( 'acf_the_editor_content', $field['value'], $default_editor );
|
||||
|
||||
|
||||
// attr
|
||||
$wrap = array(
|
||||
'id' => 'wp-' . $id . '-wrap',
|
||||
'class' => 'acf-editor-wrap wp-core-ui wp-editor-wrap ' . $switch_class,
|
||||
'data-toolbar' => $field['toolbar']
|
||||
);
|
||||
|
||||
|
||||
// delay
|
||||
if( $field['delay'] ) {
|
||||
|
||||
$wrap['class'] .= ' delay';
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
<div id="wp-<?php echo $id; ?>-wrap" class="acf-editor-wrap wp-core-ui wp-editor-wrap <?php echo $switch_class; ?>" data-toolbar="<?php echo $field['toolbar']; ?>" data-upload="<?php echo $field['media_upload']; ?>">
|
||||
<div <?php echo acf_esc_attr($wrap); ?>>
|
||||
<div id="wp-<?php echo $id; ?>-editor-tools" class="wp-editor-tools hide-if-no-js">
|
||||
<?php if( $field['media_upload'] ): ?>
|
||||
<div id="wp-<?php echo $id; ?>-media-buttons" class="wp-media-buttons">
|
||||
|
|
@ -374,12 +386,15 @@ acf.fields.wysiwyg.toolbars = <?php echo json_encode($json); ?>;
|
|||
<?php endif; ?>
|
||||
<?php if( user_can_richedit() && $show_tabs ): ?>
|
||||
<div class="wp-editor-tabs">
|
||||
<button id="<?php echo $id; ?>-tmce" class="wp-switch-editor switch-tmce" <?php echo $button; ?> type="button"><?php echo __('Visual', 'acf'); ?></button>
|
||||
<button id="<?php echo $id; ?>-html" class="wp-switch-editor switch-html" <?php echo $button; ?> type="button"><?php echo _x( 'Text', 'Name for the Text editor tab (formerly HTML)', 'acf' ); ?></button>
|
||||
<button id="<?php echo $id; ?>-tmce" class="wp-switch-editor switch-tmce" <?php echo $button; ?> type="button"><?php echo __('Visual', 'acf'); ?></button>
|
||||
<button id="<?php echo $id; ?>-html" class="wp-switch-editor switch-html" <?php echo $button; ?> type="button"><?php echo _x( 'Text', 'Name for the Text editor tab (formerly HTML)', 'acf' ); ?></button>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<div id="wp-<?php echo $id; ?>-editor-container" class="wp-editor-container">
|
||||
<?php if( $field['delay'] ): ?>
|
||||
<div class="acf-editor-toolbar"><?php _e('Click to initialize TinyMCE', 'acf'); ?></div>
|
||||
<?php endif; ?>
|
||||
<textarea id="<?php echo $id; ?>" class="wp-editor-area" name="<?php echo $field['name']; ?>" <?php if($height): ?>style="height:<?php echo $height; ?>px;"<?php endif; ?>><?php echo $field['value']; ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -457,13 +472,19 @@ acf.fields.wysiwyg.toolbars = <?php echo json_encode($json); ?>;
|
|||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Show Media Upload Buttons?','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'radio',
|
||||
'name' => 'media_upload',
|
||||
'layout' => 'horizontal',
|
||||
'choices' => array(
|
||||
1 => __("Yes",'acf'),
|
||||
0 => __("No",'acf'),
|
||||
)
|
||||
'type' => 'true_false',
|
||||
'ui' => 1,
|
||||
));
|
||||
|
||||
|
||||
// delay
|
||||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Delay initialization?','acf'),
|
||||
'instructions' => __('TinyMCE will not be initalized until field is clicked','acf'),
|
||||
'name' => 'delay',
|
||||
'type' => 'true_false',
|
||||
'ui' => 1,
|
||||
));
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -387,20 +387,15 @@ class acf_form_taxonomy {
|
|||
function save_term( $term_id, $tt_id, $taxonomy ) {
|
||||
|
||||
// verify and remove nonce
|
||||
if( ! acf_verify_nonce('taxonomy') ) {
|
||||
if( !acf_verify_nonce('taxonomy') ) return $term_id;
|
||||
|
||||
|
||||
// valied and show errors
|
||||
acf_validate_save_post( true );
|
||||
|
||||
return $term_id;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
// save data
|
||||
if( acf_validate_save_post(true) ) {
|
||||
|
||||
acf_save_post("{$taxonomy}_{$term_id}");
|
||||
|
||||
}
|
||||
|
||||
// save
|
||||
acf_save_post('term_' . $term_id);
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -420,11 +415,30 @@ class acf_form_taxonomy {
|
|||
|
||||
function delete_term( $term, $tt_id, $taxonomy, $deleted_term ) {
|
||||
|
||||
// bail early if termmeta table exists
|
||||
if( acf_isset_termmeta() ) return $term;
|
||||
|
||||
|
||||
// globals
|
||||
global $wpdb;
|
||||
|
||||
$values = $wpdb->query($wpdb->prepare(
|
||||
"DELETE FROM $wpdb->options WHERE option_name LIKE %s",
|
||||
'%' . $taxonomy . '_' . $term . '%'
|
||||
|
||||
// vars
|
||||
$search = $taxonomy . '_' . $term . '_%';
|
||||
$_search = '_' . $search;
|
||||
|
||||
|
||||
// escape '_'
|
||||
// http://stackoverflow.com/questions/2300285/how-do-i-escape-in-sql-server
|
||||
$search = str_replace('_', '\_', $search);
|
||||
$_search = str_replace('_', '\_', $_search);
|
||||
|
||||
|
||||
// delete
|
||||
$result = $wpdb->query($wpdb->prepare(
|
||||
"DELETE FROM $wpdb->options WHERE option_name LIKE %s OR option_name LIKE %s",
|
||||
$search,
|
||||
$_search
|
||||
));
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -215,7 +215,7 @@ class acf_form_user {
|
|||
|
||||
|
||||
// show title
|
||||
if( $user_form === 'register' ) $show_title = false;
|
||||
//if( $user_form === 'register' ) $show_title = false;
|
||||
|
||||
|
||||
// args
|
||||
|
|
@ -324,6 +324,19 @@ class acf_form_user {
|
|||
|
||||
<?php else: ?>
|
||||
|
||||
#registerform h2 {
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
#registerform .acf-field .acf-label {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
#registerform .acf-field .acf-label label {
|
||||
font-weight: normal;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
#registerform p.submit {
|
||||
text-align: right;
|
||||
}
|
||||
|
|
|
|||
BIN
lang/acf-ar.mo
BIN
lang/acf-ar.mo
Binary file not shown.
|
|
@ -2,14 +2,14 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Advanced Custom Fields Pro\n"
|
||||
"POT-Creation-Date: 2016-05-19 15:59+0200\n"
|
||||
"PO-Revision-Date: 2016-05-24 12:56+0200\n"
|
||||
"Last-Translator: \n"
|
||||
"PO-Revision-Date: 2016-11-03 17:07+1000\n"
|
||||
"Last-Translator: Elliot Condon <e@elliotcondon.com>\n"
|
||||
"Language-Team: Adil el hallaoui <servicewb11@gmail.com>\n"
|
||||
"Language: ar\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 1.8.2\n"
|
||||
"X-Generator: Poedit 1.8.1\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-WPHeader: acf.php\n"
|
||||
"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
|
||||
|
|
@ -593,6 +593,10 @@ msgstr "حذف"
|
|||
msgid "Error"
|
||||
msgstr "خطأ"
|
||||
|
||||
#: fields/oembed.php:220 fields/taxonomy.php:900
|
||||
msgid "Error."
|
||||
msgstr "خطأ."
|
||||
|
||||
#: admin/views/field-group-field.php:68
|
||||
msgid "Field type does not exist"
|
||||
msgstr "نوع حقل غير موجود"
|
||||
|
|
@ -1267,12 +1271,8 @@ msgid "Site is up to date"
|
|||
msgstr "الموقع حتى الآن"
|
||||
|
||||
#: admin/views/update-network.php:62 admin/views/update.php:16
|
||||
msgid "Database Upgrade complete"
|
||||
msgstr "ترقية قاعدة البيانات كاملة"
|
||||
|
||||
#: admin/views/update-network.php:62
|
||||
msgid "Return to network dashboard"
|
||||
msgstr "العودة إلى لوحة معلومات الشبكة"
|
||||
msgid "Database Upgrade complete. <a href=\"%s\">Return to network dashboard</a>"
|
||||
msgstr "ترقية قاعدة البيانات كاملة. <a href=\"%s\">العودة إلى لوحة معلومات الشبكة</a>"
|
||||
|
||||
#: admin/views/update-network.php:101 admin/views/update-notice.php:35
|
||||
msgid ""
|
||||
|
|
@ -1321,8 +1321,8 @@ msgid "See what's new"
|
|||
msgstr "أنظر ما هو الجديد في"
|
||||
|
||||
#: admin/views/update.php:110
|
||||
msgid "No updates available"
|
||||
msgstr "لا توجد تحديثات متوفرة"
|
||||
msgid "No updates available."
|
||||
msgstr "لا توجد تحديثات متوفرة."
|
||||
|
||||
#: api/api-helpers.php:937
|
||||
msgid "Thumbnail"
|
||||
|
|
@ -1873,8 +1873,8 @@ msgid "Enter URL"
|
|||
msgstr "قم بإدخال عنوان URL"
|
||||
|
||||
#: fields/oembed.php:225
|
||||
msgid "No embed found for the given URL"
|
||||
msgstr "تضمين لا العثور على عنوان URL معين"
|
||||
msgid "No embed found for the given URL."
|
||||
msgstr "تضمين لا العثور على عنوان URL معين."
|
||||
|
||||
#: fields/oembed.php:261 fields/oembed.php:272
|
||||
msgid "Embed Size"
|
||||
|
|
@ -2260,12 +2260,8 @@ msgid "Options Updated"
|
|||
msgstr "تم تحديث الإعدادات"
|
||||
|
||||
#: pro/admin/options-page.php:282
|
||||
msgid "No Custom Field Groups found for this options page"
|
||||
msgstr "يتم العثور على أية \"مجموعات حقل مخصص\" لهذه الصفحة خيارات"
|
||||
|
||||
#: pro/admin/options-page.php:282
|
||||
msgid "Create a Custom Field Group"
|
||||
msgstr "قم بإنشاء مجموعة حقل مخصص"
|
||||
msgid "No Custom Field Groups found for this options page. <a href=\"%s\">Create a Custom Field Group</a>"
|
||||
msgstr "يتم العثور على أية \"مجموعات حقل مخصص\" لهذه الصفحة خيارات. <a href=\"%s\">قم بإنشاء مجموعة حقل مخصص</a>"
|
||||
|
||||
#: pro/admin/settings-updates.php:137
|
||||
msgid "<b>Error</b>. Could not connect to update server"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,7 +3,7 @@ msgstr ""
|
|||
"Project-Id-Version: Advanced Custom Fields\n"
|
||||
"Report-Msgid-Bugs-To: http://support.advancedcustomfields.com\n"
|
||||
"POT-Creation-Date: 2016-02-05 11:05+1000\n"
|
||||
"PO-Revision-Date: 2016-04-07 10:29+1000\n"
|
||||
"PO-Revision-Date: 2016-11-03 17:07+1000\n"
|
||||
"Last-Translator: Elliot Condon <e@elliotcondon.com>\n"
|
||||
"Language-Team: Elliot Condon <e@elliotcondon.com>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
@ -578,6 +578,10 @@ msgstr "Изтриване"
|
|||
msgid "Error"
|
||||
msgstr "Грешка"
|
||||
|
||||
#: fields/oembed.php:220 fields/taxonomy.php:900
|
||||
msgid "Error."
|
||||
msgstr "Грешка."
|
||||
|
||||
#: admin/views/field-group-field.php:68
|
||||
msgid "Field type does not exist"
|
||||
msgstr "Типът поле не съществува"
|
||||
|
|
@ -1272,12 +1276,8 @@ msgid "Site is up to date"
|
|||
msgstr "Сайтът няма нужда от обновяване"
|
||||
|
||||
#: admin/views/update-network.php:62 admin/views/update.php:16
|
||||
msgid "Database Upgrade complete"
|
||||
msgstr "Обновяването на базата данни бе завършено"
|
||||
|
||||
#: admin/views/update-network.php:62
|
||||
msgid "Return to network dashboard"
|
||||
msgstr "Връщане към мрежовото табло"
|
||||
msgid "Database Upgrade complete. <a href=\"%s\">Return to network dashboard</a>"
|
||||
msgstr "Обновяването на базата данни бе завършено. <a href=\"%s\">Връщане към мрежовото табло</a>"
|
||||
|
||||
#: admin/views/update-network.php:101 admin/views/update-notice.php:35
|
||||
msgid ""
|
||||
|
|
@ -1326,8 +1326,8 @@ msgid "See what's new"
|
|||
msgstr "Вижте какво е новото"
|
||||
|
||||
#: admin/views/update.php:110
|
||||
msgid "No updates available"
|
||||
msgstr "Няма налични актуализации"
|
||||
msgid "No updates available."
|
||||
msgstr "Няма налични актуализации."
|
||||
|
||||
#: api/api-helpers.php:909
|
||||
msgid "Thumbnail"
|
||||
|
|
@ -1878,8 +1878,8 @@ msgid "Enter URL"
|
|||
msgstr "Въведете URL адрес"
|
||||
|
||||
#: fields/oembed.php:225
|
||||
msgid "No embed found for the given URL"
|
||||
msgstr "Няма открито вграждане за посочения URL адрес"
|
||||
msgid "No embed found for the given URL."
|
||||
msgstr "Няма открито вграждане за посочения URL адрес."
|
||||
|
||||
#: fields/oembed.php:261 fields/oembed.php:272
|
||||
msgid "Embed Size"
|
||||
|
|
@ -2262,12 +2262,8 @@ msgid "Options Updated"
|
|||
msgstr "Опциите бяха актуализирани"
|
||||
|
||||
#: pro/admin/options-page.php:282
|
||||
msgid "No Custom Field Groups found for this options page"
|
||||
msgstr "Няма намерени групи полета за тази страница с опции"
|
||||
|
||||
#: pro/admin/options-page.php:282
|
||||
msgid "Create a Custom Field Group"
|
||||
msgstr "Създаване на група полета"
|
||||
msgid "No Custom Field Groups found for this options page. <a href=\"%s\">Create a Custom Field Group</a>"
|
||||
msgstr "Няма намерени групи полета за тази страница с опции. <a href=\"%s\">Създаване на група полета</a>"
|
||||
|
||||
#: pro/admin/settings-updates.php:137
|
||||
msgid "<b>Error</b>. Could not connect to update server"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,7 +3,7 @@ msgstr ""
|
|||
"Project-Id-Version: Advanced Custom Fields Pro v5.2.9\n"
|
||||
"Report-Msgid-Bugs-To: http://support.advancedcustomfields.com\n"
|
||||
"POT-Creation-Date: 2015-08-11 23:09+0200\n"
|
||||
"PO-Revision-Date: 2016-04-07 10:29+1000\n"
|
||||
"PO-Revision-Date: 2016-11-03 17:08+1000\n"
|
||||
"Last-Translator: Elliot Condon <e@elliotcondon.com>\n"
|
||||
"Language-Team: webees.cz s.r.o. <jakubmachala@webees.cz>\n"
|
||||
"Language: cs_CZ\n"
|
||||
|
|
@ -579,6 +579,10 @@ msgstr "Smazat"
|
|||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: fields/oembed.php:220 fields/taxonomy.php:900
|
||||
msgid "Error."
|
||||
msgstr ""
|
||||
|
||||
#: admin/views/field-group-field.php:68
|
||||
msgid "Field type does not exist"
|
||||
msgstr ""
|
||||
|
|
@ -1224,11 +1228,7 @@ msgid "Site is up to date"
|
|||
msgstr ""
|
||||
|
||||
#: admin/views/update-network.php:62 admin/views/update.php:16
|
||||
msgid "Database Upgrade complete"
|
||||
msgstr ""
|
||||
|
||||
#: admin/views/update-network.php:62
|
||||
msgid "Return to network dashboard"
|
||||
msgid "Database Upgrade complete. <a href=\"%s\">Return to network dashboard</a>"
|
||||
msgstr ""
|
||||
|
||||
#: admin/views/update-network.php:101 admin/views/update-notice.php:35
|
||||
|
|
@ -1274,7 +1274,7 @@ msgid "See what's new"
|
|||
msgstr ""
|
||||
|
||||
#: admin/views/update.php:110
|
||||
msgid "No updates available"
|
||||
msgid "No updates available."
|
||||
msgstr ""
|
||||
|
||||
#: api/api-helpers.php:821
|
||||
|
|
@ -1797,7 +1797,7 @@ msgid "Enter URL"
|
|||
msgstr ""
|
||||
|
||||
#: fields/oembed.php:212
|
||||
msgid "No embed found for the given URL"
|
||||
msgid "No embed found for the given URL."
|
||||
msgstr ""
|
||||
|
||||
#: fields/oembed.php:248 fields/oembed.php:259
|
||||
|
|
@ -2200,13 +2200,9 @@ msgid "Options Updated"
|
|||
msgstr "Nastavení aktualizováno"
|
||||
|
||||
#: pro/admin/options-page.php:304
|
||||
msgid "No Custom Field Groups found for this options page"
|
||||
msgid "No Custom Field Groups found for this options page. <a href=\"%s\">Create a Custom Field Group</a>"
|
||||
msgstr ""
|
||||
|
||||
#: pro/admin/options-page.php:304
|
||||
msgid "Create a Custom Field Group"
|
||||
msgstr "Vytvořit vlastní skupinu polí"
|
||||
|
||||
#: pro/admin/settings-updates.php:137
|
||||
msgid "<b>Error</b>. Could not connect to update server"
|
||||
msgstr ""
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1,17 +1,17 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Advanced Custom Fields Pro v5.4.0\n"
|
||||
"Project-Id-Version: Advanced Custom Fields Pro v5.5.0\n"
|
||||
"Report-Msgid-Bugs-To: http://support.advancedcustomfields.com\n"
|
||||
"POT-Creation-Date: 2016-07-28 10:37+0200\n"
|
||||
"PO-Revision-Date: 2016-07-28 10:53+0200\n"
|
||||
"Last-Translator: Raphael Hüni <rafhun@gmail.com>\n"
|
||||
"POT-Creation-Date: 2016-10-14 08:58+0200\n"
|
||||
"PO-Revision-Date: 2016-11-03 17:08+1000\n"
|
||||
"Last-Translator: Elliot Condon <e@elliotcondon.com>\n"
|
||||
"Language-Team: Raphael Hüni <rafhun@gmail.com>\n"
|
||||
"Language: de_CH\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.5\n"
|
||||
"X-Generator: Poedit 1.8.1\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
|
||||
"esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
|
||||
|
|
@ -28,109 +28,109 @@ msgid "Advanced Custom Fields"
|
|||
msgstr "Advanced Custom Fields"
|
||||
|
||||
# @ acf
|
||||
#: acf.php:271 admin/admin.php:61
|
||||
#: acf.php:273 admin/admin.php:61
|
||||
msgid "Field Groups"
|
||||
msgstr "Feld-Gruppen"
|
||||
|
||||
# @ acf
|
||||
#: acf.php:272
|
||||
#: acf.php:274
|
||||
msgid "Field Group"
|
||||
msgstr "Feld-Gruppe"
|
||||
|
||||
# @ acf
|
||||
#: acf.php:273 acf.php:305 admin/admin.php:62
|
||||
#: acf.php:275 acf.php:307 admin/admin.php:62
|
||||
#: pro/fields/flexible-content.php:500
|
||||
msgid "Add New"
|
||||
msgstr "Erstellen"
|
||||
|
||||
# @ acf
|
||||
#: acf.php:274
|
||||
#: acf.php:276
|
||||
msgid "Add New Field Group"
|
||||
msgstr "Neue Feld-Gruppe erstellen"
|
||||
|
||||
# @ acf
|
||||
#: acf.php:275
|
||||
#: acf.php:277
|
||||
msgid "Edit Field Group"
|
||||
msgstr "Feld-Gruppe bearbeiten"
|
||||
|
||||
# @ acf
|
||||
#: acf.php:276
|
||||
#: acf.php:278
|
||||
msgid "New Field Group"
|
||||
msgstr "Neue Feld-Gruppe"
|
||||
|
||||
# @ acf
|
||||
#: acf.php:277
|
||||
#: acf.php:279
|
||||
msgid "View Field Group"
|
||||
msgstr "Feld-Gruppe anzeigen"
|
||||
|
||||
# @ acf
|
||||
#: acf.php:278
|
||||
#: acf.php:280
|
||||
msgid "Search Field Groups"
|
||||
msgstr "Feld-Gruppen suchen"
|
||||
|
||||
# @ acf
|
||||
#: acf.php:279
|
||||
#: acf.php:281
|
||||
msgid "No Field Groups found"
|
||||
msgstr "Keine Feld-Gruppen gefunden"
|
||||
|
||||
# @ acf
|
||||
#: acf.php:280
|
||||
#: acf.php:282
|
||||
msgid "No Field Groups found in Trash"
|
||||
msgstr "Keine Feld-Gruppen im Papierkorb gefunden"
|
||||
|
||||
# @ acf
|
||||
#: acf.php:303 admin/field-group.php:182 admin/field-group.php:280
|
||||
#: admin/field-groups.php:528 pro/fields/clone.php:662
|
||||
#: acf.php:305 admin/field-group.php:182 admin/field-group.php:280
|
||||
#: admin/field-groups.php:528 pro/fields/clone.php:688
|
||||
msgid "Fields"
|
||||
msgstr "Felder"
|
||||
|
||||
# @ acf
|
||||
#: acf.php:304
|
||||
#: acf.php:306
|
||||
msgid "Field"
|
||||
msgstr "Feld"
|
||||
|
||||
# @ acf
|
||||
#: acf.php:306
|
||||
#: acf.php:308
|
||||
msgid "Add New Field"
|
||||
msgstr "Feld hinzufügen"
|
||||
|
||||
# @ acf
|
||||
#: acf.php:307
|
||||
#: acf.php:309
|
||||
msgid "Edit Field"
|
||||
msgstr "Feld bearbeiten"
|
||||
|
||||
# @ acf
|
||||
#: acf.php:308 admin/views/field-group-fields.php:54
|
||||
#: acf.php:310 admin/views/field-group-fields.php:54
|
||||
#: admin/views/settings-info.php:111
|
||||
msgid "New Field"
|
||||
msgstr "Neues Feld"
|
||||
|
||||
# @ acf
|
||||
#: acf.php:309
|
||||
#: acf.php:311
|
||||
msgid "View Field"
|
||||
msgstr "Feld anzeigen"
|
||||
|
||||
# @ acf
|
||||
#: acf.php:310
|
||||
#: acf.php:312
|
||||
msgid "Search Fields"
|
||||
msgstr "Felder suchen"
|
||||
|
||||
# @ acf
|
||||
#: acf.php:311
|
||||
#: acf.php:313
|
||||
msgid "No Fields found"
|
||||
msgstr "Keine Felder gefunden"
|
||||
|
||||
# @ acf
|
||||
#: acf.php:312
|
||||
#: acf.php:314
|
||||
msgid "No Fields found in Trash"
|
||||
msgstr "Keine Feld-Gruppen im Papierkorb gefunden"
|
||||
|
||||
#: acf.php:351 admin/field-group.php:395 admin/field-groups.php:585
|
||||
#: acf.php:353 admin/field-group.php:395 admin/field-groups.php:585
|
||||
#: admin/views/field-group-options.php:13
|
||||
msgid "Disabled"
|
||||
msgstr "Deaktiviert"
|
||||
|
||||
#: acf.php:356
|
||||
#: acf.php:358
|
||||
#, php-format
|
||||
msgid "Disabled <span class=\"count\">(%s)</span>"
|
||||
msgid_plural "Disabled <span class=\"count\">(%s)</span>"
|
||||
|
|
@ -216,7 +216,7 @@ msgstr "kopieren"
|
|||
#: admin/views/field-group-field-conditional-logic.php:62
|
||||
#: admin/views/field-group-field-conditional-logic.php:162
|
||||
#: admin/views/field-group-locations.php:59
|
||||
#: admin/views/field-group-locations.php:135 api/api-helpers.php:3952
|
||||
#: admin/views/field-group-locations.php:135 api/api-helpers.php:3973
|
||||
msgid "or"
|
||||
msgstr "oder"
|
||||
|
||||
|
|
@ -265,96 +265,96 @@ msgid "Active"
|
|||
msgstr "Aktiviert"
|
||||
|
||||
# @ acf
|
||||
#: admin/field-group.php:842
|
||||
#: admin/field-group.php:846
|
||||
msgid "Front Page"
|
||||
msgstr "Startseite"
|
||||
|
||||
# @ acf
|
||||
#: admin/field-group.php:843
|
||||
#: admin/field-group.php:847
|
||||
msgid "Posts Page"
|
||||
msgstr "Beitrags-Seite"
|
||||
|
||||
# @ acf
|
||||
#: admin/field-group.php:844
|
||||
#: admin/field-group.php:848
|
||||
msgid "Top Level Page (no parent)"
|
||||
msgstr "Seite ohne übergeordnete Seiten"
|
||||
|
||||
# @ acf
|
||||
#: admin/field-group.php:845
|
||||
#: admin/field-group.php:849
|
||||
msgid "Parent Page (has children)"
|
||||
msgstr "Übergeordnete Seite (mit Unterseiten)"
|
||||
|
||||
# @ acf
|
||||
#: admin/field-group.php:846
|
||||
#: admin/field-group.php:850
|
||||
msgid "Child Page (has parent)"
|
||||
msgstr "Unterseite (mit übergeordneter Seite)"
|
||||
|
||||
# @ acf
|
||||
#: admin/field-group.php:862
|
||||
#: admin/field-group.php:866
|
||||
msgid "Default Template"
|
||||
msgstr "Standard-Template"
|
||||
|
||||
# @ acf
|
||||
#: admin/field-group.php:885
|
||||
#: admin/field-group.php:889
|
||||
msgid "Logged in"
|
||||
msgstr "ist angemeldet"
|
||||
|
||||
# @ acf
|
||||
#: admin/field-group.php:886
|
||||
#: admin/field-group.php:890
|
||||
msgid "Viewing front end"
|
||||
msgstr "ist im Front-End"
|
||||
|
||||
# @ acf
|
||||
#: admin/field-group.php:887
|
||||
#: admin/field-group.php:891
|
||||
msgid "Viewing back end"
|
||||
msgstr "ist im Back-End"
|
||||
|
||||
# @ acf
|
||||
#: admin/field-group.php:906
|
||||
#: admin/field-group.php:910
|
||||
msgid "Super Admin"
|
||||
msgstr "Super-Admin"
|
||||
|
||||
# @ acf
|
||||
#: admin/field-group.php:917 admin/field-group.php:925
|
||||
#: admin/field-group.php:939 admin/field-group.php:946
|
||||
#: admin/field-group.php:963 admin/field-group.php:980 fields/file.php:241
|
||||
#: admin/field-group.php:921 admin/field-group.php:929
|
||||
#: admin/field-group.php:943 admin/field-group.php:950
|
||||
#: admin/field-group.php:967 admin/field-group.php:984 fields/file.php:241
|
||||
#: fields/image.php:237 pro/fields/gallery.php:676
|
||||
msgid "All"
|
||||
msgstr "Alle"
|
||||
|
||||
# @ acf
|
||||
#: admin/field-group.php:926
|
||||
#: admin/field-group.php:930
|
||||
msgid "Add / Edit"
|
||||
msgstr "Hinzufügen / Bearbeiten"
|
||||
|
||||
# @ acf
|
||||
#: admin/field-group.php:927
|
||||
#: admin/field-group.php:931
|
||||
msgid "Register"
|
||||
msgstr "Registrieren"
|
||||
|
||||
# @ acf
|
||||
#: admin/field-group.php:1167
|
||||
#: admin/field-group.php:1171
|
||||
msgid "Move Complete."
|
||||
msgstr "Verschieben erfolgreich abgeschlossen."
|
||||
|
||||
# @ acf
|
||||
#: admin/field-group.php:1168
|
||||
#: admin/field-group.php:1172
|
||||
#, php-format
|
||||
msgid "The %s field can now be found in the %s field group"
|
||||
msgstr "Das Feld \"%s\" wurde in die %s Feld-Gruppe verschoben"
|
||||
|
||||
# @ acf
|
||||
#: admin/field-group.php:1170
|
||||
#: admin/field-group.php:1174
|
||||
msgid "Close Window"
|
||||
msgstr "Schliessen"
|
||||
|
||||
# @ acf
|
||||
#: admin/field-group.php:1205
|
||||
#: admin/field-group.php:1209
|
||||
msgid "Please select the destination for this field"
|
||||
msgstr "In welche Feld-Gruppe solle dieses Feld verschoben werden"
|
||||
|
||||
# @ acf
|
||||
#: admin/field-group.php:1212
|
||||
#: admin/field-group.php:1216
|
||||
msgid "Move Field"
|
||||
msgstr "Feld verschieben"
|
||||
|
||||
|
|
@ -399,8 +399,8 @@ msgid "Sync available"
|
|||
msgstr "Synchronisierung verfügbar"
|
||||
|
||||
# @ acf
|
||||
#: admin/field-groups.php:525 api/api-template.php:1077
|
||||
#: api/api-template.php:1290 pro/fields/gallery.php:370
|
||||
#: admin/field-groups.php:525 api/api-template.php:1039
|
||||
#: pro/fields/gallery.php:370
|
||||
msgid "Title"
|
||||
msgstr "Titel"
|
||||
|
||||
|
|
@ -493,18 +493,24 @@ msgid "Duplicate"
|
|||
msgstr "Duplizieren"
|
||||
|
||||
# @ acf
|
||||
#: admin/field-groups.php:751
|
||||
#: admin/field-groups.php:717 fields/google-map.php:133
|
||||
#: fields/relationship.php:742
|
||||
msgid "Search"
|
||||
msgstr "Suchen"
|
||||
|
||||
# @ acf
|
||||
#: admin/field-groups.php:767
|
||||
#, php-format
|
||||
msgid "Select %s"
|
||||
msgstr "%s auswählen"
|
||||
|
||||
# @ acf
|
||||
#: admin/field-groups.php:759
|
||||
#: admin/field-groups.php:775
|
||||
msgid "Synchronise field group"
|
||||
msgstr "Synchronisiere Feld-Gruppe"
|
||||
|
||||
# @ acf
|
||||
#: admin/field-groups.php:759 admin/field-groups.php:776
|
||||
#: admin/field-groups.php:775 admin/field-groups.php:792
|
||||
msgid "Sync"
|
||||
msgstr "Synchronisieren"
|
||||
|
||||
|
|
@ -581,8 +587,8 @@ msgstr "Fehler beim Überprüfen der Anfrage"
|
|||
|
||||
# @ acf
|
||||
#: admin/update.php:243 admin/views/update.php:110
|
||||
msgid "No updates available"
|
||||
msgstr "Keine Aktualisierungen verfügbar"
|
||||
msgid "No updates available."
|
||||
msgstr "Keine Aktualisierungen verfügbar."
|
||||
|
||||
#: admin/update.php:260
|
||||
msgid "Error loading update"
|
||||
|
|
@ -602,9 +608,9 @@ msgstr "Bedingungen für die Anzeige"
|
|||
#: fields/select.php:483 fields/select.php:497 fields/select.php:511
|
||||
#: fields/tab.php:130 fields/taxonomy.php:785 fields/taxonomy.php:799
|
||||
#: fields/taxonomy.php:813 fields/taxonomy.php:827 fields/user.php:399
|
||||
#: fields/user.php:413 fields/wysiwyg.php:418
|
||||
#: pro/admin/views/settings-updates.php:93 pro/fields/clone.php:716
|
||||
#: pro/fields/clone.php:734
|
||||
#: fields/user.php:413 fields/wysiwyg.php:464
|
||||
#: pro/admin/views/settings-updates.php:93 pro/fields/clone.php:742
|
||||
#: pro/fields/clone.php:760
|
||||
msgid "Yes"
|
||||
msgstr "Ja"
|
||||
|
||||
|
|
@ -617,9 +623,9 @@ msgstr "Ja"
|
|||
#: fields/select.php:484 fields/select.php:498 fields/select.php:512
|
||||
#: fields/tab.php:131 fields/taxonomy.php:700 fields/taxonomy.php:786
|
||||
#: fields/taxonomy.php:800 fields/taxonomy.php:814 fields/taxonomy.php:828
|
||||
#: fields/user.php:400 fields/user.php:414 fields/wysiwyg.php:419
|
||||
#: pro/admin/views/settings-updates.php:103 pro/fields/clone.php:717
|
||||
#: pro/fields/clone.php:735
|
||||
#: fields/user.php:400 fields/user.php:414 fields/wysiwyg.php:465
|
||||
#: pro/admin/views/settings-updates.php:103 pro/fields/clone.php:743
|
||||
#: pro/fields/clone.php:761
|
||||
msgid "No"
|
||||
msgstr "Nein"
|
||||
|
||||
|
|
@ -654,7 +660,7 @@ msgstr "Regel-Gruppe hinzufügen"
|
|||
|
||||
# @ acf
|
||||
#: admin/views/field-group-field.php:50 pro/fields/flexible-content.php:346
|
||||
#: pro/fields/repeater.php:302
|
||||
#: pro/fields/repeater.php:311
|
||||
msgid "Drag to reorder"
|
||||
msgstr "Ziehen zum Sortieren"
|
||||
|
||||
|
|
@ -700,6 +706,10 @@ msgstr "Löschen"
|
|||
msgid "Error"
|
||||
msgstr "Fehler"
|
||||
|
||||
#: fields/oembed.php:220 fields/taxonomy.php:900
|
||||
msgid "Error."
|
||||
msgstr "Fehler."
|
||||
|
||||
# @ acf
|
||||
#: admin/views/field-group-field.php:69
|
||||
msgid "Field type does not exist"
|
||||
|
|
@ -1564,13 +1574,8 @@ msgstr "Seite ist aktuell"
|
|||
|
||||
# @ acf
|
||||
#: admin/views/update-network.php:67 admin/views/update.php:16
|
||||
msgid "Database Upgrade complete"
|
||||
msgstr "Datenbank-Aktualisierung fertiggestellt"
|
||||
|
||||
# @ acf
|
||||
#: admin/views/update-network.php:67
|
||||
msgid "Return to network dashboard"
|
||||
msgstr "Zum Netzwerk Dashboard"
|
||||
msgid "Database Upgrade complete. <a href=\"%s\">Return to network dashboard</a>"
|
||||
msgstr "Datenbank-Aktualisierung fertiggestellt. <a href=\"%s\">Zum Netzwerk Dashboard</a>"
|
||||
|
||||
# @ acf
|
||||
#: admin/views/update-network.php:106 admin/views/update-notice.php:35
|
||||
|
|
@ -1624,101 +1629,101 @@ msgid "See what's new"
|
|||
msgstr "Was ist neu"
|
||||
|
||||
# @ acf
|
||||
#: api/api-helpers.php:944
|
||||
#: api/api-helpers.php:950
|
||||
msgid "Thumbnail"
|
||||
msgstr "Miniaturbild"
|
||||
|
||||
# @ acf
|
||||
#: api/api-helpers.php:945
|
||||
#: api/api-helpers.php:951
|
||||
msgid "Medium"
|
||||
msgstr "Mittel"
|
||||
|
||||
# @ acf
|
||||
#: api/api-helpers.php:946
|
||||
#: api/api-helpers.php:952
|
||||
msgid "Large"
|
||||
msgstr "Gross"
|
||||
|
||||
# @ acf
|
||||
#: api/api-helpers.php:995
|
||||
#: api/api-helpers.php:1001
|
||||
msgid "Full Size"
|
||||
msgstr "Volle Grösse"
|
||||
|
||||
# @ acf
|
||||
#: api/api-helpers.php:1207 api/api-helpers.php:1770 pro/fields/clone.php:849
|
||||
#: api/api-helpers.php:1213 api/api-helpers.php:1776 pro/fields/clone.php:879
|
||||
msgid "(no title)"
|
||||
msgstr "(ohne Titel)"
|
||||
|
||||
#: api/api-helpers.php:1807 fields/page_link.php:284 fields/post_object.php:283
|
||||
#: fields/taxonomy.php:989
|
||||
#: api/api-helpers.php:1813 fields/page_link.php:284
|
||||
#: fields/post_object.php:283 fields/taxonomy.php:989
|
||||
msgid "Parent"
|
||||
msgstr "Eltern"
|
||||
|
||||
# @ acf
|
||||
#: api/api-helpers.php:3873
|
||||
#: api/api-helpers.php:3894
|
||||
#, php-format
|
||||
msgid "Image width must be at least %dpx."
|
||||
msgstr "Die Breite des Bildes muss mindestens %dpx sein."
|
||||
|
||||
# @ acf
|
||||
#: api/api-helpers.php:3878
|
||||
#: api/api-helpers.php:3899
|
||||
#, php-format
|
||||
msgid "Image width must not exceed %dpx."
|
||||
msgstr "Die Breite des Bildes darf %dpx nicht überschreiten."
|
||||
|
||||
# @ acf
|
||||
#: api/api-helpers.php:3894
|
||||
#: api/api-helpers.php:3915
|
||||
#, php-format
|
||||
msgid "Image height must be at least %dpx."
|
||||
msgstr "Die Höhe des Bildes muss mindestens %dpx sein."
|
||||
|
||||
# @ acf
|
||||
#: api/api-helpers.php:3899
|
||||
#: api/api-helpers.php:3920
|
||||
#, php-format
|
||||
msgid "Image height must not exceed %dpx."
|
||||
msgstr "Die Höhe des Bild darf %dpx nicht überschreiten."
|
||||
|
||||
# @ acf
|
||||
#: api/api-helpers.php:3917
|
||||
#: api/api-helpers.php:3938
|
||||
#, php-format
|
||||
msgid "File size must be at least %s."
|
||||
msgstr "Die Dateigrösse muss mindestens %s sein."
|
||||
|
||||
# @ acf
|
||||
#: api/api-helpers.php:3922
|
||||
#: api/api-helpers.php:3943
|
||||
#, php-format
|
||||
msgid "File size must must not exceed %s."
|
||||
msgstr "Die Dateigrösse darf %s nicht überschreiten."
|
||||
|
||||
# @ acf
|
||||
#: api/api-helpers.php:3956
|
||||
#: api/api-helpers.php:3977
|
||||
#, php-format
|
||||
msgid "File type must be %s."
|
||||
msgstr "Der Dateityp muss %s sein."
|
||||
|
||||
#: api/api-template.php:1092
|
||||
# @ acf
|
||||
#: api/api-template.php:1048 core/field.php:133
|
||||
msgid "Content"
|
||||
msgstr "Inhalt"
|
||||
|
||||
#: api/api-template.php:1056
|
||||
msgid "Validate Email"
|
||||
msgstr "E-Mail bestätigen"
|
||||
|
||||
#: api/api-template.php:1106
|
||||
msgid "Spam Detected"
|
||||
msgstr "Spam erkannt"
|
||||
|
||||
# @ acf
|
||||
#: api/api-template.php:1235 pro/api/api-options-page.php:50
|
||||
#: api/api-template.php:1309 pro/api/api-options-page.php:50
|
||||
#: pro/fields/gallery.php:588
|
||||
msgid "Update"
|
||||
msgstr "Aktualisieren"
|
||||
|
||||
# @ acf
|
||||
#: api/api-template.php:1236
|
||||
#: api/api-template.php:1310
|
||||
msgid "Post updated"
|
||||
msgstr "Beitrag aktualisiert"
|
||||
|
||||
# @ acf
|
||||
#: api/api-template.php:1304 core/field.php:133
|
||||
msgid "Content"
|
||||
msgstr "Inhalt"
|
||||
|
||||
#: api/api-template.php:1369
|
||||
msgid "Validate Email"
|
||||
msgstr "E-Mail bestätigen"
|
||||
|
||||
# @ acf
|
||||
#: core/field.php:132
|
||||
msgid "Basic"
|
||||
|
|
@ -1741,8 +1746,8 @@ msgstr "jQuery"
|
|||
|
||||
# @ acf
|
||||
#: core/field.php:137 fields/checkbox.php:224 fields/radio.php:293
|
||||
#: pro/fields/clone.php:692 pro/fields/flexible-content.php:495
|
||||
#: pro/fields/flexible-content.php:544 pro/fields/repeater.php:459
|
||||
#: pro/fields/clone.php:718 pro/fields/flexible-content.php:495
|
||||
#: pro/fields/flexible-content.php:544 pro/fields/repeater.php:468
|
||||
msgid "Layout"
|
||||
msgstr "Layout"
|
||||
|
||||
|
|
@ -1762,7 +1767,7 @@ msgid "Validation successful"
|
|||
msgstr "Überprüfung erfolgreich"
|
||||
|
||||
# @ acf
|
||||
#: core/input.php:261 core/validation.php:306 forms/widget.php:234
|
||||
#: core/input.php:261 core/validation.php:326 forms/widget.php:234
|
||||
msgid "Validation failed"
|
||||
msgstr "Überprüfung fehlgeschlagen"
|
||||
|
||||
|
|
@ -1803,7 +1808,7 @@ msgid "Uploaded to this post"
|
|||
msgstr "Zu diesem Beitrag hochgeladen"
|
||||
|
||||
# @ acf
|
||||
#: core/validation.php:207
|
||||
#: core/validation.php:211
|
||||
#, php-format
|
||||
msgid "%s value is required"
|
||||
msgstr "%s Wert ist notwendig"
|
||||
|
|
@ -1841,10 +1846,10 @@ msgid "red : Red"
|
|||
msgstr "rot : Rot"
|
||||
|
||||
# @ acf
|
||||
#: fields/checkbox.php:215 fields/color_picker.php:147 fields/email.php:124
|
||||
#: fields/number.php:150 fields/radio.php:284 fields/select.php:455
|
||||
#: fields/text.php:148 fields/textarea.php:145 fields/true_false.php:115
|
||||
#: fields/url.php:117 fields/wysiwyg.php:379
|
||||
#: fields/checkbox.php:215 fields/color_picker.php:147 fields/email.php:133
|
||||
#: fields/number.php:145 fields/radio.php:284 fields/select.php:455
|
||||
#: fields/text.php:142 fields/textarea.php:139 fields/true_false.php:115
|
||||
#: fields/url.php:114 fields/wysiwyg.php:425
|
||||
msgid "Default Value"
|
||||
msgstr "Standardwert"
|
||||
|
||||
|
|
@ -1960,8 +1965,8 @@ msgstr "Das Datums-Format für die Anzeige in der Bearbeitungs-Ansicht"
|
|||
|
||||
# @ acf
|
||||
#: fields/date_picker.php:210 fields/date_time_picker.php:200
|
||||
#: fields/post_object.php:455 fields/relationship.php:783 fields/select.php:520
|
||||
#: fields/time_picker.php:140
|
||||
#: fields/post_object.php:455 fields/relationship.php:783
|
||||
#: fields/select.php:520 fields/time_picker.php:140
|
||||
msgid "Return Format"
|
||||
msgstr "Rückgabewert"
|
||||
|
||||
|
|
@ -2061,45 +2066,45 @@ msgid "Email"
|
|||
msgstr "E-Mail"
|
||||
|
||||
# @ acf
|
||||
#: fields/email.php:125 fields/number.php:151 fields/radio.php:285
|
||||
#: fields/text.php:149 fields/textarea.php:146 fields/url.php:118
|
||||
#: fields/wysiwyg.php:380
|
||||
#: fields/email.php:134 fields/number.php:146 fields/radio.php:285
|
||||
#: fields/text.php:143 fields/textarea.php:140 fields/url.php:115
|
||||
#: fields/wysiwyg.php:426
|
||||
msgid "Appears when creating a new post"
|
||||
msgstr "Erscheint bei der Erstellung eines neuen Beitrags"
|
||||
|
||||
# @ acf
|
||||
#: fields/email.php:133 fields/number.php:159 fields/password.php:137
|
||||
#: fields/text.php:157 fields/textarea.php:154 fields/url.php:126
|
||||
#: fields/email.php:142 fields/number.php:154 fields/password.php:134
|
||||
#: fields/text.php:151 fields/textarea.php:148 fields/url.php:123
|
||||
msgid "Placeholder Text"
|
||||
msgstr "Platzhalter-Text"
|
||||
|
||||
# @ acf
|
||||
#: fields/email.php:134 fields/number.php:160 fields/password.php:138
|
||||
#: fields/text.php:158 fields/textarea.php:155 fields/url.php:127
|
||||
#: fields/email.php:143 fields/number.php:155 fields/password.php:135
|
||||
#: fields/text.php:152 fields/textarea.php:149 fields/url.php:124
|
||||
msgid "Appears within the input"
|
||||
msgstr "Platzhalter-Text solange keine Eingabe im Feld vorgenommen wurde"
|
||||
|
||||
# @ acf
|
||||
#: fields/email.php:142 fields/number.php:168 fields/password.php:146
|
||||
#: fields/text.php:166
|
||||
#: fields/email.php:151 fields/number.php:163 fields/password.php:143
|
||||
#: fields/text.php:160
|
||||
msgid "Prepend"
|
||||
msgstr "Voranstellen"
|
||||
|
||||
# @ acf
|
||||
#: fields/email.php:143 fields/number.php:169 fields/password.php:147
|
||||
#: fields/text.php:167
|
||||
#: fields/email.php:152 fields/number.php:164 fields/password.php:144
|
||||
#: fields/text.php:161
|
||||
msgid "Appears before the input"
|
||||
msgstr "Wird dem Eingabefeld vorangestellt"
|
||||
|
||||
# @ acf
|
||||
#: fields/email.php:151 fields/number.php:177 fields/password.php:155
|
||||
#: fields/text.php:175
|
||||
#: fields/email.php:160 fields/number.php:172 fields/password.php:152
|
||||
#: fields/text.php:169
|
||||
msgid "Append"
|
||||
msgstr "Anhängen"
|
||||
|
||||
# @ acf
|
||||
#: fields/email.php:152 fields/number.php:178 fields/password.php:156
|
||||
#: fields/text.php:176
|
||||
#: fields/email.php:161 fields/number.php:173 fields/password.php:153
|
||||
#: fields/text.php:170
|
||||
msgid "Appears after the input"
|
||||
msgstr "Wird dem Eingabefeld hinten angestellt"
|
||||
|
||||
|
|
@ -2208,11 +2213,6 @@ msgstr "Lokalisiere"
|
|||
msgid "Sorry, this browser does not support geolocation"
|
||||
msgstr "Dieser Browser unterstützt keine Geo-Lokation"
|
||||
|
||||
# @ acf
|
||||
#: fields/google-map.php:133 fields/relationship.php:742
|
||||
msgid "Search"
|
||||
msgstr "Suchen"
|
||||
|
||||
# @ acf
|
||||
#: fields/google-map.php:134
|
||||
msgid "Clear location"
|
||||
|
|
@ -2344,27 +2344,27 @@ msgid "Message"
|
|||
msgstr "Nachricht"
|
||||
|
||||
# @ acf
|
||||
#: fields/message.php:125 fields/textarea.php:182
|
||||
#: fields/message.php:125 fields/textarea.php:176
|
||||
msgid "New Lines"
|
||||
msgstr "Neue Zeilen"
|
||||
|
||||
# @ acf
|
||||
#: fields/message.php:126 fields/textarea.php:183
|
||||
#: fields/message.php:126 fields/textarea.php:177
|
||||
msgid "Controls how new lines are rendered"
|
||||
msgstr "Legt fest wie Zeilenumbrüche gehandhabt werden"
|
||||
|
||||
# @ acf
|
||||
#: fields/message.php:130 fields/textarea.php:187
|
||||
#: fields/message.php:130 fields/textarea.php:181
|
||||
msgid "Automatically add paragraphs"
|
||||
msgstr "Absätze automatisch hinzufügen"
|
||||
|
||||
# @ acf
|
||||
#: fields/message.php:131 fields/textarea.php:188
|
||||
#: fields/message.php:131 fields/textarea.php:182
|
||||
msgid "Automatically add <br>"
|
||||
msgstr "Zeilenumbrüche ( <br> ) automatisch hinzufügen"
|
||||
|
||||
# @ acf
|
||||
#: fields/message.php:132 fields/textarea.php:189
|
||||
#: fields/message.php:132 fields/textarea.php:183
|
||||
msgid "No Formatting"
|
||||
msgstr "Keine Formatierung"
|
||||
|
||||
|
|
@ -2386,33 +2386,33 @@ msgid "Number"
|
|||
msgstr "Numerisch"
|
||||
|
||||
# @ acf
|
||||
#: fields/number.php:186
|
||||
#: fields/number.php:181
|
||||
msgid "Minimum Value"
|
||||
msgstr "Mindestwert"
|
||||
|
||||
# @ acf
|
||||
#: fields/number.php:195
|
||||
#: fields/number.php:190
|
||||
msgid "Maximum Value"
|
||||
msgstr "Maximalwert"
|
||||
|
||||
# @ acf
|
||||
#: fields/number.php:204
|
||||
#: fields/number.php:199
|
||||
msgid "Step Size"
|
||||
msgstr "Schrittweite"
|
||||
|
||||
# @ acf
|
||||
#: fields/number.php:242
|
||||
#: fields/number.php:237
|
||||
msgid "Value must be a number"
|
||||
msgstr "Wert muss eine Zahl sein"
|
||||
|
||||
# @ acf
|
||||
#: fields/number.php:260
|
||||
#: fields/number.php:255
|
||||
#, php-format
|
||||
msgid "Value must be equal to or higher than %d"
|
||||
msgstr "Wert muss grösser oder gleich %d sein"
|
||||
|
||||
# @ acf
|
||||
#: fields/number.php:268
|
||||
#: fields/number.php:263
|
||||
#, php-format
|
||||
msgid "Value must be equal to or lower than %d"
|
||||
msgstr "Wert muss kleiner oder gleich %d sein"
|
||||
|
|
@ -2429,8 +2429,8 @@ msgstr "URL eingeben"
|
|||
|
||||
# @ acf
|
||||
#: fields/oembed.php:225
|
||||
msgid "No embed found for the given URL"
|
||||
msgstr "Keine Inhalte für die eingegebene URL gefunden"
|
||||
msgid "No embed found for the given URL."
|
||||
msgstr "Keine Inhalte für die eingegebene URL gefunden."
|
||||
|
||||
# @ acf
|
||||
#: fields/oembed.php:261 fields/oembed.php:272
|
||||
|
|
@ -2834,12 +2834,12 @@ msgid "Text"
|
|||
msgstr "Text einzeilig"
|
||||
|
||||
# @ acf
|
||||
#: fields/text.php:184 fields/textarea.php:163
|
||||
#: fields/text.php:178 fields/textarea.php:157
|
||||
msgid "Character Limit"
|
||||
msgstr "Zeichenbegrenzung"
|
||||
|
||||
# @ acf
|
||||
#: fields/text.php:185 fields/textarea.php:164
|
||||
#: fields/text.php:179 fields/textarea.php:158
|
||||
msgid "Leave blank for no limit"
|
||||
msgstr "Ein leeres Eingabefeld bedeutet keine Begrenzung"
|
||||
|
||||
|
|
@ -2849,12 +2849,12 @@ msgid "Text Area"
|
|||
msgstr "Text mehrzeilig"
|
||||
|
||||
# @ acf
|
||||
#: fields/textarea.php:172
|
||||
#: fields/textarea.php:166
|
||||
msgid "Rows"
|
||||
msgstr "Zeilenanzahl"
|
||||
|
||||
# @ acf
|
||||
#: fields/textarea.php:173
|
||||
#: fields/textarea.php:167
|
||||
msgid "Sets the textarea height"
|
||||
msgstr "Definiert die Höhe des Textfelds"
|
||||
|
||||
|
|
@ -2878,7 +2878,7 @@ msgid "Url"
|
|||
msgstr "URL"
|
||||
|
||||
# @ acf
|
||||
#: fields/url.php:168
|
||||
#: fields/url.php:165
|
||||
msgid "Value must be a valid URL"
|
||||
msgstr "Bitte eine gültige URL eingeben"
|
||||
|
||||
|
|
@ -2893,48 +2893,48 @@ msgid "All user roles"
|
|||
msgstr "Alle Benutzerrollen"
|
||||
|
||||
# @ acf
|
||||
#: fields/wysiwyg.php:37
|
||||
#: fields/wysiwyg.php:36
|
||||
msgid "Wysiwyg Editor"
|
||||
msgstr "WYSIWYG-Editor"
|
||||
|
||||
# @ acf
|
||||
#: fields/wysiwyg.php:331
|
||||
#: fields/wysiwyg.php:377
|
||||
msgid "Visual"
|
||||
msgstr "Visuell"
|
||||
|
||||
# @ acf
|
||||
#: fields/wysiwyg.php:332
|
||||
#: fields/wysiwyg.php:378
|
||||
msgctxt "Name for the Text editor tab (formerly HTML)"
|
||||
msgid "Text"
|
||||
msgstr "Text"
|
||||
|
||||
# @ acf
|
||||
#: fields/wysiwyg.php:388
|
||||
#: fields/wysiwyg.php:434
|
||||
msgid "Tabs"
|
||||
msgstr "Tabs"
|
||||
|
||||
# @ acf
|
||||
#: fields/wysiwyg.php:393
|
||||
#: fields/wysiwyg.php:439
|
||||
msgid "Visual & Text"
|
||||
msgstr "Visuell & Text"
|
||||
|
||||
# @ acf
|
||||
#: fields/wysiwyg.php:394
|
||||
#: fields/wysiwyg.php:440
|
||||
msgid "Visual Only"
|
||||
msgstr "Nur Visuell"
|
||||
|
||||
# @ acf
|
||||
#: fields/wysiwyg.php:395
|
||||
#: fields/wysiwyg.php:441
|
||||
msgid "Text Only"
|
||||
msgstr "Nur Text"
|
||||
|
||||
# @ acf
|
||||
#: fields/wysiwyg.php:402
|
||||
#: fields/wysiwyg.php:448
|
||||
msgid "Toolbar"
|
||||
msgstr "Werkzeugleiste"
|
||||
|
||||
# @ acf
|
||||
#: fields/wysiwyg.php:412
|
||||
#: fields/wysiwyg.php:458
|
||||
msgid "Show Media Upload Buttons?"
|
||||
msgstr "Button zum Hochladen von Medien anzeigen?"
|
||||
|
||||
|
|
@ -2983,13 +2983,8 @@ msgstr "Veröffentlichen"
|
|||
|
||||
# @ acf
|
||||
#: pro/admin/options-page.php:315
|
||||
msgid "No Custom Field Groups found for this options page"
|
||||
msgstr "Keine Feld-Gruppen für die Options-Seite gefunden"
|
||||
|
||||
# @ acf
|
||||
#: pro/admin/options-page.php:315
|
||||
msgid "Create a Custom Field Group"
|
||||
msgstr "Erstelle eine Feld-Gruppe"
|
||||
msgid "No Custom Field Groups found for this options page. <a href=\"%s\">Create a Custom Field Group</a>"
|
||||
msgstr "Keine Feld-Gruppen für die Options-Seite gefunden. <a href=\"%s\">Erstelle eine Feld-Gruppe</a>"
|
||||
|
||||
# @ acf
|
||||
#: pro/admin/settings-updates.php:87
|
||||
|
|
@ -3074,6 +3069,14 @@ msgstr "Aktualisierungs-Hinweis"
|
|||
msgid "Options"
|
||||
msgstr "Optionen"
|
||||
|
||||
#: pro/api/api-pro.php:328
|
||||
msgid ""
|
||||
"Error validating license URL (website does not match). Please re-activate "
|
||||
"your license"
|
||||
msgstr ""
|
||||
"Fehler bei der Überprüfung der Lizenz URL (Webseite stimmt nicht überein). "
|
||||
"Bitte reaktiviere deine Lizenz"
|
||||
|
||||
#: pro/core/updates.php:206
|
||||
#, php-format
|
||||
msgid ""
|
||||
|
|
@ -3091,70 +3094,78 @@ msgctxt "noun"
|
|||
msgid "Clone"
|
||||
msgstr "Klonen"
|
||||
|
||||
#: pro/fields/clone.php:663
|
||||
#: pro/fields/clone.php:689
|
||||
msgid "Select one or more fields you wish to clone"
|
||||
msgstr "Wähle eines oder mehrere Felder aus, das/die du klonen willst"
|
||||
|
||||
# @ acf
|
||||
#: pro/fields/clone.php:678
|
||||
#: pro/fields/clone.php:704
|
||||
msgid "Display"
|
||||
msgstr "Anzeige"
|
||||
|
||||
#: pro/fields/clone.php:679
|
||||
#: pro/fields/clone.php:705
|
||||
msgid "Specify the style used to render the clone field"
|
||||
msgstr "Gib an, wie die geklonten Felder ausgegeben werden sollen"
|
||||
|
||||
#: pro/fields/clone.php:684
|
||||
#: pro/fields/clone.php:710
|
||||
msgid "Group (displays selected fields in a group within this field)"
|
||||
msgstr ""
|
||||
"Gruppe (zeigt die ausgewählten Felder in einer Gruppe innerhalb dieses Felds "
|
||||
"an)"
|
||||
|
||||
#: pro/fields/clone.php:685
|
||||
#: pro/fields/clone.php:711
|
||||
msgid "Seamless (replaces this field with selected fields)"
|
||||
msgstr "Nahtlos (ersetzt dieses Feld mit den ausgewählten Feldern)"
|
||||
|
||||
#: pro/fields/clone.php:693
|
||||
#: pro/fields/clone.php:719
|
||||
msgid "Specify the style used to render the selected fields"
|
||||
msgstr "Gib an, wie die ausgewählten Felder angezeigt werden sollen"
|
||||
|
||||
# @ acf
|
||||
#: pro/fields/clone.php:698 pro/fields/flexible-content.php:555
|
||||
#: pro/fields/repeater.php:467
|
||||
#: pro/fields/clone.php:724 pro/fields/flexible-content.php:555
|
||||
#: pro/fields/repeater.php:476
|
||||
msgid "Block"
|
||||
msgstr "Block"
|
||||
|
||||
# @ acf
|
||||
#: pro/fields/clone.php:699 pro/fields/flexible-content.php:554
|
||||
#: pro/fields/repeater.php:466
|
||||
#: pro/fields/clone.php:725 pro/fields/flexible-content.php:554
|
||||
#: pro/fields/repeater.php:475
|
||||
msgid "Table"
|
||||
msgstr "Tabelle"
|
||||
|
||||
# @ acf
|
||||
#: pro/fields/clone.php:700 pro/fields/flexible-content.php:556
|
||||
#: pro/fields/repeater.php:468
|
||||
#: pro/fields/clone.php:726 pro/fields/flexible-content.php:556
|
||||
#: pro/fields/repeater.php:477
|
||||
msgid "Row"
|
||||
msgstr "Reihe"
|
||||
|
||||
#: pro/fields/clone.php:706
|
||||
#: pro/fields/clone.php:732
|
||||
#, php-format
|
||||
msgid "Labels will be displayed as %s"
|
||||
msgstr "Bezeichnungen werden angezeigt als %s"
|
||||
|
||||
#: pro/fields/clone.php:709
|
||||
#: pro/fields/clone.php:735
|
||||
msgid "Prefix Field Labels"
|
||||
msgstr "Präfix für Feld Bezeichnungen"
|
||||
|
||||
#: pro/fields/clone.php:724
|
||||
#: pro/fields/clone.php:750
|
||||
#, php-format
|
||||
msgid "Values will be saved as %s"
|
||||
msgstr "Werte werden gespeichert als %s"
|
||||
|
||||
#: pro/fields/clone.php:727
|
||||
#: pro/fields/clone.php:753
|
||||
msgid "Prefix Field Names"
|
||||
msgstr "Präfix für Feld Namen"
|
||||
|
||||
#: pro/fields/clone.php:883
|
||||
#: pro/fields/clone.php:875
|
||||
msgid "Unknown field"
|
||||
msgstr "Unbekanntes Feld"
|
||||
|
||||
#: pro/fields/clone.php:914
|
||||
msgid "Unknown field group"
|
||||
msgstr "Unbekannte Feld-Gruppe"
|
||||
|
||||
#: pro/fields/clone.php:918
|
||||
#, php-format
|
||||
msgid "All fields from %s field group"
|
||||
msgstr "Alle Felder der %s Feld-Gruppe"
|
||||
|
|
@ -3230,7 +3241,7 @@ msgstr "Layout hinzufügen"
|
|||
msgid "Remove layout"
|
||||
msgstr "Layout entfernen"
|
||||
|
||||
#: pro/fields/flexible-content.php:356 pro/fields/repeater.php:304
|
||||
#: pro/fields/flexible-content.php:356 pro/fields/repeater.php:313
|
||||
msgid "Click to toggle"
|
||||
msgstr "Zum Auswählen anklicken"
|
||||
|
||||
|
|
@ -3270,7 +3281,7 @@ msgid "Max"
|
|||
msgstr "Max"
|
||||
|
||||
# @ acf
|
||||
#: pro/fields/flexible-content.php:612 pro/fields/repeater.php:475
|
||||
#: pro/fields/flexible-content.php:612 pro/fields/repeater.php:484
|
||||
msgid "Button Label"
|
||||
msgstr "Button-Beschriftung"
|
||||
|
||||
|
|
@ -3389,37 +3400,37 @@ msgid "Maximum rows reached ({max} rows)"
|
|||
msgstr "Maximum der Einträge mit ({max} Reihen) erreicht"
|
||||
|
||||
# @ acf
|
||||
#: pro/fields/repeater.php:349
|
||||
#: pro/fields/repeater.php:358
|
||||
msgid "Add row"
|
||||
msgstr "Eintrag hinzufügen"
|
||||
|
||||
# @ acf
|
||||
#: pro/fields/repeater.php:350
|
||||
#: pro/fields/repeater.php:359
|
||||
msgid "Remove row"
|
||||
msgstr "Eintrag löschen"
|
||||
|
||||
# @ acf
|
||||
#: pro/fields/repeater.php:398
|
||||
#: pro/fields/repeater.php:407
|
||||
msgid "Sub Fields"
|
||||
msgstr "Wiederholungsfelder"
|
||||
|
||||
#: pro/fields/repeater.php:428
|
||||
#: pro/fields/repeater.php:437
|
||||
msgid "Collapsed"
|
||||
msgstr "Zugeklappt"
|
||||
|
||||
#: pro/fields/repeater.php:429
|
||||
#: pro/fields/repeater.php:438
|
||||
msgid "Select a sub field to show when row is collapsed"
|
||||
msgstr ""
|
||||
"Wähle welches der Wiederholungsfelder im zugeklappten Zustand angezeigt "
|
||||
"werden soll"
|
||||
|
||||
# @ acf
|
||||
#: pro/fields/repeater.php:439
|
||||
#: pro/fields/repeater.php:448
|
||||
msgid "Minimum Rows"
|
||||
msgstr "Minimum der Einträge"
|
||||
|
||||
# @ acf
|
||||
#: pro/fields/repeater.php:449
|
||||
#: pro/fields/repeater.php:458
|
||||
msgid "Maximum Rows"
|
||||
msgstr "Maximum der Einträge"
|
||||
|
||||
|
|
|
|||
Binary file not shown.
1056
lang/acf-de_DE.po
1056
lang/acf-de_DE.po
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
|
@ -3,7 +3,7 @@ msgstr ""
|
|||
"Project-Id-Version: Advanced Custom Fields Pro v5.2.9\n"
|
||||
"Report-Msgid-Bugs-To: http://support.advancedcustomfields.com\n"
|
||||
"POT-Creation-Date: 2015-08-11 23:12+0200\n"
|
||||
"PO-Revision-Date: 2016-04-07 10:30+1000\n"
|
||||
"PO-Revision-Date: 2016-11-03 17:09+1000\n"
|
||||
"Last-Translator: Elliot Condon <e@elliotcondon.com>\n"
|
||||
"Language-Team: Héctor Garrofé <info@hectorgarrofe.com>\n"
|
||||
"Language: es_ES\n"
|
||||
|
|
@ -579,6 +579,10 @@ msgstr "Borrar"
|
|||
msgid "Error"
|
||||
msgstr "Error"
|
||||
|
||||
#: fields/oembed.php:220 fields/taxonomy.php:900
|
||||
msgid "Error."
|
||||
msgstr "Error."
|
||||
|
||||
#: admin/views/field-group-field.php:68
|
||||
msgid "Field type does not exist"
|
||||
msgstr "Tipo de campo inexistente"
|
||||
|
|
@ -1286,12 +1290,8 @@ msgid "Site is up to date"
|
|||
msgstr "El sitio está actualizado"
|
||||
|
||||
#: admin/views/update-network.php:62 admin/views/update.php:16
|
||||
msgid "Database Upgrade complete"
|
||||
msgstr "Actualización de base de datos completa"
|
||||
|
||||
#: admin/views/update-network.php:62
|
||||
msgid "Return to network dashboard"
|
||||
msgstr "Regresar al Escritorio de Red"
|
||||
msgid "Database Upgrade complete. <a href=\"%s\">Return to network dashboard</a>"
|
||||
msgstr "Actualización de base de datos completa. <a href=\"%s\">Regresar al Escritorio de Red</a>"
|
||||
|
||||
#: admin/views/update-network.php:101 admin/views/update-notice.php:35
|
||||
msgid ""
|
||||
|
|
@ -1340,8 +1340,8 @@ msgid "See what's new"
|
|||
msgstr "Mira qué hay de nuevo"
|
||||
|
||||
#: admin/views/update.php:110
|
||||
msgid "No updates available"
|
||||
msgstr "No hay actualizaciones disponibles"
|
||||
msgid "No updates available."
|
||||
msgstr "No hay actualizaciones disponibles."
|
||||
|
||||
#: api/api-helpers.php:821
|
||||
msgid "Thumbnail"
|
||||
|
|
@ -1868,8 +1868,8 @@ msgid "Enter URL"
|
|||
msgstr "Ingresa URL"
|
||||
|
||||
#: fields/oembed.php:212
|
||||
msgid "No embed found for the given URL"
|
||||
msgstr "No se encontró embed para la URL proporcionada"
|
||||
msgid "No embed found for the given URL."
|
||||
msgstr "No se encontró embed para la URL proporcionada."
|
||||
|
||||
#: fields/oembed.php:248 fields/oembed.php:259
|
||||
msgid "Embed Size"
|
||||
|
|
@ -2280,14 +2280,8 @@ msgid "Options Updated"
|
|||
msgstr "Opciones Actualizadas"
|
||||
|
||||
#: pro/admin/options-page.php:304
|
||||
msgid "No Custom Field Groups found for this options page"
|
||||
msgstr ""
|
||||
"No se encontraron grupos de campos personalizados para esta página de "
|
||||
"opciones"
|
||||
|
||||
#: pro/admin/options-page.php:304
|
||||
msgid "Create a Custom Field Group"
|
||||
msgstr "Crear Grupo de Campos Personalizados"
|
||||
msgid "No Custom Field Groups found for this options page. <a href=\"%s\">Create a Custom Field Group</a>"
|
||||
msgstr "No se encontraron grupos de campos personalizados para esta página de opciones. <a href=\"%s\">Crear Grupo de Campos Personalizados</a>"
|
||||
|
||||
#: pro/admin/settings-updates.php:137
|
||||
msgid "<b>Error</b>. Could not connect to update server"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,7 +3,7 @@ msgstr ""
|
|||
"Project-Id-Version: Advanced Custom Fields Pro v5.2.9\n"
|
||||
"Report-Msgid-Bugs-To: http://support.advancedcustomfields.com\n"
|
||||
"POT-Creation-Date: 2016-08-06 19:58+0430\n"
|
||||
"PO-Revision-Date: 2016-08-06 20:09+0430\n"
|
||||
"PO-Revision-Date: 2016-11-03 17:09+1000\n"
|
||||
"Last-Translator: Elliot Condon <e@elliotcondon.com>\n"
|
||||
"Language-Team: Kamel Kimiaei Fard <Kamel.Kimiaei.Fard@gmail.com>\n"
|
||||
"Language: fa\n"
|
||||
|
|
@ -11,7 +11,7 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Poedit 1.8.8\n"
|
||||
"X-Generator: Poedit 1.8.1\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
|
||||
"esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
|
||||
|
|
@ -480,8 +480,8 @@ msgid "Error validating request"
|
|||
msgstr ""
|
||||
|
||||
#: admin/update.php:243 admin/views/update.php:110
|
||||
msgid "No updates available"
|
||||
msgstr "بهروزرسانی موجود نیست"
|
||||
msgid "No updates available."
|
||||
msgstr "بهروزرسانی موجود نیست."
|
||||
|
||||
#: admin/update.php:260
|
||||
msgid "Error loading update"
|
||||
|
|
@ -582,6 +582,10 @@ msgstr "حذف"
|
|||
msgid "Error"
|
||||
msgstr "خطا"
|
||||
|
||||
#: fields/oembed.php:220 fields/taxonomy.php:900
|
||||
msgid "Error."
|
||||
msgstr "خطا."
|
||||
|
||||
#: admin/views/field-group-field.php:69
|
||||
msgid "Field type does not exist"
|
||||
msgstr "نوع زمینه وجود ندارد"
|
||||
|
|
@ -1273,12 +1277,8 @@ msgid "Site is up to date"
|
|||
msgstr "سایت به روز است"
|
||||
|
||||
#: admin/views/update-network.php:67 admin/views/update.php:16
|
||||
msgid "Database Upgrade complete"
|
||||
msgstr "به روزرسانی دیتابیس انجام شد"
|
||||
|
||||
#: admin/views/update-network.php:67
|
||||
msgid "Return to network dashboard"
|
||||
msgstr "بازگشت به پیشخوان شبکه"
|
||||
msgid "Database Upgrade complete. <a href=\"%s\">Return to network dashboard</a>"
|
||||
msgstr "به روزرسانی دیتابیس انجام شد. <a href=\"%s\">بازگشت به پیشخوان شبکه</a>"
|
||||
|
||||
#: admin/views/update-network.php:106 admin/views/update-notice.php:35
|
||||
msgid ""
|
||||
|
|
@ -1342,8 +1342,8 @@ msgstr "اندازه کامل"
|
|||
msgid "(no title)"
|
||||
msgstr "(بدون عنوان)"
|
||||
|
||||
#: api/api-helpers.php:1807 fields/page_link.php:284 fields/post_object.php:283
|
||||
#: fields/taxonomy.php:989
|
||||
#: api/api-helpers.php:1807 fields/page_link.php:284
|
||||
#: fields/post_object.php:283 fields/taxonomy.php:989
|
||||
msgid "Parent"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -1608,8 +1608,8 @@ msgid "The format displayed when editing a post"
|
|||
msgstr "قالب در زمان نمایش نوشته دیده خواهد شد"
|
||||
|
||||
#: fields/date_picker.php:210 fields/date_time_picker.php:200
|
||||
#: fields/post_object.php:455 fields/relationship.php:783 fields/select.php:520
|
||||
#: fields/time_picker.php:140
|
||||
#: fields/post_object.php:455 fields/relationship.php:783
|
||||
#: fields/select.php:520 fields/time_picker.php:140
|
||||
msgid "Return Format"
|
||||
msgstr "فرمت بازگشت"
|
||||
|
||||
|
|
@ -1997,8 +1997,8 @@ msgid "Enter URL"
|
|||
msgstr "آدرس را وارد کنید"
|
||||
|
||||
#: fields/oembed.php:225
|
||||
msgid "No embed found for the given URL"
|
||||
msgstr "امکان جاسازی برای آدرس وارد شده یافت نشد"
|
||||
msgid "No embed found for the given URL."
|
||||
msgstr "امکان جاسازی برای آدرس وارد شده یافت نشد."
|
||||
|
||||
#: fields/oembed.php:261 fields/oembed.php:272
|
||||
msgid "Embed Size"
|
||||
|
|
@ -2463,12 +2463,8 @@ msgid "Publish"
|
|||
msgstr "انتشار"
|
||||
|
||||
#: pro/admin/options-page.php:315
|
||||
msgid "No Custom Field Groups found for this options page"
|
||||
msgstr "هیچ گروه زمینه دلخواهی برای این صفحه تنظیمات یافت نشد"
|
||||
|
||||
#: pro/admin/options-page.php:315
|
||||
msgid "Create a Custom Field Group"
|
||||
msgstr "ساخت گروه زمینه دلخواه"
|
||||
msgid "No Custom Field Groups found for this options page. <a href=\"%s\">Create a Custom Field Group</a>"
|
||||
msgstr "هیچ گروه زمینه دلخواهی برای این صفحه تنظیمات یافت نشد. <a href=\"%s\">ساخت گروه زمینه دلخواه</a>"
|
||||
|
||||
#: pro/admin/settings-updates.php:87
|
||||
msgid "<b>Error</b>. Could not connect to update server"
|
||||
|
|
|
|||
BIN
lang/acf-fi.mo
BIN
lang/acf-fi.mo
Binary file not shown.
|
|
@ -3,14 +3,14 @@ msgstr ""
|
|||
"Project-Id-Version: Advanced Custom Fields Pro v5.2.9\n"
|
||||
"Report-Msgid-Bugs-To: http://support.advancedcustomfields.com\n"
|
||||
"POT-Creation-Date: 2016-09-24 00:01+0300\n"
|
||||
"PO-Revision-Date: 2016-09-24 00:03+0300\n"
|
||||
"Last-Translator: Sauli Rajala <sauli.rajala@valu.fi>\n"
|
||||
"PO-Revision-Date: 2016-11-03 17:09+1000\n"
|
||||
"Last-Translator: Elliot Condon <e@elliotcondon.com>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: fi\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 1.8.2\n"
|
||||
"X-Generator: Poedit 1.8.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
|
||||
|
|
@ -490,8 +490,8 @@ msgid "Error validating request"
|
|||
msgstr "Virhe pyynnön käsittelyssä"
|
||||
|
||||
#: admin/update.php:243 admin/views/update.php:110
|
||||
msgid "No updates available"
|
||||
msgstr "Päivityksiä ei ole saatavilla"
|
||||
msgid "No updates available."
|
||||
msgstr "Päivityksiä ei ole saatavilla."
|
||||
|
||||
#: admin/update.php:260
|
||||
msgid "Error loading update"
|
||||
|
|
@ -592,6 +592,10 @@ msgstr "Poista"
|
|||
msgid "Error"
|
||||
msgstr "Virhe"
|
||||
|
||||
#: fields/oembed.php:220 fields/taxonomy.php:900
|
||||
msgid "Error."
|
||||
msgstr "Virhe."
|
||||
|
||||
#: admin/views/field-group-field.php:69
|
||||
msgid "Field type does not exist"
|
||||
msgstr "Kenttätyyppi ei ole olemassa"
|
||||
|
|
@ -1293,12 +1297,8 @@ msgid "Site is up to date"
|
|||
msgstr "Sivusto on ajan tasalla"
|
||||
|
||||
#: admin/views/update-network.php:67 admin/views/update.php:16
|
||||
msgid "Database Upgrade complete"
|
||||
msgstr "Tietokanta on päivitetty"
|
||||
|
||||
#: admin/views/update-network.php:67
|
||||
msgid "Return to network dashboard"
|
||||
msgstr "Palaa verkon hallinnan ohjausnäkymään"
|
||||
msgid "Database Upgrade complete. <a href=\"%s\">Return to network dashboard</a>"
|
||||
msgstr "Tietokanta on päivitetty. <a href=\"%s\">Palaa verkon hallinnan ohjausnäkymään</a>"
|
||||
|
||||
#: admin/views/update-network.php:106 admin/views/update-notice.php:35
|
||||
msgid ""
|
||||
|
|
@ -2015,8 +2015,8 @@ msgid "Enter URL"
|
|||
msgstr "Syötä URL"
|
||||
|
||||
#: fields/oembed.php:225
|
||||
msgid "No embed found for the given URL"
|
||||
msgstr "Upotettavaa ei löytynyt annetusta URL-osoitteesta"
|
||||
msgid "No embed found for the given URL."
|
||||
msgstr "Upotettavaa ei löytynyt annetusta URL-osoitteesta."
|
||||
|
||||
#: fields/oembed.php:261 fields/oembed.php:272
|
||||
msgid "Embed Size"
|
||||
|
|
@ -2486,12 +2486,8 @@ msgid "Publish"
|
|||
msgstr "Julkaistu"
|
||||
|
||||
#: pro/admin/options-page.php:315
|
||||
msgid "No Custom Field Groups found for this options page"
|
||||
msgstr "Yhtään lisäkenttäryhmää ei löytynyt tälle asetussivulle"
|
||||
|
||||
#: pro/admin/options-page.php:315
|
||||
msgid "Create a Custom Field Group"
|
||||
msgstr "Luo lisäkenttäryhmä"
|
||||
msgid "No Custom Field Groups found for this options page. <a href=\"%s\">Create a Custom Field Group</a>"
|
||||
msgstr "Yhtään lisäkenttäryhmää ei löytynyt tälle asetussivulle. <a href=\"%s\">Luo lisäkenttäryhmä</a>"
|
||||
|
||||
#: pro/admin/settings-updates.php:87
|
||||
msgid "<b>Error</b>. Could not connect to update server"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,15 +3,15 @@ msgstr ""
|
|||
"Project-Id-Version: Advanced Custom Fields Pro v5.2.9\n"
|
||||
"Report-Msgid-Bugs-To: http://support.advancedcustomfields.com\n"
|
||||
"POT-Creation-Date: 2016-06-17 13:45+0200\n"
|
||||
"PO-Revision-Date: 2016-06-17 14:36+0200\n"
|
||||
"Last-Translator: Maxime BERNARD-JACQUET <maxime@smoothie-creative.com>\n"
|
||||
"PO-Revision-Date: 2016-11-03 17:09+1000\n"
|
||||
"Last-Translator: Elliot Condon <e@elliotcondon.com>\n"
|
||||
"Language-Team: Dysign <maxime@dysign.fr>\n"
|
||||
"Language: fr_FR\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Generator: Poedit 1.8.6\n"
|
||||
"X-Generator: Poedit 1.8.1\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
|
||||
"esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
|
||||
|
|
@ -541,8 +541,8 @@ msgstr "Erreur : la requête n’a pas pu être validée"
|
|||
|
||||
# @ acf
|
||||
#: admin/update.php:243 admin/views/update.php:110
|
||||
msgid "No updates available"
|
||||
msgstr "Aucune mise à jour disponible"
|
||||
msgid "No updates available."
|
||||
msgstr "Aucune mise à jour disponible."
|
||||
|
||||
#: admin/update.php:260
|
||||
msgid "Error loading update"
|
||||
|
|
@ -645,6 +645,10 @@ msgstr "Supprimer"
|
|||
msgid "Error"
|
||||
msgstr "Erreur"
|
||||
|
||||
#: fields/oembed.php:220 fields/taxonomy.php:900
|
||||
msgid "Error."
|
||||
msgstr "Erreur."
|
||||
|
||||
# @ acf
|
||||
#: admin/views/field-group-field.php:68
|
||||
msgid "Field type does not exist"
|
||||
|
|
@ -1416,12 +1420,8 @@ msgid "Site is up to date"
|
|||
msgstr "Site à jour"
|
||||
|
||||
#: admin/views/update-network.php:67 admin/views/update.php:16
|
||||
msgid "Database Upgrade complete"
|
||||
msgstr "Mise à niveau de la base de données effectuée"
|
||||
|
||||
#: admin/views/update-network.php:67
|
||||
msgid "Return to network dashboard"
|
||||
msgstr "Retourner au panneau d'administration du réseau"
|
||||
msgid "Database Upgrade complete. <a href=\"%s\">Return to network dashboard</a>"
|
||||
msgstr "Mise à niveau de la base de données effectuée. <a href=\"%s\">Retourner au panneau d'administration du réseau</a>"
|
||||
|
||||
#: admin/views/update-network.php:106 admin/views/update-notice.php:35
|
||||
msgid ""
|
||||
|
|
@ -2178,8 +2178,8 @@ msgid "Enter URL"
|
|||
msgstr "Entrez l'URL"
|
||||
|
||||
#: fields/oembed.php:225
|
||||
msgid "No embed found for the given URL"
|
||||
msgstr "Aucune instruction d'intégration trouvée à cette adresse"
|
||||
msgid "No embed found for the given URL."
|
||||
msgstr "Aucune instruction d'intégration trouvée à cette adresse."
|
||||
|
||||
#: fields/oembed.php:261 fields/oembed.php:272
|
||||
msgid "Embed Size"
|
||||
|
|
@ -2674,13 +2674,8 @@ msgstr "Publier"
|
|||
|
||||
# @ default
|
||||
#: pro/admin/options-page.php:315
|
||||
msgid "No Custom Field Groups found for this options page"
|
||||
msgstr "Aucun groupe de champs trouvé pour cette page options"
|
||||
|
||||
# @ acf
|
||||
#: pro/admin/options-page.php:315
|
||||
msgid "Create a Custom Field Group"
|
||||
msgstr "Créer un groupe de champs"
|
||||
msgid "No Custom Field Groups found for this options page. <a href=\"%s\">Create a Custom Field Group</a>"
|
||||
msgstr "Aucun groupe de champs trouvé pour cette page options. <a href=\"%s\">Créer un groupe de champs</a>"
|
||||
|
||||
#: pro/admin/settings-updates.php:125
|
||||
msgid "<b>Error</b>. Could not connect to update server"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -577,6 +577,10 @@ msgstr "מחיקה"
|
|||
msgid "Error"
|
||||
msgstr "שגיאה"
|
||||
|
||||
#: fields/oembed.php:220 fields/taxonomy.php:900
|
||||
msgid "Error."
|
||||
msgstr "שגיאה."
|
||||
|
||||
#: admin/views/field-group-field.php:68
|
||||
msgid "Field type does not exist"
|
||||
msgstr "סוג השדה לא נמצא"
|
||||
|
|
@ -1245,11 +1249,7 @@ msgid "Site is up to date"
|
|||
msgstr ""
|
||||
|
||||
#: admin/views/update-network.php:62 admin/views/update.php:16
|
||||
msgid "Database Upgrade complete"
|
||||
msgstr ""
|
||||
|
||||
#: admin/views/update-network.php:62
|
||||
msgid "Return to network dashboard"
|
||||
msgid "Database Upgrade complete. <a href=\"%s\">Return to network dashboard</a>"
|
||||
msgstr ""
|
||||
|
||||
#: admin/views/update-network.php:101 admin/views/update-notice.php:35
|
||||
|
|
@ -1299,7 +1299,7 @@ msgid "See what's new"
|
|||
msgstr "בואו לראות מה חדש"
|
||||
|
||||
#: admin/views/update.php:110
|
||||
msgid "No updates available"
|
||||
msgid "No updates available."
|
||||
msgstr ""
|
||||
|
||||
#: api/api-helpers.php:821
|
||||
|
|
@ -1822,8 +1822,8 @@ msgid "Enter URL"
|
|||
msgstr "הקלד כתובת URL"
|
||||
|
||||
#: fields/oembed.php:212
|
||||
msgid "No embed found for the given URL"
|
||||
msgstr "לא נמצא קוד הטמעה לכתובת ה-URL הנתונה"
|
||||
msgid "No embed found for the given URL."
|
||||
msgstr "לא נמצא קוד הטמעה לכתובת ה-URL הנתונה."
|
||||
|
||||
#: fields/oembed.php:248 fields/oembed.php:259
|
||||
msgid "Embed Size"
|
||||
|
|
@ -2229,12 +2229,8 @@ msgid "Options Updated"
|
|||
msgstr "האפשרויות עודכנו"
|
||||
|
||||
#: pro/admin/options-page.php:304
|
||||
msgid "No Custom Field Groups found for this options page"
|
||||
msgstr "אף קבוצת שדות לא נמצאה בפח"
|
||||
|
||||
#: pro/admin/options-page.php:304
|
||||
msgid "Create a Custom Field Group"
|
||||
msgstr "יצירת קבוצת שדות מיוחדים"
|
||||
msgid "No Custom Field Groups found for this options page. <a href=\"%s\">Create a Custom Field Group</a>"
|
||||
msgstr "אף קבוצת שדות לא נמצאה בפח. <a href=\"%s\">יצירת קבוצת שדות מיוחדים</a>"
|
||||
|
||||
#: pro/admin/settings-updates.php:137
|
||||
msgid "<b>Error</b>. Could not connect to update server"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,7 +3,7 @@ msgstr ""
|
|||
"Project-Id-Version: Advanced Custom Fields Pro v5.2.9\n"
|
||||
"Report-Msgid-Bugs-To: http://support.advancedcustomfields.com\n"
|
||||
"POT-Creation-Date: 2015-08-11 23:26+0200\n"
|
||||
"PO-Revision-Date: 2016-04-07 10:30+1000\n"
|
||||
"PO-Revision-Date: 2016-11-03 17:11+1000\n"
|
||||
"Last-Translator: Elliot Condon <e@elliotcondon.com>\n"
|
||||
"Language-Team: Elliot Condon <e@elliotcondon.com>\n"
|
||||
"Language: hu_HU\n"
|
||||
|
|
@ -578,6 +578,10 @@ msgstr "Törlés"
|
|||
msgid "Error"
|
||||
msgstr "Hiba"
|
||||
|
||||
#: fields/oembed.php:220 fields/taxonomy.php:900
|
||||
msgid "Error."
|
||||
msgstr "Hiba."
|
||||
|
||||
#: admin/views/field-group-field.php:68
|
||||
msgid "Field type does not exist"
|
||||
msgstr "Mezőtípus nem létezik"
|
||||
|
|
@ -1282,11 +1286,7 @@ msgid "Site is up to date"
|
|||
msgstr ""
|
||||
|
||||
#: admin/views/update-network.php:62 admin/views/update.php:16
|
||||
msgid "Database Upgrade complete"
|
||||
msgstr ""
|
||||
|
||||
#: admin/views/update-network.php:62
|
||||
msgid "Return to network dashboard"
|
||||
msgid "Database Upgrade complete. <a href=\"%s\">Return to network dashboard</a>"
|
||||
msgstr ""
|
||||
|
||||
#: admin/views/update-network.php:101 admin/views/update-notice.php:35
|
||||
|
|
@ -1337,7 +1337,7 @@ msgid "See what's new"
|
|||
msgstr "Újdonságok áttekintése"
|
||||
|
||||
#: admin/views/update.php:110
|
||||
msgid "No updates available"
|
||||
msgid "No updates available."
|
||||
msgstr ""
|
||||
|
||||
#: api/api-helpers.php:821
|
||||
|
|
@ -1865,8 +1865,8 @@ msgid "Enter URL"
|
|||
msgstr "URL megadása"
|
||||
|
||||
#: fields/oembed.php:212
|
||||
msgid "No embed found for the given URL"
|
||||
msgstr "Nem található beágyazható elem a megadott URL-en"
|
||||
msgid "No embed found for the given URL."
|
||||
msgstr "Nem található beágyazható elem a megadott URL-en."
|
||||
|
||||
#: fields/oembed.php:248 fields/oembed.php:259
|
||||
msgid "Embed Size"
|
||||
|
|
@ -2279,12 +2279,8 @@ msgid "Options Updated"
|
|||
msgstr "Beállítások elmentve"
|
||||
|
||||
#: pro/admin/options-page.php:304
|
||||
msgid "No Custom Field Groups found for this options page"
|
||||
msgstr "Nincsenek mezőcsoportok ehhez a beállítás oldalhoz."
|
||||
|
||||
#: pro/admin/options-page.php:304
|
||||
msgid "Create a Custom Field Group"
|
||||
msgstr "Mezőcsoport hozzáadása"
|
||||
msgid "No Custom Field Groups found for this options page. <a href=\"%s\">Create a Custom Field Group</a>"
|
||||
msgstr "Nincsenek mezőcsoportok ehhez a beállítás oldalhoz. <a href=\"%s\">Mezőcsoport hozzáadása</a>"
|
||||
|
||||
#: pro/admin/settings-updates.php:137
|
||||
msgid "<b>Error</b>. Could not connect to update server"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -3,7 +3,7 @@ msgstr ""
|
|||
"Project-Id-Version: Advanced Custom Fields\n"
|
||||
"Report-Msgid-Bugs-To: http://support.advancedcustomfields.com\n"
|
||||
"POT-Creation-Date: 2016-01-25 09:18-0800\n"
|
||||
"PO-Revision-Date: 2016-04-07 10:30+1000\n"
|
||||
"PO-Revision-Date: 2016-11-03 17:12+1000\n"
|
||||
"Language-Team: Elliot Condon <e@elliotcondon.com>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
|
@ -574,6 +574,10 @@ msgstr "Hapus"
|
|||
msgid "Error"
|
||||
msgstr "Error"
|
||||
|
||||
#: fields/oembed.php:220 fields/taxonomy.php:900
|
||||
msgid "Error."
|
||||
msgstr "Error."
|
||||
|
||||
#: admin/views/field-group-field.php:69
|
||||
msgid "Field type does not exist"
|
||||
msgstr "Jenis bidang tidak ada"
|
||||
|
|
@ -1270,12 +1274,8 @@ msgid "Site is up to date"
|
|||
msgstr "Situs ini up-to-date"
|
||||
|
||||
#: admin/views/update-network.php:62 admin/views/update.php:16
|
||||
msgid "Database Upgrade complete"
|
||||
msgstr "Upgrade database selesai"
|
||||
|
||||
#: admin/views/update-network.php:62
|
||||
msgid "Return to network dashboard"
|
||||
msgstr "Kembali ke dasbor jaringan"
|
||||
msgid "Database Upgrade complete. <a href=\"%s\">Return to network dashboard</a>"
|
||||
msgstr "Upgrade database selesai. <a href=\"%s\">Kembali ke dasbor jaringan</a>"
|
||||
|
||||
#: admin/views/update-network.php:101 admin/views/update-notice.php:35
|
||||
msgid ""
|
||||
|
|
@ -1324,7 +1324,7 @@ msgid "See what's new"
|
|||
msgstr "Lihat apa yang baru"
|
||||
|
||||
#: admin/views/update.php:110
|
||||
msgid "No updates available"
|
||||
msgid "No updates available."
|
||||
msgstr "pembaruan tidak tersedia ."
|
||||
|
||||
#: api/api-helpers.php:909
|
||||
|
|
@ -1871,8 +1871,8 @@ msgid "Enter URL"
|
|||
msgstr "Masukkan URL"
|
||||
|
||||
#: fields/oembed.php:225
|
||||
msgid "No embed found for the given URL"
|
||||
msgstr "Tidak ada embed ditemukan dari URL yang diberikan"
|
||||
msgid "No embed found for the given URL."
|
||||
msgstr "Tidak ada embed ditemukan dari URL yang diberikan."
|
||||
|
||||
#: fields/oembed.php:261 fields/oembed.php:272
|
||||
msgid "Embed Size"
|
||||
|
|
@ -2254,12 +2254,8 @@ msgid "Options Updated"
|
|||
msgstr "Pilihan Diperbarui"
|
||||
|
||||
#: pro/admin/options-page.php:304
|
||||
msgid "No Custom Field Groups found for this options page"
|
||||
msgstr "Tidak ada Grup Bidang Kustom ditemukan untuk halaman pilihan ini"
|
||||
|
||||
#: pro/admin/options-page.php:304
|
||||
msgid "Create a Custom Field Group"
|
||||
msgstr "Buat Grup Bidang Kustom"
|
||||
msgid "No Custom Field Groups found for this options page. <a href=\"%s\">Create a Custom Field Group</a>"
|
||||
msgstr "Tidak ada Grup Bidang Kustom ditemukan untuk halaman pilihan ini. <a href=\"%s\">Buat Grup Bidang Kustom</a>"
|
||||
|
||||
#: pro/admin/settings-updates.php:137
|
||||
msgid "<b>Error</b>. Could not connect to update server"
|
||||
|
|
|
|||
Binary file not shown.
1040
lang/acf-it_IT.po
1040
lang/acf-it_IT.po
File diff suppressed because it is too large
Load Diff
BIN
lang/acf-ja.mo
BIN
lang/acf-ja.mo
Binary file not shown.
|
|
@ -3,7 +3,7 @@ msgstr ""
|
|||
"Project-Id-Version: Advanced Custom Fields Pro v5.2.9\n"
|
||||
"Report-Msgid-Bugs-To: http://support.advancedcustomfields.com\n"
|
||||
"POT-Creation-Date: 2015-08-11 23:33+0200\n"
|
||||
"PO-Revision-Date: 2016-04-07 10:30+1000\n"
|
||||
"PO-Revision-Date: 2016-11-03 17:12+1000\n"
|
||||
"Last-Translator: Elliot Condon <e@elliotcondon.com>\n"
|
||||
"Language-Team: shogo kato <s_kato@crete.co.jp>\n"
|
||||
"Language: ja_JP\n"
|
||||
|
|
@ -574,6 +574,10 @@ msgstr "削除"
|
|||
msgid "Error"
|
||||
msgstr "エラー"
|
||||
|
||||
#: fields/oembed.php:220 fields/taxonomy.php:900
|
||||
msgid "Error."
|
||||
msgstr "エラー."
|
||||
|
||||
#: admin/views/field-group-field.php:68
|
||||
msgid "Field type does not exist"
|
||||
msgstr "フィールドタイプが存在しません"
|
||||
|
|
@ -1263,11 +1267,7 @@ msgid "Site is up to date"
|
|||
msgstr ""
|
||||
|
||||
#: admin/views/update-network.php:62 admin/views/update.php:16
|
||||
msgid "Database Upgrade complete"
|
||||
msgstr ""
|
||||
|
||||
#: admin/views/update-network.php:62
|
||||
msgid "Return to network dashboard"
|
||||
msgid "Database Upgrade complete. <a href=\"%s\">Return to network dashboard</a>"
|
||||
msgstr ""
|
||||
|
||||
#: admin/views/update-network.php:101 admin/views/update-notice.php:35
|
||||
|
|
@ -1317,7 +1317,7 @@ msgid "See what's new"
|
|||
msgstr "新着情報を見る"
|
||||
|
||||
#: admin/views/update.php:110
|
||||
msgid "No updates available"
|
||||
msgid "No updates available."
|
||||
msgstr ""
|
||||
|
||||
#: api/api-helpers.php:821
|
||||
|
|
@ -1840,8 +1840,8 @@ msgid "Enter URL"
|
|||
msgstr "URLを入力"
|
||||
|
||||
#: fields/oembed.php:212
|
||||
msgid "No embed found for the given URL"
|
||||
msgstr "指定されたURLには埋め込む内容がありません"
|
||||
msgid "No embed found for the given URL."
|
||||
msgstr "指定されたURLには埋め込む内容がありません."
|
||||
|
||||
#: fields/oembed.php:248 fields/oembed.php:259
|
||||
msgid "Embed Size"
|
||||
|
|
@ -2248,12 +2248,8 @@ msgid "Options Updated"
|
|||
msgstr "オプションを更新しました"
|
||||
|
||||
#: pro/admin/options-page.php:304
|
||||
msgid "No Custom Field Groups found for this options page"
|
||||
msgstr "このオプションページにカスタムフィールドグループがありません"
|
||||
|
||||
#: pro/admin/options-page.php:304
|
||||
msgid "Create a Custom Field Group"
|
||||
msgstr "カスタムフィールドグループを作成"
|
||||
msgid "No Custom Field Groups found for this options page. <a href=\"%s\">Create a Custom Field Group</a>"
|
||||
msgstr "このオプションページにカスタムフィールドグループがありません. <a href=\"%s\">カスタムフィールドグループを作成</a>"
|
||||
|
||||
#: pro/admin/settings-updates.php:137
|
||||
msgid "<b>Error</b>. Could not connect to update server"
|
||||
|
|
|
|||
Binary file not shown.
1908
lang/acf-nb_NO.po
1908
lang/acf-nb_NO.po
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue