Merge branch 'release/5.8.1'
This commit is contained in:
commit
565fb55fd5
11
acf.php
11
acf.php
|
|
@ -1,12 +1,11 @@
|
|||
<?php
|
||||
/*
|
||||
Plugin Name: Advanced Custom Fields PRO
|
||||
Plugin URI: https://www.advancedcustomfields.com/
|
||||
Plugin URI: https://www.advancedcustomfields.com
|
||||
Description: Customize WordPress with powerful, professional and intuitive fields.
|
||||
Version: 5.8.0
|
||||
Version: 5.8.1
|
||||
Author: Elliot Condon
|
||||
Author URI: http://www.elliotcondon.com/
|
||||
Copyright: Elliot Condon
|
||||
Author URI: https://www.advancedcustomfields.com
|
||||
Text Domain: acf
|
||||
Domain Path: /lang
|
||||
*/
|
||||
|
|
@ -18,7 +17,7 @@ if( ! class_exists('ACF') ) :
|
|||
class ACF {
|
||||
|
||||
/** @var string The plugin version number */
|
||||
var $version = '5.8.0';
|
||||
var $version = '5.8.1';
|
||||
|
||||
/** @var array The plugin settings array */
|
||||
var $settings = array();
|
||||
|
|
@ -174,8 +173,6 @@ class ACF {
|
|||
acf_include('includes/ajax/class-acf-ajax-check-screen.php');
|
||||
acf_include('includes/ajax/class-acf-ajax-user-setting.php');
|
||||
acf_include('includes/ajax/class-acf-ajax-upgrade.php');
|
||||
acf_include('includes/ajax/class-acf-ajax-query.php');
|
||||
acf_include('includes/ajax/class-acf-ajax-query-terms.php');
|
||||
|
||||
// forms
|
||||
acf_include('includes/forms/form-attachment.php');
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -568,21 +568,7 @@
|
|||
*/
|
||||
|
||||
acf.strEscape = function( string ){
|
||||
|
||||
var entityMap = {
|
||||
'&': '&',
|
||||
'<': '<',
|
||||
'>': '>',
|
||||
'"': '"',
|
||||
"'": ''',
|
||||
'/': '/',
|
||||
'`': '`',
|
||||
'=': '='
|
||||
};
|
||||
|
||||
return String(string).replace(/[&<>"'`=\/]/g, function (s) {
|
||||
return entityMap[s];
|
||||
});
|
||||
return $('<div>').text(string).html();
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -1991,7 +1977,7 @@
|
|||
|
||||
// option
|
||||
} else {
|
||||
itemsHtml += '<option value="' + id + '"' + (item.disabled ? ' disabled="disabled"' : '') + '>' + text + '</option>';
|
||||
itemsHtml += '<option value="' + id + '"' + (item.disabled ? ' disabled="disabled"' : '') + '>' + acf.strEscape(text) + '</option>';
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -3732,6 +3718,25 @@
|
|||
|
||||
(function($, undefined){
|
||||
|
||||
/**
|
||||
* postboxManager
|
||||
*
|
||||
* Manages postboxes on the screen.
|
||||
*
|
||||
* @date 25/5/19
|
||||
* @since 5.8.1
|
||||
*
|
||||
* @param void
|
||||
* @return void
|
||||
*/
|
||||
var postboxManager = new acf.Model({
|
||||
wait: 'prepare',
|
||||
priority: 1,
|
||||
initialize: function(){
|
||||
(acf.get('postboxes') || []).map( acf.newPostbox );
|
||||
},
|
||||
});
|
||||
|
||||
/**
|
||||
* acf.getPostbox
|
||||
*
|
||||
|
|
@ -3852,10 +3857,12 @@
|
|||
// This class is added by WP to postboxes that are hidden via the "Screen Options" tab.
|
||||
this.$el.removeClass('hide-if-js');
|
||||
|
||||
// Add field group style class.
|
||||
var style = this.get('style');
|
||||
if( style !== 'default' ) {
|
||||
this.$el.addClass( style );
|
||||
// Add field group style class (ignore in block editor).
|
||||
if( acf.get('editor') !== 'block' ) {
|
||||
var style = this.get('style');
|
||||
if( style !== 'default' ) {
|
||||
this.$el.addClass( style );
|
||||
}
|
||||
}
|
||||
|
||||
// Add .inside class.
|
||||
|
|
@ -10100,16 +10107,13 @@
|
|||
}, frame);
|
||||
|
||||
// update toolbar button
|
||||
/*
|
||||
frame.on( 'toolbar:create:select', function( toolbar ) {
|
||||
|
||||
toolbar.view = new wp.media.view.Toolbar.Select({
|
||||
text: frame.options._button,
|
||||
controller: this
|
||||
});
|
||||
|
||||
}, frame );
|
||||
*/
|
||||
//frame.on( 'toolbar:create:select', function( toolbar ) {
|
||||
// toolbar.view = new wp.media.view.Toolbar.Select({
|
||||
// text: frame.options._button,
|
||||
// controller: this
|
||||
// });
|
||||
//}, frame );
|
||||
|
||||
// on select
|
||||
frame.on('select', function() {
|
||||
|
||||
|
|
@ -10379,12 +10383,35 @@
|
|||
}
|
||||
|
||||
// customize
|
||||
this.customizeAttachmentsButton();
|
||||
this.customizeAttachmentsRouter();
|
||||
this.customizeAttachmentFilters();
|
||||
this.customizeAttachmentCompat();
|
||||
this.customizeAttachmentLibrary();
|
||||
},
|
||||
|
||||
customizeAttachmentsButton: function(){
|
||||
|
||||
// validate
|
||||
if( !acf.isset(wp, 'media', 'view', 'Button') ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Extend
|
||||
var Button = wp.media.view.Button;
|
||||
wp.media.view.Button = Button.extend({
|
||||
|
||||
// Fix bug where "Select" button appears blank after editing an image.
|
||||
// Do this by simplifying Button initialize function and avoid deleting this.options.
|
||||
initialize: function() {
|
||||
var options = _.defaults( this.options, this.defaults );
|
||||
this.model = new Backbone.Model( options );
|
||||
this.listenTo( this.model, 'change', this.render );
|
||||
}
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
customizeAttachmentsRouter: function(){
|
||||
|
||||
// validate
|
||||
|
|
@ -12170,7 +12197,10 @@
|
|||
init.wp_autoresize_on = false;
|
||||
|
||||
// Enable wpautop allowing value to save without <p> tags.
|
||||
init.wpautop = true;
|
||||
// Only if the "TinyMCE Advanced" plugin hasn't already set this functionality.
|
||||
if( !init.tadv_noautop ) {
|
||||
init.wpautop = true;
|
||||
}
|
||||
|
||||
// hook for 3rd party customization
|
||||
init = acf.applyFilters('wysiwyg_tinymce_settings', init, id, field);
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1038,7 +1038,7 @@ function acf_import_field_group( $field_group ) {
|
|||
|
||||
// Only add menu order if doesn't already exist.
|
||||
// Allows Flexible Content field to set custom order.
|
||||
if( empty($field['menu_order']) ) {
|
||||
if( !isset($field['menu_order']) ) {
|
||||
$field['menu_order'] = ($count[ $field['parent'] ] - 1);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -33,6 +33,61 @@ function acf_get_users( $args = array() ) {
|
|||
return $users;
|
||||
}
|
||||
|
||||
/**
|
||||
* acf_get_user_result
|
||||
*
|
||||
* Returns a result containing "id" and "text" for the given user.
|
||||
*
|
||||
* @date 21/5/19
|
||||
* @since 5.8.1
|
||||
*
|
||||
* @param WP_User $user The user object.
|
||||
* @return array
|
||||
*/
|
||||
function acf_get_user_result( $user ) {
|
||||
|
||||
// Vars.
|
||||
$id = $user->ID;
|
||||
$text = $user->user_login;
|
||||
|
||||
// Add name.
|
||||
if( $user->first_name && $user->last_name ) {
|
||||
$text .= " ({$user->first_name} {$user->last_name})";
|
||||
} elseif( $user->last_name ) {
|
||||
$text .= " ({$user->first_name})";
|
||||
}
|
||||
return compact('id', 'text');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* acf_get_user_role_labels
|
||||
*
|
||||
* Returns an array of user roles in the format "name => label".
|
||||
*
|
||||
* @date 20/5/19
|
||||
* @since 5.8.1
|
||||
*
|
||||
* @param array $roles A specific array of roles.
|
||||
* @return array
|
||||
*/
|
||||
function acf_get_user_role_labels( $roles = array() ) {
|
||||
|
||||
// Load all roles if none provided.
|
||||
if( !$roles ) {
|
||||
$roles = get_editable_roles();
|
||||
}
|
||||
|
||||
// Loop over roles and populare labels.
|
||||
$lables = array();
|
||||
foreach( $roles as $role ) {
|
||||
$lables[ $role ] = translate_user_role( $role );
|
||||
}
|
||||
|
||||
// Return labels.
|
||||
return $lables;
|
||||
}
|
||||
|
||||
/**
|
||||
* acf_allow_unfiltered_html
|
||||
*
|
||||
|
|
|
|||
|
|
@ -6,31 +6,30 @@ if( ! class_exists('ACF_Ajax_Check_Screen') ) :
|
|||
|
||||
class ACF_Ajax_Check_Screen extends ACF_Ajax {
|
||||
|
||||
/** @var string The AJAX action name */
|
||||
/** @var string The AJAX action name. */
|
||||
var $action = 'acf/ajax/check_screen';
|
||||
|
||||
/** @var bool Prevents access for non-logged in users */
|
||||
/** @var bool Prevents access for non-logged in users. */
|
||||
var $public = false;
|
||||
|
||||
/**
|
||||
* get_response
|
||||
*
|
||||
* The actual logic for this AJAX request.
|
||||
*
|
||||
* @date 31/7/18
|
||||
* @since 5.7.2
|
||||
*
|
||||
* @param void
|
||||
* @return mixed The response data to send back or WP_Error.
|
||||
*/
|
||||
|
||||
function response() {
|
||||
* get_response
|
||||
*
|
||||
* Returns the response data to sent back.
|
||||
*
|
||||
* @date 31/7/18
|
||||
* @since 5.7.2
|
||||
*
|
||||
* @param array $request The request args.
|
||||
* @return mixed The response data or WP_Error.
|
||||
*/
|
||||
function get_response( $request ) {
|
||||
|
||||
// vars
|
||||
$args = acf_parse_args($this->request, array(
|
||||
$args = wp_parse_args($this->request, array(
|
||||
'screen' => '',
|
||||
'post_id' => 0,
|
||||
'ajax' => 1,
|
||||
'ajax' => true,
|
||||
'exists' => array()
|
||||
));
|
||||
|
||||
|
|
|
|||
|
|
@ -1,141 +0,0 @@
|
|||
<?php
|
||||
|
||||
if( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
||||
|
||||
if( ! class_exists('ACF_Ajax_Query_Terms') ) :
|
||||
|
||||
class ACF_Ajax_Query_Terms extends ACF_Ajax_Query {
|
||||
|
||||
/** @var string The AJAX action name */
|
||||
var $action = 'acf/ajax/query_terms';
|
||||
|
||||
/**
|
||||
* get_args
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @date 31/7/18
|
||||
* @since 5.7.2
|
||||
*
|
||||
* @param type $var Description. Default.
|
||||
* @return type Description.
|
||||
*/
|
||||
|
||||
function get_args() {
|
||||
|
||||
// defaults
|
||||
$args = wp_parse_args($this->get('query'), array(
|
||||
'taxonomy' => 'category',
|
||||
'search' => $this->search,
|
||||
'number' => $this->per_page,
|
||||
));
|
||||
|
||||
// pagination
|
||||
if( $this->page > 0 ) {
|
||||
$args['offset'] = $this->per_page * ($this->page - 1);
|
||||
}
|
||||
|
||||
// return
|
||||
return $args;
|
||||
}
|
||||
|
||||
/**
|
||||
* get_results
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @date 31/7/18
|
||||
* @since 5.7.2
|
||||
*
|
||||
* @param type $var Description. Default.
|
||||
* @return type Description.
|
||||
*/
|
||||
|
||||
function get_results( $args ) {
|
||||
|
||||
// vars
|
||||
$results = array();
|
||||
|
||||
// get terms
|
||||
$groups = acf_get_grouped_terms( $args );
|
||||
|
||||
// loop
|
||||
if( $groups ) {
|
||||
foreach( $groups as $label => $terms ) {
|
||||
|
||||
// data
|
||||
$data = array(
|
||||
'text' => $label,
|
||||
'children' => array()
|
||||
);
|
||||
|
||||
// convert object to string
|
||||
foreach( $terms as $id => $term ) {
|
||||
$terms[ $id ] = $this->get_result( $term );
|
||||
}
|
||||
|
||||
|
||||
// order posts by search
|
||||
if( $this->search && !isset($args['orderby']) ) {
|
||||
$terms = acf_order_by_search( $terms, $this->search );
|
||||
}
|
||||
|
||||
|
||||
// append to $data
|
||||
foreach( $terms as $id => $text ) {
|
||||
$this->count++;
|
||||
$data['children'][] = array(
|
||||
'id' => $id,
|
||||
'text' => $text
|
||||
);
|
||||
}
|
||||
|
||||
// append to $results
|
||||
$results[] = $data;
|
||||
}}
|
||||
|
||||
|
||||
// extract group children for a single taxonomy
|
||||
$taxonomies = acf_get_array($args['taxonomy']);
|
||||
if( count($taxonomies) == 1 ) {
|
||||
$results = $results[0]['children'];
|
||||
}
|
||||
|
||||
// return
|
||||
return $results;
|
||||
}
|
||||
|
||||
/**
|
||||
* get_result
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @date 31/7/18
|
||||
* @since 5.7.2
|
||||
*
|
||||
* @param type $var Description. Default.
|
||||
* @return type Description.
|
||||
*/
|
||||
|
||||
function get_result( $term ) {
|
||||
|
||||
// vars
|
||||
$title = $term->name;
|
||||
|
||||
// ancestors
|
||||
$ancestors = get_ancestors( $term->term_id, $term->taxonomy );
|
||||
if( $ancestors ) {
|
||||
$prepend = str_repeat('- ', count($ancestors));
|
||||
return $prepend . $title;
|
||||
}
|
||||
|
||||
// return
|
||||
return $title;
|
||||
}
|
||||
}
|
||||
|
||||
acf_new_instance('ACF_AJAX_Query_Terms');
|
||||
|
||||
endif; // class_exists check
|
||||
|
||||
?>
|
||||
|
|
@ -1,133 +0,0 @@
|
|||
<?php
|
||||
|
||||
if( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
||||
|
||||
if( ! class_exists('ACF_Ajax_Query') ) :
|
||||
|
||||
class ACF_Ajax_Query extends ACF_Ajax {
|
||||
|
||||
/** @var array The ACF field used for querying */
|
||||
var $field = false;
|
||||
|
||||
/** @var int The page of results to return */
|
||||
var $page = 1;
|
||||
|
||||
/** @var int The number of results per page */
|
||||
var $per_page = 20;
|
||||
|
||||
/** @var string The searched term */
|
||||
var $search = '';
|
||||
|
||||
/** @var int The number of results found */
|
||||
var $count = 0;
|
||||
|
||||
/**
|
||||
* response
|
||||
*
|
||||
* The actual logic for this AJAX request.
|
||||
*
|
||||
* @date 31/7/18
|
||||
* @since 5.7.2
|
||||
*
|
||||
* @param void
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function response() {
|
||||
|
||||
// field
|
||||
if( $this->has('field_key') ) {
|
||||
$this->field = acf_get_field( $this->get('field_key') );
|
||||
}
|
||||
|
||||
// pagination
|
||||
if( $this->has('paged') ) {
|
||||
$this->page = (int) $this->get('paged');
|
||||
}
|
||||
|
||||
// search
|
||||
if( $this->has('s') ) {
|
||||
$this->search = $this->get('s');
|
||||
}
|
||||
|
||||
// get response
|
||||
$args = $this->get_args();
|
||||
$results = $this->get_results($args);
|
||||
$response = $this->get_response($results, $args);
|
||||
|
||||
// return
|
||||
return $response;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* get_args
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @date 31/7/18
|
||||
* @since 5.7.2
|
||||
*
|
||||
* @param type $var Description. Default.
|
||||
* @return type Description.
|
||||
*/
|
||||
|
||||
function get_args() {
|
||||
return array();
|
||||
}
|
||||
|
||||
/**
|
||||
* get_results
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @date 31/7/18
|
||||
* @since 5.7.2
|
||||
*
|
||||
* @param type $var Description. Default.
|
||||
* @return type Description.
|
||||
*/
|
||||
|
||||
function get_results( $args ) {
|
||||
return array();
|
||||
}
|
||||
|
||||
/**
|
||||
* get_result
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @date 31/7/18
|
||||
* @since 5.7.2
|
||||
*
|
||||
* @param type $var Description. Default.
|
||||
* @return type Description.
|
||||
*/
|
||||
|
||||
function get_result( $item ) {
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* get_response
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @date 31/7/18
|
||||
* @since 5.6.9
|
||||
*
|
||||
* @param type $var Description. Default.
|
||||
* @return type Description.
|
||||
*/
|
||||
|
||||
function get_response( $results, $args ) {
|
||||
return array(
|
||||
'results' => $results,
|
||||
'more' => ($this->count >= $this->per_page)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
endif; // class_exists check
|
||||
|
||||
?>
|
||||
|
|
@ -10,44 +10,41 @@ class ACF_Ajax_Upgrade extends ACF_Ajax {
|
|||
var $action = 'acf/ajax/upgrade';
|
||||
|
||||
/**
|
||||
* get_response
|
||||
*
|
||||
* The actual logic for this AJAX request.
|
||||
*
|
||||
* @date 31/7/18
|
||||
* @since 5.7.2
|
||||
*
|
||||
* @param void
|
||||
* @return mixed The response data to send back or WP_Error.
|
||||
*/
|
||||
|
||||
function response() {
|
||||
* get_response
|
||||
*
|
||||
* Returns the response data to sent back.
|
||||
*
|
||||
* @date 31/7/18
|
||||
* @since 5.7.2
|
||||
*
|
||||
* @param array $request The request args.
|
||||
* @return mixed The response data or WP_Error.
|
||||
*/
|
||||
function get_response( $request ) {
|
||||
|
||||
// switch blog
|
||||
if( $this->has('blog_id') ) {
|
||||
switch_to_blog( $this->get('blog_id') );
|
||||
// Switch blog.
|
||||
if( isset($request['blog_id']) ) {
|
||||
switch_to_blog( $request['blog_id'] );
|
||||
}
|
||||
|
||||
// bail early if no upgrade avaiable
|
||||
// Bail early if no upgrade avaiable.
|
||||
if( !acf_has_upgrade() ) {
|
||||
return new WP_Error( 'upgrade_error', __('No updates available.', 'acf') );
|
||||
}
|
||||
|
||||
// listen for output
|
||||
// Listen for output.
|
||||
ob_start();
|
||||
|
||||
// run upgrades
|
||||
// Run upgrades.
|
||||
acf_upgrade_all();
|
||||
|
||||
// store output
|
||||
// Store output.
|
||||
$error = ob_get_clean();
|
||||
|
||||
// return error if output
|
||||
// Return error or success.
|
||||
if( $error ) {
|
||||
return new WP_Error( 'upgrade_error', $error );
|
||||
}
|
||||
|
||||
// return
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
@ -55,5 +52,3 @@ class ACF_Ajax_Upgrade extends ACF_Ajax {
|
|||
acf_new_instance('ACF_Ajax_Upgrade');
|
||||
|
||||
endif; // class_exists check
|
||||
|
||||
?>
|
||||
|
|
@ -6,25 +6,24 @@ if( ! class_exists('ACF_Ajax_User_Setting') ) :
|
|||
|
||||
class ACF_Ajax_User_Setting extends ACF_Ajax {
|
||||
|
||||
/** @var string The AJAX action name */
|
||||
/** @var string The AJAX action name. */
|
||||
var $action = 'acf/ajax/user_setting';
|
||||
|
||||
/** @var bool Prevents access for non-logged in users */
|
||||
/** @var bool Prevents access for non-logged in users. */
|
||||
var $public = true;
|
||||
|
||||
/**
|
||||
* get_response
|
||||
*
|
||||
* The actual logic for this AJAX request.
|
||||
*
|
||||
* @date 31/7/18
|
||||
* @since 5.7.2
|
||||
*
|
||||
* @param void
|
||||
* @return mixed The response data to send back or WP_Error.
|
||||
*/
|
||||
|
||||
function response() {
|
||||
* get_response
|
||||
*
|
||||
* Returns the response data to sent back.
|
||||
*
|
||||
* @date 31/7/18
|
||||
* @since 5.7.2
|
||||
*
|
||||
* @param array $request The request args.
|
||||
* @return mixed The response data or WP_Error.
|
||||
*/
|
||||
function get_response( $request ) {
|
||||
|
||||
// update
|
||||
if( $this->has('value') ) {
|
||||
|
|
@ -40,5 +39,3 @@ class ACF_Ajax_User_Setting extends ACF_Ajax {
|
|||
acf_new_instance('ACF_Ajax_User_Setting');
|
||||
|
||||
endif; // class_exists check
|
||||
|
||||
?>
|
||||
|
|
@ -6,112 +6,104 @@ if( ! class_exists('ACF_Ajax') ) :
|
|||
|
||||
class ACF_Ajax {
|
||||
|
||||
/** @var string The AJAX action name */
|
||||
/** @var string The AJAX action name. */
|
||||
var $action = '';
|
||||
|
||||
/** @var array The $_REQUEST data */
|
||||
/** @var array The $_REQUEST data. */
|
||||
var $request;
|
||||
|
||||
/** @var bool Prevents access for non-logged in users */
|
||||
/** @var bool Prevents access for non-logged in users. */
|
||||
var $public = false;
|
||||
|
||||
/**
|
||||
* __construct
|
||||
*
|
||||
* Sets up the class functionality.
|
||||
*
|
||||
* @date 31/7/18
|
||||
* @since 5.7.2
|
||||
*
|
||||
* @param void
|
||||
* @return void
|
||||
*/
|
||||
|
||||
* __construct
|
||||
*
|
||||
* Sets up the class functionality.
|
||||
*
|
||||
* @date 31/7/18
|
||||
* @since 5.7.2
|
||||
*
|
||||
* @param void
|
||||
* @return void
|
||||
*/
|
||||
function __construct() {
|
||||
|
||||
// initialize
|
||||
$this->initialize();
|
||||
|
||||
// add actions
|
||||
$this->add_actions();
|
||||
}
|
||||
|
||||
/**
|
||||
* initialize
|
||||
*
|
||||
* Allows easy access to modifying properties without changing constructor.
|
||||
*
|
||||
* @date 31/7/18
|
||||
* @since 5.7.2
|
||||
*
|
||||
* @param void
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function initialize() {
|
||||
/* do nothing */
|
||||
}
|
||||
|
||||
/**
|
||||
* has
|
||||
*
|
||||
* Returns true if the request has data for the given key
|
||||
*
|
||||
* @date 31/7/18
|
||||
* @since 5.7.2
|
||||
*
|
||||
* @param string $key The data key
|
||||
* @return boolean
|
||||
*/
|
||||
|
||||
* has
|
||||
*
|
||||
* Returns true if the request has data for the given key.
|
||||
*
|
||||
* @date 31/7/18
|
||||
* @since 5.7.2
|
||||
*
|
||||
* @param string $key The data key.
|
||||
* @return boolean
|
||||
*/
|
||||
function has( $key = '' ) {
|
||||
return isset($this->request[$key]);
|
||||
}
|
||||
|
||||
/**
|
||||
* get
|
||||
*
|
||||
* Returns request data for the given key
|
||||
*
|
||||
* @date 31/7/18
|
||||
* @since 5.7.2
|
||||
*
|
||||
* @param string $key The data key
|
||||
* @return mixed
|
||||
*/
|
||||
|
||||
* get
|
||||
*
|
||||
* Returns request data for the given key.
|
||||
*
|
||||
* @date 31/7/18
|
||||
* @since 5.7.2
|
||||
*
|
||||
* @param string $key The data key.
|
||||
* @return mixed
|
||||
*/
|
||||
function get( $key = '' ) {
|
||||
return isset($this->request[$key]) ? $this->request[$key] : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* set
|
||||
*
|
||||
* Sets request data for the given key
|
||||
*
|
||||
* @date 31/7/18
|
||||
* @since 5.7.2
|
||||
*
|
||||
* @param string $key The data key
|
||||
* @return mixed
|
||||
*/
|
||||
|
||||
* set
|
||||
*
|
||||
* Sets request data for the given key.
|
||||
*
|
||||
* @date 31/7/18
|
||||
* @since 5.7.2
|
||||
*
|
||||
* @param string $key The data key.
|
||||
* @param mixed $value The data value.
|
||||
* @return ACF_Ajax
|
||||
*/
|
||||
function set( $key = '', $value ) {
|
||||
$this->request[$key] = $value;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* add_actions
|
||||
*
|
||||
* Adds the ajax actions for this response.
|
||||
*
|
||||
* @date 31/7/18
|
||||
* @since 5.7.2
|
||||
*
|
||||
* @param void
|
||||
* @return void
|
||||
*/
|
||||
* initialize
|
||||
*
|
||||
* Allows easy access to modifying properties without changing constructor.
|
||||
*
|
||||
* @date 31/7/18
|
||||
* @since 5.7.2
|
||||
*
|
||||
* @param void
|
||||
* @return void
|
||||
*/
|
||||
function initialize() {
|
||||
/* do nothing */
|
||||
}
|
||||
|
||||
/**
|
||||
* add_actions
|
||||
*
|
||||
* Adds the ajax actions for this response.
|
||||
*
|
||||
* @date 31/7/18
|
||||
* @since 5.7.2
|
||||
*
|
||||
* @param void
|
||||
* @return void
|
||||
*/
|
||||
function add_actions() {
|
||||
|
||||
// add action for logged-in users
|
||||
|
|
@ -124,66 +116,63 @@ class ACF_Ajax {
|
|||
}
|
||||
|
||||
/**
|
||||
* request
|
||||
*
|
||||
* Callback for ajax action. Sets up properties and calls the get_response() function.
|
||||
*
|
||||
* @date 1/8/18
|
||||
* @since 5.7.2
|
||||
*
|
||||
* @param void
|
||||
* @return void
|
||||
*/
|
||||
|
||||
* request
|
||||
*
|
||||
* Callback for ajax action. Sets up properties and calls the get_response() function.
|
||||
*
|
||||
* @date 1/8/18
|
||||
* @since 5.7.2
|
||||
*
|
||||
* @param void
|
||||
* @return void
|
||||
*/
|
||||
function request() {
|
||||
|
||||
// verify ajax request
|
||||
// Verify ajax request
|
||||
if( !acf_verify_ajax() ) {
|
||||
wp_send_json_error();
|
||||
}
|
||||
|
||||
// store data for has() and get() functions
|
||||
// Store data for has() and get() functions.
|
||||
$this->request = wp_unslash($_REQUEST);
|
||||
|
||||
// send response
|
||||
$this->send( $this->response() );
|
||||
// Send response.
|
||||
$this->send( $this->get_response( $this->request ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* response
|
||||
*
|
||||
* The actual logic for this AJAX request.
|
||||
*
|
||||
* @date 31/7/18
|
||||
* @since 5.7.2
|
||||
*
|
||||
* @param void
|
||||
* @return mixed The response data to send back or WP_Error.
|
||||
*/
|
||||
|
||||
function response() {
|
||||
* get_response
|
||||
*
|
||||
* Returns the response data to sent back.
|
||||
*
|
||||
* @date 31/7/18
|
||||
* @since 5.7.2
|
||||
*
|
||||
* @param array $request The request args.
|
||||
* @return mixed The response data or WP_Error.
|
||||
*/
|
||||
function get_response( $request ) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* send
|
||||
*
|
||||
* Sends back JSON based on the $response as either success or failure.
|
||||
*
|
||||
* @date 31/7/18
|
||||
* @since 5.7.2
|
||||
*
|
||||
* @param mixed $response The response to send back.
|
||||
* @return void
|
||||
*/
|
||||
|
||||
* send
|
||||
*
|
||||
* Sends back JSON based on the $response as either success or failure.
|
||||
*
|
||||
* @date 31/7/18
|
||||
* @since 5.7.2
|
||||
*
|
||||
* @param mixed $response The response to send back.
|
||||
* @return void
|
||||
*/
|
||||
function send( $response ) {
|
||||
|
||||
// return error
|
||||
// Return error.
|
||||
if( is_wp_error($response) ) {
|
||||
wp_send_json_error(array( 'error' => $response->get_error_message() ));
|
||||
|
||||
// return success
|
||||
// Return success.
|
||||
} else {
|
||||
wp_send_json_success($response);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4210,48 +4210,41 @@ function acf_get_post_thumbnail( $post = null, $size = 'thumbnail' ) {
|
|||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_get_browser
|
||||
*
|
||||
* This functino will return the browser string for major browsers
|
||||
*
|
||||
* @type function
|
||||
* @date 17/01/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return (string)
|
||||
*/
|
||||
|
||||
/**
|
||||
* acf_get_browser
|
||||
*
|
||||
* Returns the name of the current browser.
|
||||
*
|
||||
* @date 17/01/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param void
|
||||
* @return string
|
||||
*/
|
||||
function acf_get_browser() {
|
||||
|
||||
// vars
|
||||
$agent = $_SERVER['HTTP_USER_AGENT'];
|
||||
|
||||
|
||||
// browsers
|
||||
$browsers = array(
|
||||
'Firefox' => 'firefox',
|
||||
'Trident' => 'msie',
|
||||
'MSIE' => 'msie',
|
||||
'Edge' => 'edge',
|
||||
'Chrome' => 'chrome',
|
||||
'Safari' => 'safari',
|
||||
);
|
||||
|
||||
|
||||
// loop
|
||||
foreach( $browsers as $k => $v ) {
|
||||
|
||||
if( strpos($agent, $k) !== false ) return $v;
|
||||
// Check server var.
|
||||
if( isset($_SERVER['HTTP_USER_AGENT']) ) {
|
||||
$agent = $_SERVER['HTTP_USER_AGENT'];
|
||||
|
||||
// Loop over search terms.
|
||||
$browsers = array(
|
||||
'Firefox' => 'firefox',
|
||||
'Trident' => 'msie',
|
||||
'MSIE' => 'msie',
|
||||
'Edge' => 'edge',
|
||||
'Chrome' => 'chrome',
|
||||
'Safari' => 'safari',
|
||||
);
|
||||
foreach( $browsers as $k => $v ) {
|
||||
if( strpos($agent, $k) !== false ) {
|
||||
return $v;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// return
|
||||
// Return default.
|
||||
return '';
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -4918,31 +4911,13 @@ function acf_parse_markdown( $text = '' ) {
|
|||
* @return array
|
||||
*/
|
||||
function acf_get_sites() {
|
||||
|
||||
// vars
|
||||
$results = array();
|
||||
|
||||
// function get_sites() was added in WP 4.6
|
||||
if( function_exists('get_sites') ) {
|
||||
|
||||
$_sites = get_sites(array(
|
||||
'number' => 0
|
||||
));
|
||||
|
||||
if( $_sites ) {
|
||||
foreach( $_sites as $_site ) {
|
||||
$_site = get_site( $_site );
|
||||
$results[] = $_site->to_array();
|
||||
}}
|
||||
|
||||
// function wp_get_sites() returns in the desired output
|
||||
} else {
|
||||
$results = wp_get_sites(array(
|
||||
'limit' => 0
|
||||
));
|
||||
$sites = get_sites( array( 'number' => 0 ) );
|
||||
if( $sites ) {
|
||||
foreach( $sites as $site ) {
|
||||
$results[] = get_site( $site )->to_array();
|
||||
}
|
||||
}
|
||||
|
||||
// return
|
||||
return $results;
|
||||
}
|
||||
|
||||
|
|
@ -5063,17 +5038,24 @@ function acf_array_camel_case( $array = array() ) {
|
|||
}
|
||||
|
||||
/**
|
||||
* acf_is_block_editor
|
||||
*
|
||||
* Returns true if the current screen uses the block editor.
|
||||
*
|
||||
* @date 13/12/18
|
||||
* @since 5.8.0
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
* acf_is_block_editor
|
||||
*
|
||||
* Returns true if the current screen uses the block editor.
|
||||
*
|
||||
* @date 13/12/18
|
||||
* @since 5.8.0
|
||||
*
|
||||
* @param void
|
||||
* @return bool
|
||||
*/
|
||||
function acf_is_block_editor() {
|
||||
return get_current_screen()->is_block_editor();
|
||||
if( function_exists('get_current_screen') ) {
|
||||
$screen = get_current_screen();
|
||||
if( method_exists($screen, 'is_block_editor') ) {
|
||||
return $screen->is_block_editor();
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
@ -314,7 +314,8 @@ class ACF_Assets {
|
|||
'acf_version' => acf_get_setting('version'),
|
||||
'browser' => acf_get_browser(),
|
||||
'locale' => acf_get_locale(),
|
||||
'rtl' => is_rtl()
|
||||
'rtl' => is_rtl(),
|
||||
'editor' => acf_is_block_editor() ? 'block' : 'classic'
|
||||
));
|
||||
|
||||
// get l10n (old)
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ class acf_field_image extends acf_field {
|
|||
$this->category = 'content';
|
||||
$this->defaults = array(
|
||||
'return_format' => 'array',
|
||||
'preview_size' => 'thumbnail',
|
||||
'preview_size' => 'medium',
|
||||
'library' => 'all',
|
||||
'min_width' => 0,
|
||||
'min_height' => 0,
|
||||
|
|
@ -202,8 +202,8 @@ class acf_field_image extends acf_field {
|
|||
|
||||
// return_format
|
||||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Return Value','acf'),
|
||||
'instructions' => __('Specify the returned value on front end','acf'),
|
||||
'label' => __('Return Format','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'radio',
|
||||
'name' => 'return_format',
|
||||
'layout' => 'horizontal',
|
||||
|
|
@ -218,7 +218,7 @@ class acf_field_image extends acf_field {
|
|||
// preview_size
|
||||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Preview Size','acf'),
|
||||
'instructions' => __('Shown when entering data','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'select',
|
||||
'name' => 'preview_size',
|
||||
'choices' => acf_get_image_sizes()
|
||||
|
|
|
|||
|
|
@ -77,6 +77,9 @@ class ACF_Form_Post {
|
|||
*/
|
||||
function add_meta_boxes( $post_type, $post ) {
|
||||
|
||||
// Storage for localized postboxes.
|
||||
$postboxes = array();
|
||||
|
||||
// Get field groups for this screen.
|
||||
$field_groups = acf_get_field_groups(array(
|
||||
'post_id' => $post->ID,
|
||||
|
|
@ -99,22 +102,37 @@ class ACF_Form_Post {
|
|||
}
|
||||
|
||||
/**
|
||||
* Filters the metabox priority.
|
||||
*
|
||||
* @date 23/06/12
|
||||
* @since 3.1.8
|
||||
*
|
||||
* @param string $priority The metabox priority (high, core, default, low).
|
||||
* @param array $field_group The field group array.
|
||||
*/
|
||||
* Filters the metabox priority.
|
||||
*
|
||||
* @date 23/06/12
|
||||
* @since 3.1.8
|
||||
*
|
||||
* @param string $priority The metabox priority (high, core, default, low).
|
||||
* @param array $field_group The field group array.
|
||||
*/
|
||||
$priority = apply_filters('acf/input/meta_box_priority', $priority, $field_group);
|
||||
|
||||
// Localize data
|
||||
$postboxes[] = array(
|
||||
'id' => $id,
|
||||
'key' => $field_group['key'],
|
||||
'style' => $field_group['style'],
|
||||
'label' => $field_group['label_placement'],
|
||||
'edit' => acf_get_field_group_edit_link( $field_group['ID'] )
|
||||
);
|
||||
|
||||
// Add the meta box.
|
||||
add_meta_box( $id, $title, array($this, 'render_meta_box'), $post_type, $context, $priority, array('field_group' => $field_group) );
|
||||
|
||||
}
|
||||
|
||||
// Get style from first field group.
|
||||
// Set style from first field group.
|
||||
$this->style = acf_get_field_group_style( $field_groups[0] );
|
||||
|
||||
// Localize postboxes.
|
||||
acf_localize_data(array(
|
||||
'postboxes' => $postboxes
|
||||
));
|
||||
}
|
||||
|
||||
// remove postcustom metabox (removes expensive SQL query)
|
||||
|
|
@ -188,23 +206,6 @@ class ACF_Form_Post {
|
|||
// Render fields.
|
||||
$fields = acf_get_fields( $field_group );
|
||||
acf_render_fields( $fields, $post->ID, 'div', $field_group['instruction_placement'] );
|
||||
|
||||
// Create metabox localized data.
|
||||
$data = array(
|
||||
'id' => $id,
|
||||
'key' => $field_group['key'],
|
||||
'style' => $field_group['style'],
|
||||
'label' => $field_group['label_placement'],
|
||||
'edit' => acf_get_field_group_edit_link( $field_group['ID'] )
|
||||
);
|
||||
|
||||
?>
|
||||
<script type="text/javascript">
|
||||
if( typeof acf !== 'undefined' ) {
|
||||
acf.newPostbox(<?php echo wp_json_encode($data); ?>);
|
||||
}
|
||||
</script>
|
||||
<?php
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Advanced Custom Fields Pro v5.8\n"
|
||||
"Report-Msgid-Bugs-To: http://support.advancedcustomfields.com\n"
|
||||
"POT-Creation-Date: 2019-05-02 00:07+0200\n"
|
||||
"PO-Revision-Date: 2019-05-02 00:32+0200\n"
|
||||
"POT-Creation-Date: 2019-05-09 15:51+0200\n"
|
||||
"PO-Revision-Date: 2019-05-09 17:23+0200\n"
|
||||
"Last-Translator: Ralf Koller <r.koller@gmail.com>\n"
|
||||
"Language-Team: Ralf Koller <r.koller@gmail.com>\n"
|
||||
"Language: de_DE\n"
|
||||
|
|
@ -1011,7 +1011,8 @@ msgid ""
|
|||
"Are you sure you wish to run the updater now?"
|
||||
msgstr ""
|
||||
"Es wird dringend empfohlen, dass du deine Datenbank sicherst, bevor Du "
|
||||
"fortfährst. Bist du sicher, dass du jetzt das Upgrade durchführen willst?"
|
||||
"fortfährst. Bist du sicher, dass du jetzt die Aktualisierung durchführen "
|
||||
"willst?"
|
||||
|
||||
# @ acf
|
||||
#: includes/admin/views/html-admin-page-upgrade-network.php:144
|
||||
|
|
@ -1239,7 +1240,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"ACF PRO enthält leistungsstarke Funktionen wie wiederholbare Daten, Flexible "
|
||||
"Inhalte-Layouts, ein wunderschönes Galerie-Feld sowie die Möglichkeit "
|
||||
"zusätzliche Options-Seiten im Admin-Bereich anzulegen!"
|
||||
"zusätzliche Options-Seiten im Admin-Bereich zu erstellen!"
|
||||
|
||||
# @ acf
|
||||
#: includes/admin/views/settings-info.php:49
|
||||
|
|
@ -1297,8 +1298,8 @@ msgstr "Gruppen-Feld"
|
|||
#: includes/admin/views/settings-info.php:75
|
||||
msgid "The Group field provides a simple way to create a group of fields."
|
||||
msgstr ""
|
||||
"Das Gruppen-Feld erlaubt auf eine einfache Weise Felder in Gruppen "
|
||||
"zusammenzufassen."
|
||||
"Das Gruppen-Feld bietet einen einfachen Weg eine Gruppe von Feldern zu "
|
||||
"erstellen."
|
||||
|
||||
# @ acf
|
||||
#: includes/admin/views/settings-info.php:79
|
||||
|
|
@ -1461,7 +1462,7 @@ msgstr "Wir glauben Du wirst die Änderungen in %s lieben."
|
|||
# @ acf
|
||||
#: includes/api/api-helpers.php:1003
|
||||
msgid "Thumbnail"
|
||||
msgstr "Miniaturbild"
|
||||
msgstr "Vorschaubild"
|
||||
|
||||
# @ acf
|
||||
#: includes/api/api-helpers.php:1004
|
||||
|
|
@ -3236,7 +3237,7 @@ msgstr "Aktuelle Benutzerrolle"
|
|||
# @ acf
|
||||
#: includes/locations/class-acf-location-current-user-role.php:110
|
||||
msgid "Super Admin"
|
||||
msgstr "Super-Admin"
|
||||
msgstr "Super-Administrator"
|
||||
|
||||
# @ acf
|
||||
#: includes/locations/class-acf-location-current-user.php:27
|
||||
|
|
@ -3324,17 +3325,17 @@ msgstr "Unterseite (mit übergeordneter Seite)"
|
|||
# @ acf
|
||||
#: includes/locations/class-acf-location-post-category.php:27
|
||||
msgid "Post Category"
|
||||
msgstr "Beitrags-Kategorie"
|
||||
msgstr "Beitragskategorie"
|
||||
|
||||
# @ acf
|
||||
#: includes/locations/class-acf-location-post-format.php:27
|
||||
msgid "Post Format"
|
||||
msgstr "Beitrags-Format"
|
||||
msgstr "Beitragsformat"
|
||||
|
||||
# @ acf
|
||||
#: includes/locations/class-acf-location-post-status.php:27
|
||||
msgid "Post Status"
|
||||
msgstr "Beitrags-Status"
|
||||
msgstr "Beitragsstatus"
|
||||
|
||||
# @ acf
|
||||
#: includes/locations/class-acf-location-post-taxonomy.php:27
|
||||
|
|
@ -3349,7 +3350,7 @@ msgstr "Beitrags-Template"
|
|||
# @ acf
|
||||
#: includes/locations/class-acf-location-user-form.php:27
|
||||
msgid "User Form"
|
||||
msgstr "Benutzer-Formular"
|
||||
msgstr "Benutzerformular"
|
||||
|
||||
# @ acf
|
||||
#: includes/locations/class-acf-location-user-form.php:88
|
||||
|
|
@ -3375,7 +3376,7 @@ msgstr "Widget"
|
|||
#: includes/validation.php:364
|
||||
#, php-format
|
||||
msgid "%s value is required"
|
||||
msgstr "%s Wert ist notwendig"
|
||||
msgstr "%s Wert ist erforderlich"
|
||||
|
||||
# @ acf
|
||||
#. Plugin Name of the plugin/theme
|
||||
|
|
@ -3402,8 +3403,8 @@ msgstr ""
|
|||
#: pro/admin/admin-updates.php:49
|
||||
msgid "<b>Error</b>. Could not connect to update server"
|
||||
msgstr ""
|
||||
"<b>Fehler</b>. Es konnte keine Verbindung zum Update-Server hergestellt "
|
||||
"werden"
|
||||
"<b>Fehler</b>. Es konnte keine Verbindung zum Aktualisierungsserver "
|
||||
"hergestellt werden"
|
||||
|
||||
# @ acf
|
||||
#: pro/admin/admin-updates.php:118 pro/admin/views/html-settings-updates.php:13
|
||||
|
|
@ -3415,8 +3416,9 @@ msgid ""
|
|||
"<b>Error</b>. Could not authenticate update package. Please check again or "
|
||||
"deactivate and reactivate your ACF PRO license."
|
||||
msgstr ""
|
||||
"<b>Fehler</b>. Das Update-Packet konnte nicht authentifiziert werden. Bitte "
|
||||
"probiere es nochmal oder deaktiviere und reaktiviere deine ACF PRO-Lizenz."
|
||||
"<b>Fehler</b>. Das Aktualisierungspaket konnte nicht authentifiziert werden. "
|
||||
"Bitte probiere es nochmal oder deaktiviere und reaktiviere deine ACF PRO-"
|
||||
"Lizenz."
|
||||
|
||||
# @ acf
|
||||
#: pro/admin/views/html-settings-updates.php:7
|
||||
|
|
@ -3439,10 +3441,10 @@ msgid ""
|
|||
"licence key, please see <a href=\"%s\" target=\"_blank\">details & pricing</"
|
||||
"a>."
|
||||
msgstr ""
|
||||
"Um die Updatefähigkeit freizuschalten gib bitte unten Deinen Lizenzschlüssel "
|
||||
"ein. Falls Du keinen besitzen solltest informiere Dich bitte hier "
|
||||
"hinsichtlich <a href=\"%s\" target=\"_blank\">Preisen und aller weiteren "
|
||||
"Details</a>."
|
||||
"Um die Aktualisierungsfähigkeit freizuschalten gib bitte unten Deinen "
|
||||
"Lizenzschlüssel ein. Falls Du keinen besitzen solltest informiere Dich bitte "
|
||||
"hier hinsichtlich <a href=\"%s\" target=\"_blank\">Preisen und aller "
|
||||
"weiteren Details</a>."
|
||||
|
||||
# @ acf
|
||||
#: pro/admin/views/html-settings-updates.php:29
|
||||
|
|
@ -3478,7 +3480,7 @@ msgstr "Plugin aktualisieren"
|
|||
#: pro/admin/views/html-settings-updates.php:94
|
||||
msgid "Please enter your license key above to unlock updates"
|
||||
msgstr ""
|
||||
"Bitte gib oben Deinen Lizenzschlüssel ein um die Update-Fähigkeit "
|
||||
"Bitte gib oben Deinen Lizenzschlüssel ein um die Aktualisierungsfähigkeit "
|
||||
"freizuschalten"
|
||||
|
||||
# @ acf
|
||||
|
|
@ -3489,7 +3491,7 @@ msgstr "Erneut suchen"
|
|||
# @ acf
|
||||
#: pro/admin/views/html-settings-updates.php:117
|
||||
msgid "Upgrade Notice"
|
||||
msgstr "Aktualisierungs-Hinweis"
|
||||
msgstr "Hinweis zum Upgrade"
|
||||
|
||||
#: pro/blocks.php:371
|
||||
msgid "Switch to Edit"
|
||||
|
|
@ -3824,10 +3826,10 @@ msgid ""
|
|||
"\">Updates</a> page. If you don't have a licence key, please see <a href=\"%s"
|
||||
"\">details & pricing</a>."
|
||||
msgstr ""
|
||||
"Um die Update-Fähigkeit freizuschalten gib bitte Deinen Lizenzschlüssel auf "
|
||||
"der <a href=\"%s\">Aktualisierungen</a> Seite ein. Falls Du keinen besitzt "
|
||||
"informiere Dich bitte hier hinsichtlich der <a href=\"%s\" target=\"_blank"
|
||||
"\">Preise und Einzelheiten</a>."
|
||||
"Um die Aktualisierungsfähigkeit freizuschalten gib bitte Deinen "
|
||||
"Lizenzschlüssel auf der <a href=\"%s\">Aktualisierungen</a> Seite ein. Falls "
|
||||
"Du keinen besitzt informiere Dich bitte hier hinsichtlich der <a href=\"%s\" "
|
||||
"target=\"_blank\">Preise und Einzelheiten</a>."
|
||||
|
||||
#: tests/basic/test-blocks.php:13
|
||||
msgid "Testimonial"
|
||||
|
|
@ -3837,6 +3839,15 @@ msgstr "Testimonial"
|
|||
msgid "A custom testimonial block."
|
||||
msgstr "Ein individueller Testimonial-Block."
|
||||
|
||||
#: tests/basic/test-blocks.php:40
|
||||
msgid "Slider"
|
||||
msgstr "Slider"
|
||||
|
||||
# @ acf
|
||||
#: tests/basic/test-blocks.php:41
|
||||
msgid "A custom gallery slider."
|
||||
msgstr "Ein individueller Galerie-Slider."
|
||||
|
||||
#. Plugin URI of the plugin/theme
|
||||
msgid "https://www.advancedcustomfields.com/"
|
||||
msgstr "https://www.advancedcustomfields.com/"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Advanced Custom Fields Pro v5.8 Formal\n"
|
||||
"Report-Msgid-Bugs-To: http://support.advancedcustomfields.com\n"
|
||||
"POT-Creation-Date: 2019-05-02 00:08+0200\n"
|
||||
"PO-Revision-Date: 2019-05-02 00:32+0200\n"
|
||||
"POT-Creation-Date: 2019-05-09 15:54+0200\n"
|
||||
"PO-Revision-Date: 2019-05-09 17:23+0200\n"
|
||||
"Last-Translator: Ralf Koller <r.koller@gmail.com>\n"
|
||||
"Language-Team: Ralf Koller <r.koller@gmail.com>\n"
|
||||
"Language: de_DE\n"
|
||||
|
|
@ -1011,7 +1011,8 @@ msgid ""
|
|||
"Are you sure you wish to run the updater now?"
|
||||
msgstr ""
|
||||
"Es wird dringend empfohlen, dass Sie ihre Datenbank sichern, bevor Sie "
|
||||
"fortfahren. Sind sie sicher, dass Sie jetzt das Upgrade durchführen wollen?"
|
||||
"fortfahren. Sind sie sicher, dass Sie jetzt die Aktualisierung durchführen "
|
||||
"wollen?"
|
||||
|
||||
# @ acf
|
||||
#: includes/admin/views/html-admin-page-upgrade-network.php:144
|
||||
|
|
@ -1239,7 +1240,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"ACF PRO enthält leistungsstarke Funktionen wie wiederholbare Daten, Flexible "
|
||||
"Inhalte-Layouts, ein wunderschönes Galerie-Feld sowie die Möglichkeit "
|
||||
"zusätzliche Options-Seiten im Admin-Bereich anzulegen!"
|
||||
"zusätzliche Options-Seiten im Admin-Bereich zu erstellen!"
|
||||
|
||||
# @ acf
|
||||
#: includes/admin/views/settings-info.php:49
|
||||
|
|
@ -1297,8 +1298,8 @@ msgstr "Gruppen-Feld"
|
|||
#: includes/admin/views/settings-info.php:75
|
||||
msgid "The Group field provides a simple way to create a group of fields."
|
||||
msgstr ""
|
||||
"Das Gruppen-Feld erlaubt auf eine einfache Weise Felder in Gruppen "
|
||||
"zusammenzufassen."
|
||||
"Das Gruppen-Feld bietet einen einfachen Weg eine Gruppe von Feldern zu "
|
||||
"erstellen."
|
||||
|
||||
# @ acf
|
||||
#: includes/admin/views/settings-info.php:79
|
||||
|
|
@ -1461,7 +1462,7 @@ msgstr "Wir glauben Sie werden die Änderungen in %s lieben."
|
|||
# @ acf
|
||||
#: includes/api/api-helpers.php:1003
|
||||
msgid "Thumbnail"
|
||||
msgstr "Miniaturbild"
|
||||
msgstr "Vorschaubild"
|
||||
|
||||
# @ acf
|
||||
#: includes/api/api-helpers.php:1004
|
||||
|
|
@ -3237,7 +3238,7 @@ msgstr "Aktuelle Benutzerrolle"
|
|||
# @ acf
|
||||
#: includes/locations/class-acf-location-current-user-role.php:110
|
||||
msgid "Super Admin"
|
||||
msgstr "Super-Admin"
|
||||
msgstr "Super-Administrator"
|
||||
|
||||
# @ acf
|
||||
#: includes/locations/class-acf-location-current-user.php:27
|
||||
|
|
@ -3325,17 +3326,17 @@ msgstr "Unterseite (mit übergeordneter Seite)"
|
|||
# @ acf
|
||||
#: includes/locations/class-acf-location-post-category.php:27
|
||||
msgid "Post Category"
|
||||
msgstr "Beitrags-Kategorie"
|
||||
msgstr "Beitragskategorie"
|
||||
|
||||
# @ acf
|
||||
#: includes/locations/class-acf-location-post-format.php:27
|
||||
msgid "Post Format"
|
||||
msgstr "Beitrags-Format"
|
||||
msgstr "Beitragsformat"
|
||||
|
||||
# @ acf
|
||||
#: includes/locations/class-acf-location-post-status.php:27
|
||||
msgid "Post Status"
|
||||
msgstr "Beitrags-Status"
|
||||
msgstr "Beitragsstatus"
|
||||
|
||||
# @ acf
|
||||
#: includes/locations/class-acf-location-post-taxonomy.php:27
|
||||
|
|
@ -3350,7 +3351,7 @@ msgstr "Beitrags-Template"
|
|||
# @ acf
|
||||
#: includes/locations/class-acf-location-user-form.php:27
|
||||
msgid "User Form"
|
||||
msgstr "Benutzer-Formular"
|
||||
msgstr "Benutzerformular"
|
||||
|
||||
# @ acf
|
||||
#: includes/locations/class-acf-location-user-form.php:88
|
||||
|
|
@ -3376,7 +3377,7 @@ msgstr "Widget"
|
|||
#: includes/validation.php:364
|
||||
#, php-format
|
||||
msgid "%s value is required"
|
||||
msgstr "%s Wert ist notwendig"
|
||||
msgstr "%s Wert ist erforderlich"
|
||||
|
||||
# @ acf
|
||||
#. Plugin Name of the plugin/theme
|
||||
|
|
@ -3403,8 +3404,8 @@ msgstr ""
|
|||
#: pro/admin/admin-updates.php:49
|
||||
msgid "<b>Error</b>. Could not connect to update server"
|
||||
msgstr ""
|
||||
"<b>Fehler</b>. Es konnte keine Verbindung zum Update-Server hergestellt "
|
||||
"werden"
|
||||
"<b>Fehler</b>. Es konnte keine Verbindung zum Aktualisierungsserver "
|
||||
"hergestellt werden"
|
||||
|
||||
# @ acf
|
||||
#: pro/admin/admin-updates.php:118 pro/admin/views/html-settings-updates.php:13
|
||||
|
|
@ -3416,9 +3417,9 @@ msgid ""
|
|||
"<b>Error</b>. Could not authenticate update package. Please check again or "
|
||||
"deactivate and reactivate your ACF PRO license."
|
||||
msgstr ""
|
||||
"<b>Fehler</b>. Das Update-Packet konnte nicht authentifiziert werden. Bitte "
|
||||
"probieren Sie es nochmal oder deaktivieren und reaktivieren Sie ihre ACF PRO-"
|
||||
"Lizenz."
|
||||
"<b>Fehler</b>. Das Aktualisierungspaket konnte nicht authentifiziert werden. "
|
||||
"Bitte probieren Sie es nochmal oder deaktivieren und reaktivieren Sie ihre "
|
||||
"ACF PRO-Lizenz."
|
||||
|
||||
# @ acf
|
||||
#: pro/admin/views/html-settings-updates.php:7
|
||||
|
|
@ -3441,7 +3442,7 @@ msgid ""
|
|||
"licence key, please see <a href=\"%s\" target=\"_blank\">details & pricing</"
|
||||
"a>."
|
||||
msgstr ""
|
||||
"Um die Updatefähigkeit freizuschalten geben Sie bitte unten Ihren "
|
||||
"Um die Aktualisierungsfähigkeit freizuschalten geben Sie bitte unten Ihren "
|
||||
"Lizenzschlüssel ein. Falls Sie keinen besitzen sollten informieren Sie sich "
|
||||
"bitte hier hinsichtlich <a href=\"%s\" target=\"_blank\">Preisen und aller "
|
||||
"weiteren Details</a>."
|
||||
|
|
@ -3480,8 +3481,8 @@ msgstr "Plugin aktualisieren"
|
|||
#: pro/admin/views/html-settings-updates.php:94
|
||||
msgid "Please enter your license key above to unlock updates"
|
||||
msgstr ""
|
||||
"Bitte geben Sie oben Ihren Lizenzschlüssel ein um die Update-Fähigkeit "
|
||||
"freizuschalten"
|
||||
"Bitte geben Sie oben Ihren Lizenzschlüssel ein um die "
|
||||
"Aktualisierungsfähigkeit freizuschalten"
|
||||
|
||||
# @ acf
|
||||
#: pro/admin/views/html-settings-updates.php:100
|
||||
|
|
@ -3491,7 +3492,7 @@ msgstr "Erneut suchen"
|
|||
# @ acf
|
||||
#: pro/admin/views/html-settings-updates.php:117
|
||||
msgid "Upgrade Notice"
|
||||
msgstr "Aktualisierungs-Hinweis"
|
||||
msgstr "Hinweis zum Upgrade"
|
||||
|
||||
#: pro/blocks.php:371
|
||||
msgid "Switch to Edit"
|
||||
|
|
@ -3826,10 +3827,10 @@ msgid ""
|
|||
"\">Updates</a> page. If you don't have a licence key, please see <a href=\"%s"
|
||||
"\">details & pricing</a>."
|
||||
msgstr ""
|
||||
"Um die Update-Fähigkeit freizuschalten geben Sie bitte Ihren Lizenzschlüssel "
|
||||
"auf der <a href=\"%s\">Aktualisierungen</a> Seite ein. Falls Sie keinen "
|
||||
"besitzen informieren Sie sich bitte hier hinsichtlich der <a href=\"%s\" "
|
||||
"target=\"_blank\">Preise und Einzelheiten</a>."
|
||||
"Um die Aktualisierungsfähigkeit freizuschalten geben Sie bitte Ihren "
|
||||
"Lizenzschlüssel auf der <a href=\"%s\">Aktualisierungen</a> Seite ein. Falls "
|
||||
"Sie keinen besitzen informieren Sie sich bitte hier hinsichtlich der <a href="
|
||||
"\"%s\" target=\"_blank\">Preise und Einzelheiten</a>."
|
||||
|
||||
#: tests/basic/test-blocks.php:13
|
||||
msgid "Testimonial"
|
||||
|
|
@ -3839,6 +3840,15 @@ msgstr "Testimonial"
|
|||
msgid "A custom testimonial block."
|
||||
msgstr "Ein individueller Testimonial-Block."
|
||||
|
||||
#: tests/basic/test-blocks.php:40
|
||||
msgid "Slider"
|
||||
msgstr "Slider"
|
||||
|
||||
# @ acf
|
||||
#: tests/basic/test-blocks.php:41
|
||||
msgid "A custom gallery slider."
|
||||
msgstr "Ein individueller Galerie-Slider."
|
||||
|
||||
#. Plugin URI of the plugin/theme
|
||||
msgid "https://www.advancedcustomfields.com/"
|
||||
msgstr "https://www.advancedcustomfields.com/"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -2,8 +2,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Advanced Custom Fields Pro v5.7.11\n"
|
||||
"Report-Msgid-Bugs-To: http://support.advancedcustomfields.com\n"
|
||||
"POT-Creation-Date: 2019-02-14 15:11+0330\n"
|
||||
"PO-Revision-Date: 2019-02-14 15:11+0330\n"
|
||||
"POT-Creation-Date: 2019-05-08 14:09+0430\n"
|
||||
"PO-Revision-Date: 2019-05-08 14:13+0430\n"
|
||||
"Last-Translator: Elliot Condon <e@elliotcondon.com>\n"
|
||||
"Language-Team: Majix <mimapien@gmail.com>\n"
|
||||
"Language: fa\n"
|
||||
|
|
@ -26,102 +26,102 @@ msgstr ""
|
|||
msgid "Advanced Custom Fields"
|
||||
msgstr "زمینههای سفارشی پیشرفته"
|
||||
|
||||
#: acf.php:362 includes/admin/admin.php:58
|
||||
#: acf.php:363 includes/admin/admin.php:58
|
||||
msgid "Field Groups"
|
||||
msgstr "گروههای زمینه"
|
||||
|
||||
#: acf.php:363
|
||||
#: acf.php:364
|
||||
msgid "Field Group"
|
||||
msgstr "گروه زمینه"
|
||||
|
||||
#: acf.php:364 acf.php:396 includes/admin/admin.php:59
|
||||
#: pro/fields/class-acf-field-flexible-content.php:557
|
||||
#: acf.php:365 acf.php:397 includes/admin/admin.php:59
|
||||
#: pro/fields/class-acf-field-flexible-content.php:558
|
||||
msgid "Add New"
|
||||
msgstr "افزودن"
|
||||
|
||||
#: acf.php:365
|
||||
#: acf.php:366
|
||||
msgid "Add New Field Group"
|
||||
msgstr "افزودن گروه زمینه جدید"
|
||||
|
||||
#: acf.php:366
|
||||
#: acf.php:367
|
||||
msgid "Edit Field Group"
|
||||
msgstr "ویرایش گروه زمینه"
|
||||
|
||||
#: acf.php:367
|
||||
#: acf.php:368
|
||||
msgid "New Field Group"
|
||||
msgstr "گروه زمینه جدید"
|
||||
|
||||
#: acf.php:368
|
||||
#: acf.php:369
|
||||
msgid "View Field Group"
|
||||
msgstr "مشاهده گروه زمینه"
|
||||
|
||||
#: acf.php:369
|
||||
#: acf.php:370
|
||||
msgid "Search Field Groups"
|
||||
msgstr "جستجوی گروه های زمینه"
|
||||
|
||||
#: acf.php:370
|
||||
#: acf.php:371
|
||||
msgid "No Field Groups found"
|
||||
msgstr "گروه زمینه ای یافت نشد"
|
||||
|
||||
#: acf.php:371
|
||||
#: acf.php:372
|
||||
msgid "No Field Groups found in Trash"
|
||||
msgstr "گروه زمینه ای در زباله دان یافت نشد"
|
||||
|
||||
#: acf.php:394 includes/admin/admin-field-group.php:220
|
||||
#: acf.php:395 includes/admin/admin-field-group.php:220
|
||||
#: includes/admin/admin-field-groups.php:530
|
||||
#: pro/fields/class-acf-field-clone.php:811
|
||||
msgid "Fields"
|
||||
msgstr "زمینه ها"
|
||||
|
||||
#: acf.php:395
|
||||
#: acf.php:396
|
||||
msgid "Field"
|
||||
msgstr "زمینه"
|
||||
|
||||
#: acf.php:397
|
||||
#: acf.php:398
|
||||
msgid "Add New Field"
|
||||
msgstr "زمینه جدید"
|
||||
|
||||
#: acf.php:398
|
||||
#: acf.php:399
|
||||
msgid "Edit Field"
|
||||
msgstr "ویرایش زمینه"
|
||||
|
||||
#: acf.php:399 includes/admin/views/field-group-fields.php:41
|
||||
#: acf.php:400 includes/admin/views/field-group-fields.php:41
|
||||
msgid "New Field"
|
||||
msgstr "زمینه جدید"
|
||||
|
||||
#: acf.php:400
|
||||
#: acf.php:401
|
||||
msgid "View Field"
|
||||
msgstr "نمایش زمینه"
|
||||
|
||||
#: acf.php:401
|
||||
#: acf.php:402
|
||||
msgid "Search Fields"
|
||||
msgstr "جستجوی گروه های زمینه"
|
||||
|
||||
#: acf.php:402
|
||||
#: acf.php:403
|
||||
msgid "No Fields found"
|
||||
msgstr "گروه زمینه ای یافت نشد"
|
||||
|
||||
#: acf.php:403
|
||||
#: acf.php:404
|
||||
msgid "No Fields found in Trash"
|
||||
msgstr "گروه زمینه ای در زباله دان یافت نشد"
|
||||
|
||||
#: acf.php:442 includes/admin/admin-field-group.php:402
|
||||
#: acf.php:443 includes/admin/admin-field-group.php:402
|
||||
#: includes/admin/admin-field-groups.php:587
|
||||
msgid "Inactive"
|
||||
msgstr "غیرفعال"
|
||||
|
||||
#: acf.php:447
|
||||
#: acf.php:448
|
||||
#, php-format
|
||||
msgid "Inactive <span class=\"count\">(%s)</span>"
|
||||
msgid_plural "Inactive <span class=\"count\">(%s)</span>"
|
||||
msgstr[0] "غیرفعال <span class=\"count\">(%s)</span>"
|
||||
msgstr[1] "غیرفعال <span class=\"count\">(%s)</span>"
|
||||
|
||||
#: includes/acf-field-functions.php:827 includes/admin/admin-field-group.php:178
|
||||
#: includes/acf-field-functions.php:828 includes/admin/admin-field-group.php:178
|
||||
msgid "(no label)"
|
||||
msgstr "(بدون برچسب)"
|
||||
|
||||
#: includes/acf-field-group-functions.php:813
|
||||
#: includes/acf-field-group-functions.php:816
|
||||
#: includes/admin/admin-field-group.php:180
|
||||
msgid "copy"
|
||||
msgstr "کپی"
|
||||
|
|
@ -192,7 +192,7 @@ msgstr "(این گزینه)"
|
|||
#: includes/admin/views/field-group-field-conditional-logic.php:151
|
||||
#: includes/admin/views/field-group-locations.php:29
|
||||
#: includes/admin/views/html-location-group.php:3
|
||||
#: includes/api/api-helpers.php:3982
|
||||
#: includes/api/api-helpers.php:3862
|
||||
msgid "or"
|
||||
msgstr "یا"
|
||||
|
||||
|
|
@ -330,7 +330,7 @@ msgstr "تکثیر این زمینه"
|
|||
#: includes/admin/admin-field-groups.php:686
|
||||
#: includes/admin/admin-field-groups.php:702
|
||||
#: includes/admin/views/field-group-field.php:46
|
||||
#: pro/fields/class-acf-field-flexible-content.php:556
|
||||
#: pro/fields/class-acf-field-flexible-content.php:557
|
||||
msgid "Duplicate"
|
||||
msgstr "تکثیر"
|
||||
|
||||
|
|
@ -518,8 +518,8 @@ msgid "Add rule group"
|
|||
msgstr "افزودن گروه قانون"
|
||||
|
||||
#: includes/admin/views/field-group-field.php:38
|
||||
#: pro/fields/class-acf-field-flexible-content.php:409
|
||||
#: pro/fields/class-acf-field-repeater.php:294
|
||||
#: pro/fields/class-acf-field-flexible-content.php:410
|
||||
#: pro/fields/class-acf-field-repeater.php:299
|
||||
msgid "Drag to reorder"
|
||||
msgstr "گرفتن و کشیدن برای مرتب سازی"
|
||||
|
||||
|
|
@ -553,7 +553,7 @@ msgid "Delete field"
|
|||
msgstr "حذف زمینه"
|
||||
|
||||
#: includes/admin/views/field-group-field.php:48
|
||||
#: pro/fields/class-acf-field-flexible-content.php:555
|
||||
#: pro/fields/class-acf-field-flexible-content.php:556
|
||||
msgid "Delete"
|
||||
msgstr "حذف"
|
||||
|
||||
|
|
@ -618,13 +618,13 @@ msgstr "ترتیب"
|
|||
#: includes/fields/class-acf-field-checkbox.php:420
|
||||
#: includes/fields/class-acf-field-radio.php:311
|
||||
#: includes/fields/class-acf-field-select.php:433
|
||||
#: pro/fields/class-acf-field-flexible-content.php:581
|
||||
#: pro/fields/class-acf-field-flexible-content.php:582
|
||||
msgid "Label"
|
||||
msgstr "برچسب زمینه"
|
||||
|
||||
#: includes/admin/views/field-group-fields.php:6
|
||||
#: includes/fields/class-acf-field-taxonomy.php:939
|
||||
#: pro/fields/class-acf-field-flexible-content.php:595
|
||||
#: pro/fields/class-acf-field-flexible-content.php:596
|
||||
msgid "Name"
|
||||
msgstr "نام"
|
||||
|
||||
|
|
@ -1227,42 +1227,42 @@ msgstr "بزرگ"
|
|||
msgid "Full Size"
|
||||
msgstr "اندازه کامل"
|
||||
|
||||
#: includes/api/api-helpers.php:1823 includes/api/api-term.php:147
|
||||
#: includes/api/api-helpers.php:1775 includes/api/api-term.php:147
|
||||
#: pro/fields/class-acf-field-clone.php:996
|
||||
msgid "(no title)"
|
||||
msgstr "(بدون عنوان)"
|
||||
|
||||
#: includes/api/api-helpers.php:3903
|
||||
#: includes/api/api-helpers.php:3783
|
||||
#, php-format
|
||||
msgid "Image width must be at least %dpx."
|
||||
msgstr "عرض تصویر باید حداقل %d پیکسل باشد."
|
||||
|
||||
#: includes/api/api-helpers.php:3908
|
||||
#: includes/api/api-helpers.php:3788
|
||||
#, php-format
|
||||
msgid "Image width must not exceed %dpx."
|
||||
msgstr "عرض تصویر نباید از %d پیکسل بیشتر باشد."
|
||||
|
||||
#: includes/api/api-helpers.php:3924
|
||||
#: includes/api/api-helpers.php:3804
|
||||
#, php-format
|
||||
msgid "Image height must be at least %dpx."
|
||||
msgstr "ارتفاع فایل باید حداقل %d پیکسل باشد."
|
||||
|
||||
#: includes/api/api-helpers.php:3929
|
||||
#: includes/api/api-helpers.php:3809
|
||||
#, php-format
|
||||
msgid "Image height must not exceed %dpx."
|
||||
msgstr "ارتفاع تصویر نباید از %d پیکسل بیشتر باشد."
|
||||
|
||||
#: includes/api/api-helpers.php:3947
|
||||
#: includes/api/api-helpers.php:3827
|
||||
#, php-format
|
||||
msgid "File size must be at least %s."
|
||||
msgstr "حجم فایل باید حداقل %s باشد."
|
||||
|
||||
#: includes/api/api-helpers.php:3952
|
||||
#: includes/api/api-helpers.php:3832
|
||||
#, php-format
|
||||
msgid "File size must must not exceed %s."
|
||||
msgstr "حجم فایل ها نباید از %s بیشتر باشد."
|
||||
|
||||
#: includes/api/api-helpers.php:3986
|
||||
#: includes/api/api-helpers.php:3866
|
||||
#, php-format
|
||||
msgid "File type must be %s."
|
||||
msgstr "نوع فایل باید %s باشد."
|
||||
|
|
@ -1429,9 +1429,9 @@ msgstr "جی کوئری"
|
|||
#: includes/fields/class-acf-field-group.php:474
|
||||
#: includes/fields/class-acf-field-radio.php:290
|
||||
#: pro/fields/class-acf-field-clone.php:843
|
||||
#: pro/fields/class-acf-field-flexible-content.php:552
|
||||
#: pro/fields/class-acf-field-flexible-content.php:601
|
||||
#: pro/fields/class-acf-field-repeater.php:443
|
||||
#: pro/fields/class-acf-field-flexible-content.php:553
|
||||
#: pro/fields/class-acf-field-flexible-content.php:602
|
||||
#: pro/fields/class-acf-field-repeater.php:448
|
||||
msgid "Layout"
|
||||
msgstr "چیدمان"
|
||||
|
||||
|
|
@ -1920,6 +1920,7 @@ msgstr "محدود کردن انتخاب کتابخانه چندرسانه ای"
|
|||
#: includes/locations/class-acf-location-user-role.php:111
|
||||
#: includes/locations/class-acf-location-widget.php:83
|
||||
#: pro/fields/class-acf-field-gallery.php:679
|
||||
#: pro/locations/class-acf-location-block.php:79
|
||||
msgid "All"
|
||||
msgstr "همه"
|
||||
|
||||
|
|
@ -2014,7 +2015,7 @@ msgid "Group"
|
|||
msgstr "گروه"
|
||||
|
||||
#: includes/fields/class-acf-field-group.php:459
|
||||
#: pro/fields/class-acf-field-repeater.php:379
|
||||
#: pro/fields/class-acf-field-repeater.php:384
|
||||
msgid "Sub Fields"
|
||||
msgstr "زمینههای زیرمجموعه"
|
||||
|
||||
|
|
@ -2025,22 +2026,23 @@ msgstr "استایل جهت نمایش فیلد انتخابی"
|
|||
|
||||
#: includes/fields/class-acf-field-group.php:480
|
||||
#: pro/fields/class-acf-field-clone.php:849
|
||||
#: pro/fields/class-acf-field-flexible-content.php:612
|
||||
#: pro/fields/class-acf-field-repeater.php:451
|
||||
#: pro/fields/class-acf-field-flexible-content.php:613
|
||||
#: pro/fields/class-acf-field-repeater.php:456
|
||||
#: pro/locations/class-acf-location-block.php:27
|
||||
msgid "Block"
|
||||
msgstr "بلوک"
|
||||
|
||||
#: includes/fields/class-acf-field-group.php:481
|
||||
#: pro/fields/class-acf-field-clone.php:850
|
||||
#: pro/fields/class-acf-field-flexible-content.php:611
|
||||
#: pro/fields/class-acf-field-repeater.php:450
|
||||
#: pro/fields/class-acf-field-flexible-content.php:612
|
||||
#: pro/fields/class-acf-field-repeater.php:455
|
||||
msgid "Table"
|
||||
msgstr "جدول"
|
||||
|
||||
#: includes/fields/class-acf-field-group.php:482
|
||||
#: pro/fields/class-acf-field-clone.php:851
|
||||
#: pro/fields/class-acf-field-flexible-content.php:613
|
||||
#: pro/fields/class-acf-field-repeater.php:452
|
||||
#: pro/fields/class-acf-field-flexible-content.php:614
|
||||
#: pro/fields/class-acf-field-repeater.php:457
|
||||
msgid "Row"
|
||||
msgstr "سطر"
|
||||
|
||||
|
|
@ -2956,6 +2958,14 @@ msgstr "بررسی دوباره"
|
|||
msgid "Upgrade Notice"
|
||||
msgstr "نکات به روزرسانی"
|
||||
|
||||
#: pro/blocks.php:371
|
||||
msgid "Switch to Edit"
|
||||
msgstr "حالت ویرایش"
|
||||
|
||||
#: pro/blocks.php:372
|
||||
msgid "Switch to Preview"
|
||||
msgstr "حالت پیشنمایش"
|
||||
|
||||
#: pro/fields/class-acf-field-clone.php:25
|
||||
msgctxt "noun"
|
||||
msgid "Clone"
|
||||
|
|
@ -3014,13 +3024,13 @@ msgstr "تمام فیلدها از %s گروه فیلد"
|
|||
|
||||
#: pro/fields/class-acf-field-flexible-content.php:31
|
||||
#: pro/fields/class-acf-field-repeater.php:193
|
||||
#: pro/fields/class-acf-field-repeater.php:463
|
||||
#: pro/fields/class-acf-field-repeater.php:468
|
||||
msgid "Add Row"
|
||||
msgstr "سطر جدید"
|
||||
|
||||
#: pro/fields/class-acf-field-flexible-content.php:73
|
||||
#: pro/fields/class-acf-field-flexible-content.php:923
|
||||
#: pro/fields/class-acf-field-flexible-content.php:1005
|
||||
#: pro/fields/class-acf-field-flexible-content.php:924
|
||||
#: pro/fields/class-acf-field-flexible-content.php:1006
|
||||
msgid "layout"
|
||||
msgid_plural "layouts"
|
||||
msgstr[0] "طرحها"
|
||||
|
|
@ -3031,8 +3041,8 @@ msgid "layouts"
|
|||
msgstr "طرح ها"
|
||||
|
||||
#: pro/fields/class-acf-field-flexible-content.php:77
|
||||
#: pro/fields/class-acf-field-flexible-content.php:922
|
||||
#: pro/fields/class-acf-field-flexible-content.php:1004
|
||||
#: pro/fields/class-acf-field-flexible-content.php:923
|
||||
#: pro/fields/class-acf-field-flexible-content.php:1005
|
||||
msgid "This field requires at least {min} {label} {identifier}"
|
||||
msgstr "این زمینه لازم دارد {min} {label} {identifier}"
|
||||
|
||||
|
|
@ -3057,57 +3067,57 @@ msgstr "زمینه محتوای انعطاف پذیر حداقل به یک طر
|
|||
msgid "Click the \"%s\" button below to start creating your layout"
|
||||
msgstr "روی دکمه \"%s\" دز زیر کلیک کنید تا چیدمان خود را بسازید"
|
||||
|
||||
#: pro/fields/class-acf-field-flexible-content.php:412
|
||||
#: pro/fields/class-acf-field-flexible-content.php:413
|
||||
msgid "Add layout"
|
||||
msgstr "طرح جدید"
|
||||
|
||||
#: pro/fields/class-acf-field-flexible-content.php:413
|
||||
#: pro/fields/class-acf-field-flexible-content.php:414
|
||||
msgid "Remove layout"
|
||||
msgstr "حذف طرح"
|
||||
|
||||
#: pro/fields/class-acf-field-flexible-content.php:414
|
||||
#: pro/fields/class-acf-field-repeater.php:296
|
||||
#: pro/fields/class-acf-field-flexible-content.php:415
|
||||
#: pro/fields/class-acf-field-repeater.php:301
|
||||
msgid "Click to toggle"
|
||||
msgstr "کلیک برای انتخاب"
|
||||
|
||||
#: pro/fields/class-acf-field-flexible-content.php:554
|
||||
#: pro/fields/class-acf-field-flexible-content.php:555
|
||||
msgid "Reorder Layout"
|
||||
msgstr "ترتیب بندی طرح ها"
|
||||
|
||||
#: pro/fields/class-acf-field-flexible-content.php:554
|
||||
#: pro/fields/class-acf-field-flexible-content.php:555
|
||||
msgid "Reorder"
|
||||
msgstr "مرتب سازی"
|
||||
|
||||
#: pro/fields/class-acf-field-flexible-content.php:555
|
||||
#: pro/fields/class-acf-field-flexible-content.php:556
|
||||
msgid "Delete Layout"
|
||||
msgstr "حذف طرح"
|
||||
|
||||
#: pro/fields/class-acf-field-flexible-content.php:556
|
||||
#: pro/fields/class-acf-field-flexible-content.php:557
|
||||
msgid "Duplicate Layout"
|
||||
msgstr "تکثیر طرح"
|
||||
|
||||
#: pro/fields/class-acf-field-flexible-content.php:557
|
||||
#: pro/fields/class-acf-field-flexible-content.php:558
|
||||
msgid "Add New Layout"
|
||||
msgstr "افزودن طرح جدید"
|
||||
|
||||
#: pro/fields/class-acf-field-flexible-content.php:628
|
||||
#: pro/fields/class-acf-field-flexible-content.php:629
|
||||
msgid "Min"
|
||||
msgstr "حداقل"
|
||||
|
||||
#: pro/fields/class-acf-field-flexible-content.php:641
|
||||
#: pro/fields/class-acf-field-flexible-content.php:642
|
||||
msgid "Max"
|
||||
msgstr "حداکثر"
|
||||
|
||||
#: pro/fields/class-acf-field-flexible-content.php:668
|
||||
#: pro/fields/class-acf-field-repeater.php:459
|
||||
#: pro/fields/class-acf-field-flexible-content.php:669
|
||||
#: pro/fields/class-acf-field-repeater.php:464
|
||||
msgid "Button Label"
|
||||
msgstr "متن دکمه"
|
||||
|
||||
#: pro/fields/class-acf-field-flexible-content.php:677
|
||||
#: pro/fields/class-acf-field-flexible-content.php:678
|
||||
msgid "Minimum Layouts"
|
||||
msgstr "حداقل تعداد طرح ها"
|
||||
|
||||
#: pro/fields/class-acf-field-flexible-content.php:686
|
||||
#: pro/fields/class-acf-field-flexible-content.php:687
|
||||
msgid "Maximum Layouts"
|
||||
msgstr "حداکثر تعداد طرح ها"
|
||||
|
||||
|
|
@ -3184,7 +3194,7 @@ msgid "Prepend to the beginning"
|
|||
msgstr "افزودن قبل از"
|
||||
|
||||
#: pro/fields/class-acf-field-repeater.php:65
|
||||
#: pro/fields/class-acf-field-repeater.php:656
|
||||
#: pro/fields/class-acf-field-repeater.php:661
|
||||
msgid "Minimum rows reached ({min} rows)"
|
||||
msgstr "مقادیر به حداکثر رسیده اند ( {min} سطر )"
|
||||
|
||||
|
|
@ -3192,27 +3202,27 @@ msgstr "مقادیر به حداکثر رسیده اند ( {min} سطر )"
|
|||
msgid "Maximum rows reached ({max} rows)"
|
||||
msgstr "مقادیر به حداکثر رسیده اند ( {max} سطر )"
|
||||
|
||||
#: pro/fields/class-acf-field-repeater.php:333
|
||||
#: pro/fields/class-acf-field-repeater.php:338
|
||||
msgid "Add row"
|
||||
msgstr "افزودن سطر"
|
||||
|
||||
#: pro/fields/class-acf-field-repeater.php:334
|
||||
#: pro/fields/class-acf-field-repeater.php:339
|
||||
msgid "Remove row"
|
||||
msgstr "حذف سطر"
|
||||
|
||||
#: pro/fields/class-acf-field-repeater.php:412
|
||||
#: pro/fields/class-acf-field-repeater.php:417
|
||||
msgid "Collapsed"
|
||||
msgstr "جمع شده"
|
||||
|
||||
#: pro/fields/class-acf-field-repeater.php:413
|
||||
#: pro/fields/class-acf-field-repeater.php:418
|
||||
msgid "Select a sub field to show when row is collapsed"
|
||||
msgstr "یک زمینه زیرمجموعه را انتخاب کنید تا زمان بسته شدن طر نمایش داده شود"
|
||||
|
||||
#: pro/fields/class-acf-field-repeater.php:423
|
||||
#: pro/fields/class-acf-field-repeater.php:428
|
||||
msgid "Minimum Rows"
|
||||
msgstr "حداقل تعداد سطرها"
|
||||
|
||||
#: pro/fields/class-acf-field-repeater.php:433
|
||||
#: pro/fields/class-acf-field-repeater.php:438
|
||||
msgid "Maximum Rows"
|
||||
msgstr "حداکثر تعداد سطرها"
|
||||
|
||||
|
|
@ -3238,6 +3248,22 @@ msgstr ""
|
|||
"برای به روزرسانی لطفا کد لایسنس را وارد کنید. <a href=\"%s\">بروزرسانی</a>. <a "
|
||||
"href=\"%s\">قیمت ها</a>."
|
||||
|
||||
#: tests/basic/test-blocks.php:13
|
||||
msgid "Testimonial"
|
||||
msgstr "توصیهنامه"
|
||||
|
||||
#: tests/basic/test-blocks.php:14
|
||||
msgid "A custom testimonial block."
|
||||
msgstr "بلوک سفارشی توصیهنامه (Testimonial)"
|
||||
|
||||
#: tests/basic/test-blocks.php:40
|
||||
msgid "Slider"
|
||||
msgstr "اسلایدر"
|
||||
|
||||
#: tests/basic/test-blocks.php:41
|
||||
msgid "A custom gallery slider."
|
||||
msgstr "اسلایدر گالری سفارشی"
|
||||
|
||||
#. Plugin URI of the plugin/theme
|
||||
msgid "https://www.advancedcustomfields.com/"
|
||||
msgstr "https://www.advancedcustomfields.com/"
|
||||
|
|
|
|||
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: 2017-06-27 15:28+1000\n"
|
||||
"PO-Revision-Date: 2018-02-06 10:06+1000\n"
|
||||
"PO-Revision-Date: 2019-05-15 09:55+1000\n"
|
||||
"Last-Translator: Elliot Condon <e@elliotcondon.com>\n"
|
||||
"Language-Team: Swedish\n"
|
||||
"Language: sv_SE\n"
|
||||
|
|
@ -1869,7 +1869,7 @@ msgstr "Specificera stilen för att rendera valda fält"
|
|||
#: pro/fields/class-acf-field-flexible-content.php:629
|
||||
#: pro/fields/class-acf-field-repeater.php:522
|
||||
msgid "Block"
|
||||
msgstr "Grupp"
|
||||
msgstr "Block"
|
||||
|
||||
#: includes/fields/class-acf-field-group.php:492
|
||||
#: pro/fields/class-acf-field-clone.php:896
|
||||
|
|
|
|||
|
|
@ -1389,7 +1389,7 @@
|
|||
attachment = attachment.attributes;
|
||||
|
||||
// preview size
|
||||
var url = acf.isget(attachment, 'sizes', 'medium', 'url');
|
||||
var url = acf.isget(attachment, 'sizes', this.get('preview_size'), 'url');
|
||||
if( url !== null ) {
|
||||
attachment.url = url;
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -575,6 +575,7 @@ function acf_parse_save_blocks_callback( $matches ) {
|
|||
// Prevent wp_targeted_link_rel from corrupting JSON.
|
||||
remove_filter( 'content_save_pre', 'wp_filter_post_kses' );
|
||||
remove_filter( 'content_save_pre', 'wp_targeted_link_rel' );
|
||||
remove_filter( 'content_save_pre', 'balanceTags', 50 );
|
||||
|
||||
/**
|
||||
* Filteres the block attributes before saving.
|
||||
|
|
|
|||
|
|
@ -25,6 +25,9 @@ class acf_field_gallery extends acf_field {
|
|||
$this->label = __("Gallery",'acf');
|
||||
$this->category = 'content';
|
||||
$this->defaults = array(
|
||||
'return_format' => 'array',
|
||||
'preview_size' => 'medium',
|
||||
'insert' => 'append',
|
||||
'library' => 'all',
|
||||
'min' => 0,
|
||||
'max' => 0,
|
||||
|
|
@ -35,7 +38,6 @@ class acf_field_gallery extends acf_field {
|
|||
'max_height' => 0,
|
||||
'max_size' => 0,
|
||||
'mime_types' => '',
|
||||
'insert' => 'append'
|
||||
);
|
||||
|
||||
|
||||
|
|
@ -409,44 +411,6 @@ class acf_field_gallery extends acf_field {
|
|||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* get_attachments
|
||||
*
|
||||
* This function will return an array of attachments for a given field value
|
||||
*
|
||||
* @type function
|
||||
* @date 13/06/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $value (array)
|
||||
* @return $value
|
||||
*/
|
||||
|
||||
function get_attachments( $value ) {
|
||||
|
||||
// bail early if no value
|
||||
if( empty($value) ) return false;
|
||||
|
||||
|
||||
// force value to array
|
||||
$post__in = acf_get_array( $value );
|
||||
|
||||
|
||||
// get posts
|
||||
$posts = acf_get_posts(array(
|
||||
'post_type' => 'attachment',
|
||||
'post__in' => $post__in,
|
||||
'update_post_meta_cache' => true
|
||||
));
|
||||
|
||||
|
||||
// return
|
||||
return $posts;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* render_field()
|
||||
*
|
||||
|
|
@ -461,15 +425,15 @@ class acf_field_gallery extends acf_field {
|
|||
|
||||
function render_field( $field ) {
|
||||
|
||||
// enqueue
|
||||
// Enqueue uploader assets.
|
||||
acf_enqueue_uploader();
|
||||
|
||||
|
||||
// vars
|
||||
$atts = array(
|
||||
// Control attributes.
|
||||
$attrs = array(
|
||||
'id' => $field['id'],
|
||||
'class' => "acf-gallery {$field['class']}",
|
||||
'data-library' => $field['library'],
|
||||
'data-preview_size' => $field['preview_size'],
|
||||
'data-min' => $field['min'],
|
||||
'data-max' => $field['max'],
|
||||
'data-mime_types' => $field['mime_types'],
|
||||
|
|
@ -477,86 +441,68 @@ class acf_field_gallery extends acf_field {
|
|||
'data-columns' => 4
|
||||
);
|
||||
|
||||
|
||||
// set gallery height
|
||||
// Set gallery height with deafult of 400px and minimum of 200px.
|
||||
$height = acf_get_user_setting('gallery_height', 400);
|
||||
$height = max( $height, 200 ); // minimum height is 200
|
||||
$atts['style'] = "height:{$height}px";
|
||||
$height = max( $height, 200 );
|
||||
$attrs['style'] = "height:{$height}px";
|
||||
|
||||
|
||||
// get posts
|
||||
$value = $this->get_attachments( $field['value'] );
|
||||
// Load attachments.
|
||||
$attachments = array();
|
||||
if( $field['value'] ) {
|
||||
|
||||
// Clean value into an array of IDs.
|
||||
$attachment_ids = array_map('intval', acf_array($field['value']));
|
||||
|
||||
// Find posts in database (ensures all results are real).
|
||||
$posts = acf_get_posts(array(
|
||||
'post_type' => 'attachment',
|
||||
'post__in' => $attachment_ids,
|
||||
'update_post_meta_cache' => true,
|
||||
'update_post_term_cache' => false
|
||||
));
|
||||
|
||||
// Load attatchment data for each post.
|
||||
$attachments = array_map('acf_get_attachment', $posts);
|
||||
}
|
||||
|
||||
?>
|
||||
<div <?php acf_esc_attr_e($atts); ?>>
|
||||
|
||||
<div class="acf-hidden">
|
||||
<?php acf_hidden_input(array( 'name' => $field['name'], 'value' => '' )); ?>
|
||||
</div>
|
||||
|
||||
<div <?php acf_esc_attr_e($attrs); ?>>
|
||||
<input type="hidden" name="<?php echo esc_attr($field['name']); ?>" value="" />
|
||||
<div class="acf-gallery-main">
|
||||
|
||||
<div class="acf-gallery-attachments">
|
||||
|
||||
<?php if( $value ): ?>
|
||||
|
||||
<?php foreach( $value as $i => $v ):
|
||||
<?php if( $attachments ): ?>
|
||||
<?php foreach( $attachments as $i => $attachment ):
|
||||
|
||||
// bail early if no value
|
||||
if( !$v ) continue;
|
||||
|
||||
|
||||
// vars
|
||||
$a = array(
|
||||
'ID' => $v->ID,
|
||||
'title' => $v->post_title,
|
||||
'filename' => wp_basename($v->guid),
|
||||
'type' => acf_maybe_get(explode('/', $v->post_mime_type), 0),
|
||||
'class' => 'acf-gallery-attachment'
|
||||
);
|
||||
|
||||
|
||||
// thumbnail
|
||||
$thumbnail = acf_get_post_thumbnail($a['ID'], 'medium');
|
||||
|
||||
|
||||
// remove filename if is image
|
||||
if( $a['type'] == 'image' ) $a['filename'] = '';
|
||||
|
||||
|
||||
// class
|
||||
$a['class'] .= ' -' . $a['type'];
|
||||
|
||||
if( $thumbnail['type'] == 'icon' ) {
|
||||
|
||||
$a['class'] .= ' -icon';
|
||||
|
||||
}
|
||||
// Vars
|
||||
$a_id = $attachment['ID'];
|
||||
$a_title = $attachment['title'];
|
||||
$a_type = $attachment['type'];
|
||||
$a_filename = $attachment['filename'];
|
||||
$a_class = "acf-gallery-attachment -{$a_type}";
|
||||
|
||||
// Get thumbnail.
|
||||
$a_thumbnail = acf_get_post_thumbnail($a_id, $field['preview_size']);
|
||||
$a_class .= ($a_thumbnail['type'] === 'icon') ? ' -icon' : '';
|
||||
|
||||
?>
|
||||
<div class="<?php echo $a['class']; ?>" data-id="<?php echo $a['ID']; ?>">
|
||||
<?php acf_hidden_input(array( 'name' => $field['name'].'[]', 'value' => $a['ID'] )); ?>
|
||||
<div class="<?php echo esc_attr($a_class); ?>" data-id="<?php echo esc_attr($a_id); ?>">
|
||||
<input type="hidden" name="<?php echo esc_attr($field['name']); ?>[]" value="<?php echo esc_attr($a_id); ?>" />
|
||||
<div class="margin">
|
||||
<div class="thumbnail">
|
||||
<img src="<?php echo $thumbnail['url']; ?>" alt="" title="<?php echo $a['title']; ?>"/>
|
||||
<img src="<?php echo esc_url($a_thumbnail['url']); ?>" alt="" />
|
||||
</div>
|
||||
<?php if( $a['filename'] ): ?>
|
||||
<div class="filename"><?php echo acf_get_truncated($a['filename'], 30); ?></div>
|
||||
<?php if( $a_type !== 'image' ): ?>
|
||||
<div class="filename"><?php echo acf_get_truncated( $a_filename, 30 ); ?></div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<a class="acf-icon -cancel dark acf-gallery-remove" href="#" data-id="<?php echo $a['ID']; ?>" title="<?php _e('Remove', 'acf'); ?>"></a>
|
||||
<a class="acf-icon -cancel dark acf-gallery-remove" href="#" data-id="<?php echo esc_attr($a_id); ?>" title="<?php _e('Remove', 'acf'); ?>"></a>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
|
||||
<?php endif; ?>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="acf-gallery-toolbar">
|
||||
|
||||
<ul class="acf-hl">
|
||||
<li>
|
||||
<a href="#" class="acf-button button button-primary acf-gallery-add"><?php _e('Add to gallery', 'acf'); ?></a>
|
||||
|
|
@ -571,32 +517,23 @@ class acf_field_gallery extends acf_field {
|
|||
</select>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="acf-gallery-side">
|
||||
<div class="acf-gallery-side-inner">
|
||||
|
||||
<div class="acf-gallery-side-data"></div>
|
||||
|
||||
<div class="acf-gallery-toolbar">
|
||||
|
||||
<ul class="acf-hl">
|
||||
<li>
|
||||
<a href="#" class="acf-button button acf-gallery-close"><?php _e('Close', 'acf'); ?></a>
|
||||
</li>
|
||||
<li class="acf-fr">
|
||||
<a class="acf-button button button-primary acf-gallery-update" href="#"><?php _e('Update', 'acf'); ?></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="acf-gallery-side-inner">
|
||||
<div class="acf-gallery-side-data"></div>
|
||||
<div class="acf-gallery-toolbar">
|
||||
<ul class="acf-hl">
|
||||
<li>
|
||||
<a href="#" class="acf-button button acf-gallery-close"><?php _e('Close', 'acf'); ?></a>
|
||||
</li>
|
||||
<li class="acf-fr">
|
||||
<a class="acf-button button button-primary acf-gallery-update" href="#"><?php _e('Update', 'acf'); ?></a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<?php
|
||||
|
||||
|
|
@ -636,25 +573,29 @@ class acf_field_gallery extends acf_field {
|
|||
|
||||
}
|
||||
|
||||
|
||||
// min
|
||||
// return_format
|
||||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Minimum Selection','acf'),
|
||||
'label' => __('Return Format','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'number',
|
||||
'name' => 'min'
|
||||
'type' => 'radio',
|
||||
'name' => 'return_format',
|
||||
'layout' => 'horizontal',
|
||||
'choices' => array(
|
||||
'array' => __("Image Array",'acf'),
|
||||
'url' => __("Image URL",'acf'),
|
||||
'id' => __("Image ID",'acf')
|
||||
)
|
||||
));
|
||||
|
||||
|
||||
// max
|
||||
// preview_size
|
||||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Maximum Selection','acf'),
|
||||
'label' => __('Preview Size','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'number',
|
||||
'name' => 'max'
|
||||
'type' => 'select',
|
||||
'name' => 'preview_size',
|
||||
'choices' => acf_get_image_sizes()
|
||||
));
|
||||
|
||||
|
||||
// insert
|
||||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Insert','acf'),
|
||||
|
|
@ -667,7 +608,6 @@ class acf_field_gallery extends acf_field {
|
|||
)
|
||||
));
|
||||
|
||||
|
||||
// library
|
||||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Library','acf'),
|
||||
|
|
@ -681,6 +621,21 @@ class acf_field_gallery extends acf_field {
|
|||
)
|
||||
));
|
||||
|
||||
// min
|
||||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Minimum Selection','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'number',
|
||||
'name' => 'min'
|
||||
));
|
||||
|
||||
// max
|
||||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Maximum Selection','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'number',
|
||||
'name' => 'max'
|
||||
));
|
||||
|
||||
// min
|
||||
acf_render_field_setting( $field, array(
|
||||
|
|
@ -739,7 +694,6 @@ class acf_field_gallery extends acf_field {
|
|||
'_append' => 'max_width'
|
||||
));
|
||||
|
||||
|
||||
// allowed type
|
||||
acf_render_field_setting( $field, array(
|
||||
'label' => __('Allowed file types','acf'),
|
||||
|
|
@ -747,7 +701,6 @@ class acf_field_gallery extends acf_field {
|
|||
'type' => 'text',
|
||||
'name' => 'mime_types',
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -769,25 +722,54 @@ class acf_field_gallery extends acf_field {
|
|||
|
||||
function format_value( $value, $post_id, $field ) {
|
||||
|
||||
// bail early if no value
|
||||
if( empty($value) ) return false;
|
||||
|
||||
|
||||
// get posts
|
||||
$posts = $this->get_attachments($value);
|
||||
|
||||
|
||||
// update value to include $post
|
||||
foreach( array_keys($posts) as $i ) {
|
||||
|
||||
$posts[ $i ] = acf_get_attachment( $posts[ $i ] );
|
||||
|
||||
// Bail early if no value.
|
||||
if( !$value ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Clean value into an array of IDs.
|
||||
$attachment_ids = array_map('intval', acf_array($value));
|
||||
|
||||
// Find posts in database (ensures all results are real).
|
||||
$posts = acf_get_posts(array(
|
||||
'post_type' => 'attachment',
|
||||
'post__in' => $attachment_ids,
|
||||
'update_post_meta_cache' => true,
|
||||
'update_post_term_cache' => false
|
||||
));
|
||||
|
||||
// Bail early if no posts found.
|
||||
if( !$posts ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Format values using field settings.
|
||||
$value = array();
|
||||
foreach( $posts as $post ) {
|
||||
|
||||
// Return object.
|
||||
if( $field['return_format'] == 'object' ) {
|
||||
$item = $post;
|
||||
|
||||
// Return array.
|
||||
} elseif( $field['return_format'] == 'array' ) {
|
||||
$item = acf_get_attachment( $post );
|
||||
|
||||
// Return URL.
|
||||
} elseif( $field['return_format'] == 'url' ) {
|
||||
$item = wp_get_attachment_url( $post->ID );
|
||||
|
||||
// Return ID.
|
||||
} else {
|
||||
$item = $post->ID;
|
||||
}
|
||||
|
||||
// Append item.
|
||||
$value[] = $item;
|
||||
}
|
||||
|
||||
// return
|
||||
return $posts;
|
||||
|
||||
// Return.
|
||||
return $value;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
378
readme.txt
378
readme.txt
|
|
@ -67,6 +67,19 @@ From your WordPress dashboard
|
|||
|
||||
== Changelog ==
|
||||
|
||||
= 5.8.1 =
|
||||
*Release Date - 3 June 2019*
|
||||
|
||||
* New - Added "Preview Size" and "Return Format" settings to the Gallery field.
|
||||
* Tweak - Improved metabox styling for Gutenberg.
|
||||
* Tweak - Changed default "Preview Size" to medium for the Image field.
|
||||
* Fix - Fixed bug in media modal causing the primary button text to disappear after editing an image.
|
||||
* Fix - Fixed bug preventing the TinyMCE Advanced plugin from adding `< p >` tags.
|
||||
* Fix - Fixed bug where HTML choices were not visible in conditional logic dropdown.
|
||||
* Fix - Fixed bug causing incorrect order of imported/synced flexible content sub fields.
|
||||
* i18n - Updated German translation thanks to Ralf Koller.
|
||||
* i18n - Updated Persian translation thanks to Majix.
|
||||
|
||||
= 5.8.0 =
|
||||
*Release Date - 8 May 2019*
|
||||
|
||||
|
|
@ -183,369 +196,6 @@ From your WordPress dashboard
|
|||
* Dev - Reordered various actions and filters for more usefulness.
|
||||
* i18n - Updated Polish language thanks to Dariusz Zielonka
|
||||
|
||||
= 5.7.5 =
|
||||
*Release Date - 6 September 2018*
|
||||
|
||||
* Fix - Fixed bug causing multisite login redirect issues.
|
||||
* Fix - Fixed bug causing validation issues in older versions of Firefox.
|
||||
* Fix - Fixed bug causing duplicate Select2 instances when adding a widget via drag/drop.
|
||||
* Dev - Improved WPML compatibility by using `$sitepress->get_current_language()` instead of `ICL_LANGUAGE_CODE`.
|
||||
* Dev - Improved validation JS with new Validator model and logic.
|
||||
|
||||
= 5.7.4 =
|
||||
*Release Date - 30 August 2018*
|
||||
|
||||
* Fix - Fixed bug causing field groups to disappear when selecting a taxonomy term with WPML active.
|
||||
* Tweak - Added more Dark Mode styles.
|
||||
* Tweak - Improved DB upgrade prompt, functions and AJAX logic.
|
||||
* Tweak - Improved the "What's New" admin page seen after DB Upgrade.
|
||||
* Dev - Added new location rules filters.
|
||||
|
||||
= 5.7.3 =
|
||||
*Release Date - 20 August 2018*
|
||||
|
||||
* New - Added Dark Mode styles for the [Dark Mode Plugin](https://en-au.wordpress.org/plugins/dark-mode/).
|
||||
* New - Added "Value Contains" condition to the Select field type.
|
||||
* New - Added support for the WooCommerce product type dropdown to trigger "update metaboxes".
|
||||
* Tweak - Improved acf.screen model responsible for "updating metaboxes" when changing post data.
|
||||
* Tweak - Removed user fields from the multisite "Add New User" page.
|
||||
* Fix - Fixed bug preventing some tinymce customizations from working.
|
||||
* Fix - Fixed JS bug throwing "preference" error in console.
|
||||
* Dev - Added action 'acf/enqueue_uploader' triggered after the hidden "ACF Content" editor is rendered.
|
||||
|
||||
= 5.7.2 =
|
||||
*Release Date - 6 August 2018*
|
||||
|
||||
* Fix - Fixed bug preventing the Google Maps Field address from being customized.
|
||||
* Fix - Improved logic to request and cache plugin update information.
|
||||
* Fix - Fixed bug preventing JS initialization when editing widgets in accessibility mode.
|
||||
* Fix - Added missing $parent argument to term_exists() function when adding a new term via taxonomy field popup.
|
||||
* Fix - Fixed bug where nested Group Fields did not delete their values.
|
||||
* Fix - Fixed JS error thrown by localStorage if cookies are not enabled.
|
||||
* Dev - Bumped minimum WP version requirement to 4.4.
|
||||
* Dev - Added action 'wp_nav_menu_item_custom_fields' for compatibility with other plugins modifying the menu walker class.
|
||||
* Dev - Added 'multiple' to the allowed attributes for an email field.
|
||||
* Dev - Added new ACF_Ajax class for upcoming features.
|
||||
|
||||
= 5.7.1 =
|
||||
* Core: Minor fixes and improvements
|
||||
|
||||
= 5.7.0 =
|
||||
* Core: Major JavaScript updates
|
||||
* Core: Improved conditional logic with new types and more supported fields
|
||||
* Core: Improved localization and internationalization
|
||||
* Repeater field: Improved logic that remembers collapsed row states
|
||||
* Repeater field: Added support to collapse multiple rows (hold shift)
|
||||
* API: Improved lookup to find fields without a reference value
|
||||
* Language: Added Croatian translation - Thanks to Vlado Bosnjak
|
||||
* Language: Updated Italian translation - thanks to Davide Pantè
|
||||
* Language: Updated Romanian translation - thanks to Ionut Staicu
|
||||
* Language: Updated German translation - thanks to Ralf Koller
|
||||
* Language: Updated Arabic translation - thanks to Karim Ramadan
|
||||
* Language: Updated Portuguese translation - thanks to Pedro Mendonça
|
||||
|
||||
= 5.6.10 =
|
||||
* Core: Minor fixes and improvements
|
||||
|
||||
= 5.6.9 =
|
||||
* User field: Added new 'Return Format' setting (Array, Object, ID)
|
||||
* Core: Added basic compatibility with Gutenberg - values now save
|
||||
* Core: Fixed bug affecting the loading of fields on new Menu Items
|
||||
* Core: Removed private ('show_ui' => false) post types from the 'Post Type' location rule choices
|
||||
* Core: Minor fixes and improvements
|
||||
* Language: Updated French translation - thanks to Maxime Bernard-Jacquet
|
||||
|
||||
= 5.6.8 =
|
||||
* API: Fixed bug causing have_rows() to fail with PHP 7.2
|
||||
* Core: Fixed bug causing "Add new term" form to hide after submit
|
||||
* Core: Minor fixes and improvements
|
||||
* Language: Updated German translation - thanks to Ralf Koller
|
||||
* Language: Updated Portuguese translation - thanks to Pedro Mendonça
|
||||
* Language: Updated Arabic translation - thanks to Karim Ramadan
|
||||
* Language: Updated Spanish translation - thanks to Luis Rull Muñoz
|
||||
* Language: Updated Persian translation - thanks to Majix
|
||||
|
||||
= 5.6.7 =
|
||||
* Fixed an assortment of bugs found in 5.6.6
|
||||
|
||||
= 5.6.6 =
|
||||
* Accordion field: Added new field type
|
||||
* Tab field: Added logic to remember active tabs
|
||||
* WYSIWYG field: Fixed JS error in quicktags initialization
|
||||
* Core: Fixed issue preventing conditional logic for menu item fields
|
||||
* Core: Fixed issue preventing JS initialization for newly added menu items.
|
||||
* Core: Allow whitespace in input value (previously trimmed)
|
||||
* Core: Minor fixes and improvements
|
||||
* Language: Updated Italian translation - thanks to Davide Pantè
|
||||
* Language: Updated Brazilian Portuguese translation - thanks to Rafael Ribeiro
|
||||
* Language: Updated Dutch translation - thanks to Derk Oosterveld
|
||||
* Language: Updated Portuguese translation - thanks to Pedro Mendonça
|
||||
* Language: Updated Persian translation - thanks to Kamel Kimiaei
|
||||
* Language: Updated Swiss German translation - thanks to Raphael Hüni
|
||||
* Language: Updated Arabic translation - thanks to Karim Ramadan
|
||||
|
||||
= 5.6.5 =
|
||||
* API: Added new 'kses' setting to the `acf_form()` function
|
||||
* Core: Added new 'Admin Tools' framework (includes design refresh)
|
||||
* Core: Minor fixes and improvements
|
||||
* Language: Update Ukrainian translation - thanks to Jurko Chervony
|
||||
* Language: Update Russian translation - thanks to Andriy Toniyevych
|
||||
* Language: Update Hebrew translation - thanks to Itamar Megged
|
||||
|
||||
= 5.6.4 =
|
||||
* Google Map field: Fixed bug causing invalid url to JavaScript library
|
||||
* WYSIWYG field: Fixed minor z-index and drag/drop bugs
|
||||
* Group field: Fixed bug causing incorrect export settings
|
||||
* Core: Fixed bug in 'Post Taxonomy' location rule ignoring selected terms during AJAX callback
|
||||
* Core: Fixed bug preventing a draft to validate with required fields
|
||||
* Language: Updated Italian translation - thanks to Davide Pantè
|
||||
* Language: Update Turkish translation - thanks to Emre Erkan
|
||||
* Language: Updated Chinese translation - thanks to Wang Hao
|
||||
* Language: Update Hebrew translation - thanks to Itamar Megged
|
||||
|
||||
= 5.6.3 =
|
||||
* Button Group field: Added new field type
|
||||
* Range field: Added missing 'step' attribute to number input
|
||||
* Range field: Added width to number input based on max setting
|
||||
* Basic fields: Added missing 'required' attribute to inputs
|
||||
* Basic fields: Removed empty attributes from inputs
|
||||
* API: Fixed `get_fields()` bug ignoring fields starting with an underscore
|
||||
* Core: Minor fixes and improvements
|
||||
* Language: Updated Portuguese translation - thanks to Pedro Mendonça
|
||||
* Language: Updated French translation - thanks to Maxime Bernard-Jacquet
|
||||
* Language: Updated Finnish translation - thanks to Sauli Rajala
|
||||
* Language: Updated German translation - thanks to Ralf Koller
|
||||
|
||||
= 5.6.2 =
|
||||
* Range field: Added new field type
|
||||
* Clone field: Fixed bug causing value update issues for 'seamless' + widgets / nave menu items
|
||||
* Location: Added parent theme's post templates to 'post template' location rule
|
||||
* Location: Fixed bug causing 'nav menu' location rule to fail during AJAX (add new item)
|
||||
* Core: Fixed PHP errors in customizer when editing non ACF panels
|
||||
* Core: Fixed bug casing backslash character to break fields / field groups
|
||||
* Core: Many minor bug fixes
|
||||
* Language: Updated Romanian translation - thanks to Ionut Staicu
|
||||
* Language: Updated Italian translation - thanks to Davide Pantè
|
||||
* Language: Update Turkish translation - thanks to Emre Erkan
|
||||
* Language: Updated Russian translation - Thanks to Алекс Яровиков
|
||||
* Language: Updated French translation - Thanks to Julie Arrigoni
|
||||
|
||||
= 5.6.1 =
|
||||
* Fixed an assortment of bugs found in 5.6.0
|
||||
|
||||
= 5.6.0 =
|
||||
* Link field: Added new field type
|
||||
* Group field: Added new field type
|
||||
* API: Improved `have_rows()` function to work with clone and group field values
|
||||
* Core: Added new location for Menus
|
||||
* Core: Added new location for Menu Items
|
||||
* Core: Added types to Attachment location rule - thanks to Jan Thomas
|
||||
* Core: Added "Confirm Remove" tooltips
|
||||
* Core: Updated Select2 JS library to v4
|
||||
* Core: Minor fixes and improvements
|
||||
|
||||
= 5.5.14 =
|
||||
* Core: Minor bug fixes
|
||||
|
||||
= 5.5.13 =
|
||||
* Clone field: Improved 'Fields' setting to show all fields within a matching field group search
|
||||
* Flexible Content field: Fixed bug causing 'layout_title' filter to fail when field is cloned
|
||||
* Flexible Content field: Added missing 'translate_field' function
|
||||
* WYSIWYG field: Fixed JS error when using CKEditor plugin
|
||||
* Date Picker field: Improved 'Display Format' and 'Return Format' settings UI
|
||||
* Time Picker field: Same as above
|
||||
* Datetime Picker field: Same as above
|
||||
* Core: Added new 'remove_wp_meta_box' setting
|
||||
* Core: Added constants ACF, ACF_PRO, ACF_VERSION and ACF_PATH
|
||||
* Core: Improved compatibility with Select2 v4 including sortable functionality
|
||||
* Language: Updated Portuguese translation - thanks to Pedro Mendonça
|
||||
|
||||
= 5.5.12 =
|
||||
* Tab field: Allowed HTML within field label to show in tab
|
||||
* Core: Improved plugin update class
|
||||
* Language: Updated Portuguese translation - thanks to Pedro Mendonça
|
||||
* Language: Updated Brazilian Portuguese translation - thanks to Rafael Ribeiro
|
||||
|
||||
= 5.5.11 =
|
||||
* Google Map field: Added new 'google_map_init' JS action
|
||||
* Core: Minor fixes and improvements
|
||||
* Language: Updated Swiss German translation - thanks to Raphael Hüni
|
||||
* Language: Updated French translation - thanks to Maxime Bernard-Jacquet
|
||||
|
||||
= 5.5.10 =
|
||||
* API: Added new functionality to the `acf_form()` function:
|
||||
* - added new 'html_updated_message' setting
|
||||
* - added new 'html_submit_button' setting
|
||||
* - added new 'html_submit_spinner' setting
|
||||
* - added new 'acf/pre_submit_form' filter run when form is successfully submit (before saving $_POST)
|
||||
* - added new 'acf/submit_form' action run when form is successfully submit (after saving $_POST)
|
||||
* - added new '%post_id%' replace string to the 'return' setting
|
||||
* - added new encryption logic to prevent $_POST exploits
|
||||
* - added new `acf_register_form()` function
|
||||
* Core: Fixed bug preventing values being loaded on a new post/page preview
|
||||
* Core: Fixed missing 'Bulk Actions' dropdown on sync screen when no field groups exist
|
||||
* Core: Fixed bug ignoring PHP field groups if exists in JSON
|
||||
* Core: Minor fixes and improvements
|
||||
|
||||
= 5.5.9 =
|
||||
* Core: Fixed bug causing ACF4 PHP field groups to be ignored if missing ‘key’ setting
|
||||
|
||||
= 5.5.8 =
|
||||
* Flexible Content: Added logic to better 'clean up' data when re-ordering layouts
|
||||
* oEmbed field: Fixed bug causing incorrect width and height settings in embed HTML
|
||||
* Core: Fixed bug causing incorrect Select2 CSS version loading for WooCommerce 2.7
|
||||
* Core: Fixed bug preventing 'min-height' style being applied to floating width fields
|
||||
* Core: Added new JS 'init' actions for wysiwyg, date, datetime, time and select2 fields
|
||||
* Core: Minor fixes and improvements
|
||||
|
||||
= 5.5.7 =
|
||||
* Core: Fixed bug causing `get_field()` to return incorrect data for sub fields registered via PHP code.
|
||||
|
||||
= 5.5.6 =
|
||||
* Core: Fixed bug causing license key to be ignored after changing url from http to https
|
||||
* Core: Fixed Select2 (v4) bug where 'allow null' setting would not correctly save empty value
|
||||
* Core: Added new 'acf/validate_field' filter
|
||||
* Core: Added new 'acf/validate_field_group' filter
|
||||
* Core: Added new 'acf/validate_post_id' filter
|
||||
* Core: Added new 'row_index_offset' setting
|
||||
* Core: Fixed bug causing value loading issues for a taxonomy term in WP < 4.4
|
||||
* Core: Minor fixes and improvements
|
||||
|
||||
= 5.5.5 =
|
||||
* File field: Fixed bug creating draft post when saving an empty value
|
||||
* Image field: Fixed bug mentioned above
|
||||
|
||||
= 5.5.4 =
|
||||
* File field: Added logic to 'connect' selected attachment to post (only if attachment is not 'connected')
|
||||
* File field: Removed `filesize()` call causing performance issues with externally hosted attachments
|
||||
* File field: Added AJAX validation to 'basic' uploader
|
||||
* Image field: Added 'connect' logic mentioned above
|
||||
* Image field: Added AJAX validation mentioned above
|
||||
* True false field: Improved usability by allowing 'tab' key to focus element (use space or arrow keys to toggle)
|
||||
* Gallery field: Fixed bug causing unsaved changes in sidebar to be lost when selecting another attachment
|
||||
* API: Fixed `add_row()` and `add_sub_row()` return values (from true to new row index)
|
||||
* Core: Improved `get_posts()` query speeds by setting 'update_cache' settings to false
|
||||
* Core: Allowed 'instruction_placement' setting on 'widget' forms (previously set always to 'below fields')
|
||||
* Core: Removed 'ACF PRO invalid license nag' and will include fix for 'protocol change' in next release
|
||||
* Language: Updated French translation - thanks to Martial Parfait
|
||||
|
||||
= 5.5.3 =
|
||||
* Options page: Fixed bug when using WPML in multiple tabs causing incorrect 'lang' to be used during save.
|
||||
* Core: Added support with new `get_user_locale()` setting in WP 4.7
|
||||
* Core: Improved efficiency of termmeta DB upgrade logic
|
||||
* Core: Minor fixes and improvements
|
||||
|
||||
= 5.5.2 =
|
||||
* Tab field: Fixed bug causing value loading issues for field's with the same name
|
||||
* Repeater field: Fixed bug in 'collapsed' setting where field key was shown instead of field label
|
||||
|
||||
= 5.5.1 =
|
||||
* Select field: Fixed bug preventing some field settings from being selected
|
||||
* Date picker field: Improved compatibility with customized values
|
||||
* Core: Added new 'enqueue_datepicker' setting which can be used to prevent the library from being enqueued
|
||||
* Core: Added new 'enqueue_datetimepicker' setting which can be used to prevent the library from being enqueued
|
||||
* Core: Minor fixes and improvements
|
||||
|
||||
= 5.5.0 =
|
||||
* True False field: Added new 'ui' setting which renders as a toggle switch
|
||||
* WYSIWYG field: Added new 'delay' setting which delays tinymce initialization until the field is clicked
|
||||
* WYSIWYG field: Added compatibility for WP 4.7 toolbar buttons order
|
||||
* Checkbox field: Added new 'allow_custom' and 'save_custom' settings allowing you to add custom choices
|
||||
* Select field: Fixed bug where Select2 fields did not correctly use the ‘allow null’ setting
|
||||
* Clone field: Fixed bug causing save/load issues found when 2 sub fields clone in the same field/group.
|
||||
* Flexible Content field: Improved popup style and validation messages
|
||||
* Google Map field: Prevent scroll zoom
|
||||
* Date picker field: Added better compatibility logic for custom 'date_format' setting found in version < 5.0.0
|
||||
* API: acf_form() 'id' setting is now used as 'id' attribute in <form> element
|
||||
* Options page: Fixed incorrect redirect URL from a sub options page
|
||||
* Field group: Added new 'post_template' location rule (requires WP 4.7)
|
||||
* Core: Added support for the wp_termmeta table (includes DB upgrade)
|
||||
* Core: Added new 'select_2_version' setting which can be changed between 3 and 4
|
||||
* Core: Added new 'enqueue_select2' setting which can be used to prevent the library from being enqueued
|
||||
* Core: Added new 'enqueue_google_maps' setting which can be used to prevent the library from being enqueued
|
||||
* Core: Minor fixes and improvements
|
||||
* Language: Updated Portuguese translation - thanks to Pedro Mendonça
|
||||
* Language: Updated Norwegian translation - thanks to Havard Grimelid
|
||||
* Language: Updated Swedish translation - thanks to Jonathan de Jong
|
||||
* Language: Updated German translation - thanks to Ralf Koller
|
||||
* Language: Updated Italian translation - thanks to Davide Pantè
|
||||
* Language: Updated Swiss German translation - thanks to Raphael Hüni
|
||||
|
||||
= 5.4.8 =
|
||||
* Flexible Content field: Fixed bug in 'layout_title' filter preventing values being loaded correctly
|
||||
|
||||
= 5.4.7 =
|
||||
* Time Picker field: Fixed bug preventing default time from being selected
|
||||
* Date Picker field: Improved compatibility with unix timestamp values
|
||||
* File field: Fixed validation bugs when used as a sub field (multiple selection)
|
||||
* Select field: Fixed bug incorrectly allowing a disabled field (hidden by conditional logic) to save values
|
||||
* API: Added new `add_sub_row()` function
|
||||
* API: Added new `update_sub_row()` function
|
||||
* API: Added new `delete_sub_row()` function
|
||||
* Core: Fixed bug causing 'sync' issues with sub clone fields
|
||||
* Core: Minor fixes and improvements
|
||||
|
||||
= 5.4.6 =
|
||||
* Gallery field: Fixed bug where open sidebar fields were saved to post
|
||||
* Flexible Content field: Fixed bug causing Google map render issue within collapsed layout
|
||||
* Flexible Content field: Fixed bug during 'duplicate layout' where radio input values were lost
|
||||
* API: Fixed bug causing `get_row(true)` to return incorrect values
|
||||
* Core: Fixed bug where preview values did not load for a draft post
|
||||
* Core: Added notice when PRO license fails to validate URL
|
||||
* Core: Fixed bug where conditional logic would incorrectly enable select elements
|
||||
* Core: Minor fixes and improvements
|
||||
|
||||
= 5.4.5 =
|
||||
* API: Fixed bug in `acf_form()` where AJAX validation ignored 'post_title'
|
||||
* API: Improved `update_field()` when saving a new value (when reference value does not yet exist)
|
||||
* Core: Added search input & toggle to admin field groups list
|
||||
* Core: Fixed bug where preview values did not load for a draft post
|
||||
|
||||
= 5.4.4 =
|
||||
* WYSIWYG field: Fixed JS error when 'Disable the visual editor when writing' is checked
|
||||
|
||||
= 5.4.3 =
|
||||
* WYSIWYG field: Fixed JS bug (since WP 4.6) causing conflicts with editor plugins
|
||||
* Google Maps field: Fixed JS error conflict with Divi theme
|
||||
* Radio field: Fixed bug (Chrome only) ignoring default values in cloned sub fields
|
||||
* Core: Fixed `wp_get_sites()` deprecated error (since WP 4.6) shown in network admin
|
||||
|
||||
= 5.4.2 =
|
||||
* API: Fixed bug preventing post_title and post_content values saving in `acf_form()`
|
||||
|
||||
= 5.4.1 =
|
||||
* API: Fixed bug causing `get_fields('options')` to return false
|
||||
* Core: Fixed bug causing `get_current_screen()` to throw PHP error
|
||||
* Core: Fixed bug causing 'Preview Post' to load empty field values
|
||||
|
||||
= 5.4.0 =
|
||||
* Clone field: Added new field type (https://www.advancedcustomfields.com/resources/clone/)
|
||||
* Gallery field: Removed 'Preview Size' setting and improved UI
|
||||
* Taxonomy field: Added compatibility to save/load terms to user object
|
||||
* Select field: Added new 'Return Format' setting
|
||||
* Radio field: Added new 'Return Format' setting
|
||||
* Checkbox field: Added new 'Return Format' setting
|
||||
* Page link field: Added new 'Allow Archives URLs' setting
|
||||
* Core: Fixed plugin update bug delaying updates
|
||||
* Core: Fixed bug when editing field settings in Chrome causing required setting to self toggle
|
||||
* Core: Improved speed and fixed bugs when creating and restoring revisions
|
||||
* Core: Minor fixes and improvements
|
||||
* Language: Updated Portuguese translation - thanks to Pedro Mendonça
|
||||
* Language: Updated Brazilian Portuguese translation - thanks to Augusto Simão
|
||||
* Language: Updated Dutch translation - thanks to Derk Oosterveld
|
||||
* Language: Updated Persian translation - thanks to Kamel
|
||||
* Language: Updated German translation - thanks to Ralf Koller
|
||||
* Language: Updated Swiss German translation - thanks to Raphael Hüni
|
||||
|
||||
View full changelog: https://www.advancedcustomfields.com/changelog/
|
||||
[View the full changelog](https://www.advancedcustomfields.com/changelog/)
|
||||
|
||||
== Upgrade Notice ==
|
||||
|
||||
= 5.2.7 =
|
||||
* Field class names have changed slightly in v5.2.7 from `field_type-{$type}` to `acf-field-{$type}`. This change was introduced to better optimize JS performance. The previous class names can be added back in with the following filter: https://www.advancedcustomfields.com/resources/acfcompatibility/
|
||||
|
||||
= 3.0.0 =
|
||||
* Editor is broken in WordPress 3.3
|
||||
|
||||
= 2.1.4 =
|
||||
* Adds post_id column back into acf_values
|
||||
Loading…
Reference in New Issue