5.11.4
This commit is contained in:
parent
b66e34f42f
commit
e18782a91e
4
acf.php
4
acf.php
|
|
@ -3,7 +3,7 @@
|
|||
Plugin Name: Advanced Custom Fields PRO
|
||||
Plugin URI: https://www.advancedcustomfields.com
|
||||
Description: Customize WordPress with powerful, professional and intuitive fields.
|
||||
Version: 5.11.1
|
||||
Version: 5.11.4
|
||||
Author: Delicious Brains
|
||||
Author URI: https://www.advancedcustomfields.com
|
||||
Text Domain: acf
|
||||
|
|
@ -19,7 +19,7 @@ if ( ! class_exists( 'ACF' ) ) :
|
|||
class ACF {
|
||||
|
||||
/** @var string The plugin version number. */
|
||||
var $version = '5.11.1';
|
||||
var $version = '5.11.4';
|
||||
|
||||
/** @var array The plugin settings array. */
|
||||
var $settings = array();
|
||||
|
|
|
|||
|
|
@ -650,6 +650,9 @@ html[dir=rtl] .select2-container.-acf .select2-choice .select2-arrow {
|
|||
.select2-container.-acf li {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.select2-container.-acf[data-select2-id^=select2-data] .select2-selection--multiple {
|
||||
overflow: hidden;
|
||||
}
|
||||
.select2-container.-acf .select2-selection {
|
||||
border-color: #7e8993;
|
||||
}
|
||||
|
|
@ -665,6 +668,14 @@ html[dir=rtl] .select2-container.-acf .select2-choice .select2-arrow {
|
|||
.select2-container.-acf .select2-selection--multiple .select2-selection__rendered {
|
||||
padding-right: 0;
|
||||
}
|
||||
.select2-container.-acf .select2-selection--multiple .select2-selection__rendered[id^=select2-acf-field] {
|
||||
display: inline;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
.select2-container.-acf .select2-selection--multiple .select2-selection__rendered[id^=select2-acf-field] .select2-selection__choice {
|
||||
margin-right: 0;
|
||||
}
|
||||
.select2-container.-acf .select2-selection--multiple .select2-selection__choice {
|
||||
background-color: #f7f7f7;
|
||||
border-color: #cccccc;
|
||||
|
|
@ -682,6 +693,11 @@ html[dir=rtl] .select2-container.-acf .select2-choice .select2-arrow {
|
|||
.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-helper span {
|
||||
visibility: hidden;
|
||||
}
|
||||
.select2-container.-acf .select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove {
|
||||
position: static;
|
||||
border-right: none;
|
||||
padding: 0;
|
||||
}
|
||||
.select2-container.-acf .select2-selection--multiple .select2-selection__choice.ui-sortable-placeholder {
|
||||
background-color: #f7f7f7;
|
||||
border-color: #f7f7f7;
|
||||
|
|
@ -698,6 +714,10 @@ html[dir=rtl] .select2-container.-acf .select2-choice .select2-arrow {
|
|||
white-space: normal;
|
||||
}
|
||||
|
||||
.select2-dropdown .select2-results__option {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.select2-container .select2-dropdown {
|
||||
z-index: 900000;
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -4722,10 +4722,10 @@
|
|||
return data;
|
||||
}
|
||||
|
||||
const $query_nonce = $(`#acf-${field.get('key')}-query-nonce`);
|
||||
const query_nonce = field.get('queryNonce');
|
||||
|
||||
if ($query_nonce.length) {
|
||||
data.user_query_nonce = $query_nonce.val();
|
||||
if (query_nonce && query_nonce.length) {
|
||||
data.user_query_nonce = query_nonce;
|
||||
}
|
||||
|
||||
return data;
|
||||
|
|
@ -7782,7 +7782,7 @@
|
|||
if ($(this).data('data')) {
|
||||
var $option = $($(this).data('data').element);
|
||||
} else {
|
||||
var $option = $($(this).children('span.acf-selection').data('element'));
|
||||
var $option = $($(this).find('span.acf-selection').data('element'));
|
||||
} // detach and re-append to end
|
||||
|
||||
|
||||
|
|
@ -7796,9 +7796,13 @@
|
|||
$select.on('select2:select', this.proxy(function (e) {
|
||||
this.getOption(e.params.data.id).detach().appendTo(this.$el);
|
||||
}));
|
||||
} // add class
|
||||
} // add handler to auto-focus searchbox (for jQuery 3.6)
|
||||
|
||||
|
||||
$select.on('select2:open', () => {
|
||||
$('.select2-container--open .select2-search__field').get(-1).focus();
|
||||
}); // add class
|
||||
|
||||
$container.addClass('-acf'); // Add back temporarily removed attr.
|
||||
|
||||
if (attrAjax !== undefined) {
|
||||
|
|
@ -7999,7 +8003,10 @@
|
|||
var params = {
|
||||
term: term,
|
||||
page: page
|
||||
}; // return
|
||||
}; // filter
|
||||
|
||||
var field = this.get('field');
|
||||
params = acf.applyFilters('select2_ajax_data', params, this.data, this.$el, field || false, this); // return
|
||||
|
||||
return Select2.prototype.getAjaxData.apply(this, [params]);
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -65,7 +65,9 @@
|
|||
*/
|
||||
|
||||
|
||||
function doAction() {
|
||||
function
|
||||
/* action, arg1, arg2, ... */
|
||||
doAction() {
|
||||
var args = Array.prototype.slice.call(arguments);
|
||||
var action = args.shift();
|
||||
|
||||
|
|
@ -115,7 +117,9 @@
|
|||
*/
|
||||
|
||||
|
||||
function applyFilters() {
|
||||
function
|
||||
/* filter, filtered arg, arg2, ... */
|
||||
applyFilters() {
|
||||
var args = Array.prototype.slice.call(arguments);
|
||||
var filter = args.shift();
|
||||
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1000,7 +1000,8 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|||
$el
|
||||
} = this.state; // Callback for updating block data.
|
||||
|
||||
function serializeData(silent = false) {
|
||||
function serializeData() {
|
||||
let silent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
||||
const data = acf.serialize($el, `acf-${attributes.id}`);
|
||||
|
||||
if (silent) {
|
||||
|
|
@ -1050,7 +1051,8 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|||
|
||||
}
|
||||
|
||||
fetch(args = {}) {
|
||||
fetch() {
|
||||
let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
||||
const {
|
||||
attributes = this.props.attributes,
|
||||
delay = 0
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -76,9 +76,10 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|||
*/
|
||||
|
||||
|
||||
function isNewBlock({
|
||||
attributes
|
||||
}) {
|
||||
function isNewBlock(_ref) {
|
||||
let {
|
||||
attributes
|
||||
} = _ref;
|
||||
return !attributes.id;
|
||||
}
|
||||
/**
|
||||
|
|
@ -93,10 +94,11 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|||
*/
|
||||
|
||||
|
||||
function isDuplicateBlock({
|
||||
attributes,
|
||||
clientId
|
||||
}) {
|
||||
function isDuplicateBlock(_ref2) {
|
||||
let {
|
||||
attributes,
|
||||
clientId
|
||||
} = _ref2;
|
||||
return getBlocks().filter(block => block.attributes.id === attributes.id).filter(block => block.clientId !== clientId).length;
|
||||
}
|
||||
/**
|
||||
|
|
@ -138,9 +140,12 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|||
} // Check category exists and fallback to "common".
|
||||
|
||||
|
||||
const category = wp.blocks.getCategories().filter(({
|
||||
slug
|
||||
}) => slug === blockType.category).pop();
|
||||
const category = wp.blocks.getCategories().filter(_ref3 => {
|
||||
let {
|
||||
slug
|
||||
} = _ref3;
|
||||
return slug === blockType.category;
|
||||
}).pop();
|
||||
|
||||
if (!category) {
|
||||
//console.warn( `The block "${blockType.name}" is registered with an unknown category "${blockType.category}".` );
|
||||
|
|
@ -271,9 +276,12 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|||
|
||||
|
||||
for (const k in args) {
|
||||
blocks = blocks.filter(({
|
||||
attributes
|
||||
}) => attributes[k] === args[k]);
|
||||
blocks = blocks.filter(_ref4 => {
|
||||
let {
|
||||
attributes
|
||||
} = _ref4;
|
||||
return attributes[k] === args[k];
|
||||
});
|
||||
} // Return results.
|
||||
|
||||
|
||||
|
|
@ -385,10 +393,11 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|||
|
||||
|
||||
const nodeAttrs = {};
|
||||
acf.arrayArgs(node.attributes).map(parseNodeAttr).forEach(({
|
||||
name,
|
||||
value
|
||||
}) => {
|
||||
acf.arrayArgs(node.attributes).map(parseNodeAttr).forEach(_ref5 => {
|
||||
let {
|
||||
name,
|
||||
value
|
||||
} = _ref5;
|
||||
nodeAttrs[name] = value;
|
||||
}); // Define args for React.createElement().
|
||||
|
||||
|
|
@ -861,11 +870,14 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|||
}, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)(Placeholder, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_1__.createElement)(Spinner, null)));
|
||||
}
|
||||
|
||||
shouldComponentUpdate({
|
||||
index
|
||||
}, {
|
||||
html
|
||||
}) {
|
||||
shouldComponentUpdate(_ref6, _ref7) {
|
||||
let {
|
||||
index
|
||||
} = _ref6;
|
||||
let {
|
||||
html
|
||||
} = _ref7;
|
||||
|
||||
if (index !== this.props.index) {
|
||||
this.componentWillMove();
|
||||
}
|
||||
|
|
@ -963,9 +975,10 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|||
|
||||
|
||||
class BlockForm extends DynamicHTML {
|
||||
setup({
|
||||
attributes
|
||||
}) {
|
||||
setup(_ref8) {
|
||||
let {
|
||||
attributes
|
||||
} = _ref8;
|
||||
this.id = `BlockForm-${attributes.id}`;
|
||||
}
|
||||
|
||||
|
|
@ -987,9 +1000,10 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|||
query: {
|
||||
form: true
|
||||
}
|
||||
}).done(({
|
||||
data
|
||||
}) => {
|
||||
}).done(_ref9 => {
|
||||
let {
|
||||
data
|
||||
} = _ref9;
|
||||
this.setHtml(data.form);
|
||||
});
|
||||
}
|
||||
|
|
@ -1006,7 +1020,8 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|||
$el
|
||||
} = this.state; // Callback for updating block data.
|
||||
|
||||
function serializeData(silent = false) {
|
||||
function serializeData() {
|
||||
let silent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
||||
const data = acf.serialize($el, `acf-${attributes.id}`); //console.log('serializeData', props, data);
|
||||
|
||||
if (silent) {
|
||||
|
|
@ -1046,10 +1061,11 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|||
|
||||
|
||||
class BlockPreview extends DynamicHTML {
|
||||
setup({
|
||||
attributes,
|
||||
name
|
||||
}) {
|
||||
setup(_ref10) {
|
||||
let {
|
||||
attributes,
|
||||
name
|
||||
} = _ref10;
|
||||
this.id = `BlockPreview-${attributes.id}`;
|
||||
const blockType = getBlockType(name);
|
||||
|
||||
|
|
@ -1059,7 +1075,8 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|||
|
||||
}
|
||||
|
||||
fetch(args = {}) {
|
||||
fetch() {
|
||||
let args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
||||
const {
|
||||
attributes = this.props.attributes,
|
||||
delay = 0
|
||||
|
|
@ -1082,9 +1099,10 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|||
preview: true
|
||||
},
|
||||
delay
|
||||
}).done(({
|
||||
data
|
||||
}) => {
|
||||
}).done(_ref11 => {
|
||||
let {
|
||||
data
|
||||
} = _ref11;
|
||||
this.setHtml(data.preview);
|
||||
});
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -367,8 +367,6 @@ function acf_idify( $str = '' ) {
|
|||
}
|
||||
|
||||
/**
|
||||
* acf_slugify
|
||||
*
|
||||
* Returns a slug friendly string.
|
||||
*
|
||||
* @date 24/12/17
|
||||
|
|
@ -379,7 +377,20 @@ function acf_idify( $str = '' ) {
|
|||
* @return string
|
||||
*/
|
||||
function acf_slugify( $str = '', $glue = '-' ) {
|
||||
return str_replace( array( '_', '-', '/', ' ' ), $glue, strtolower( $str ) );
|
||||
$raw = $str;
|
||||
$slug = str_replace( array( '_', '-', '/', ' ' ), $glue, strtolower( remove_accents( $raw ) ) );
|
||||
$slug = preg_replace( "/[^A-Za-z0-9" . preg_quote( $glue ) . "]/", '', $slug );
|
||||
|
||||
/**
|
||||
* Filters the slug created by acf_slugify().
|
||||
*
|
||||
* @since 5.11.4
|
||||
*
|
||||
* @param string $slug The newly created slug.
|
||||
* @param string $raw The original string.
|
||||
* @param string $glue The separator used to join the string into a slug.
|
||||
*/
|
||||
return apply_filters( 'acf/slugify', $slug, $raw, $glue );
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -60,57 +60,29 @@ function acf_get_value( $post_id, $field ) {
|
|||
// Get field name.
|
||||
$field_name = $field['name'];
|
||||
|
||||
// If we still don't have a proper field array, the field doesn't exist currently.
|
||||
if ( empty( $field['type'] ) && empty( $field['key'] ) ) {
|
||||
// Get field ID & type.
|
||||
$decoded = acf_decode_post_id( $post_id );
|
||||
|
||||
if ( apply_filters( 'acf/prevent_access_to_unknown_fields', false ) || ( 'option' === $decoded['type'] && 'options' !== $decoded['id'] ) ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
do_action( 'acf/get_invalid_field_value', $field, __FUNCTION__ );
|
||||
}
|
||||
|
||||
// Check store.
|
||||
$store = acf_get_store( 'values' );
|
||||
if ( $store->has( "$post_id:$field_name" ) ) {
|
||||
return $store->get( "$post_id:$field_name" );
|
||||
}
|
||||
|
||||
/**
|
||||
* If we still don't have a field, try a last-ditch effort to get it by name.
|
||||
* We don't do this by default in `get_field()`, which uses "strict" mode internally
|
||||
* to protect against multiple fields with same name.
|
||||
*/
|
||||
$strict = true;
|
||||
$_field = $field;
|
||||
|
||||
if ( empty( $field['type'] ) && empty( $field['key'] ) ) {
|
||||
$field = acf_get_field( $field_name );
|
||||
$strict = false;
|
||||
}
|
||||
|
||||
// At least we tried.
|
||||
if ( ! $field ) {
|
||||
// If ACF was initialized before init, show a notice and log the error unless told otherwise.
|
||||
if ( ! did_action( 'init' ) && apply_filters( 'acf/admin/show_early_init_notice', true ) ) {
|
||||
$error_text = sprintf(
|
||||
__( '<strong>%1$s</strong> - We\'ve detected one or more calls to retrieve ACF field values before ACF has been initialized, resulting in missing data. <a href="%2$s" target="_blank">Learn how to fix this</a>.', 'acf'),
|
||||
acf_get_setting( 'name' ),
|
||||
'https://www.advancedcustomfields.com/resources/acf-field-functions/'
|
||||
);
|
||||
|
||||
_doing_it_wrong( __FUNCTION__, $error_text, '5.11.1' );
|
||||
set_site_transient( 'acf_early_init_notice', $error_text );
|
||||
}
|
||||
|
||||
/**
|
||||
* Filters the $value after it has been loaded.
|
||||
*
|
||||
* @date 28/09/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param mixed $value The value to preview.
|
||||
* @param string $post_id The post ID for this value.
|
||||
* @param array $field The field array.
|
||||
*/
|
||||
return apply_filters( 'acf/load_value', null, $post_id, $_field );
|
||||
}
|
||||
|
||||
// Load value from database.
|
||||
$value = acf_get_metadata( $post_id, $field_name );
|
||||
|
||||
// Use field's default_value if no meta was found.
|
||||
if ( $value === null && isset( $field['default_value'] ) && $strict ) {
|
||||
if ( $value === null && isset( $field['default_value'] ) ) {
|
||||
$value = $field['default_value'];
|
||||
}
|
||||
|
||||
|
|
@ -362,3 +334,26 @@ function acf_preview_value( $value, $post_id, $field ) {
|
|||
|
||||
// Register variation.
|
||||
acf_add_filter_variations( 'acf/preview_value', array( 'type', 'name', 'key' ), 2 );
|
||||
|
||||
/**
|
||||
* Potentially log an error if a field doesn't exist when we expect it to.
|
||||
*
|
||||
* @param array $field An array representing the field that a value was requested for.
|
||||
* @param string $function The function that noticed the problem.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function acf_log_invalid_field_notice( $field, $function ) {
|
||||
// If "init" has fired, ACF probably wasn't initialized early.
|
||||
if ( did_action( 'init' ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
$error_text = sprintf(
|
||||
__( '<strong>%1$s</strong> - We\'ve detected one or more calls to retrieve ACF field values before ACF has been initialized. This is not supported and can result in malformed or missing data. <a href="%2$s" target="_blank">Learn how to fix this</a>.', 'acf' ),
|
||||
acf_get_setting( 'name' ),
|
||||
'https://www.advancedcustomfields.com/resources/acf-field-functions/'
|
||||
);
|
||||
_doing_it_wrong( $function, $error_text, '5.11.1' );
|
||||
}
|
||||
add_action( 'acf/get_invalid_field_value', 'acf_log_invalid_field_notice', 10, 2 );
|
||||
|
|
|
|||
|
|
@ -178,6 +178,7 @@ function acf_decode_post_id( $post_id = 0 ) {
|
|||
$id = absint( $id );
|
||||
break;
|
||||
case 'block_%s':
|
||||
case 'block_%d':
|
||||
$type = 'block';
|
||||
$id = $post_id;
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@ if ( ! class_exists( 'ACF_Admin' ) ) :
|
|||
add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
|
||||
add_action( 'admin_body_class', array( $this, 'admin_body_class' ) );
|
||||
add_action( 'current_screen', array( $this, 'current_screen' ) );
|
||||
add_action( 'admin_init', array( $this, 'maybe_show_early_init_notice' ) );
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -202,26 +201,6 @@ if ( ! class_exists( 'ACF_Admin' ) ) :
|
|||
return preg_replace( '/(<a[\S\s]+?\/a>)/', '$1 ' . __( 'and', 'acf' ) . ' <a href="https://www.advancedcustomfields.com" target="_blank">ACF</a>', $text, 1 );
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays the notice that can be shown when calling `get_field()`, etc. before `acf/init`.
|
||||
*
|
||||
* @since 5.11.1
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function maybe_show_early_init_notice() {
|
||||
if ( ! acf_get_setting( 'show_admin' ) || ! acf_current_user_can_admin() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
$notice = get_site_transient( 'acf_early_init_notice' );
|
||||
if ( ! $notice ) {
|
||||
return;
|
||||
}
|
||||
|
||||
acf_add_admin_notice( (string) $notice, 'warning', false );
|
||||
delete_site_transient( 'acf_early_init_notice' );
|
||||
}
|
||||
}
|
||||
|
||||
// Instantiate.
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ if ( ! class_exists( 'ACF_Ajax_Check_Screen' ) ) :
|
|||
'key' => $field_group['key'],
|
||||
'title' => $field_group['title'],
|
||||
'position' => $field_group['position'],
|
||||
'classes' => postbox_classes( $item['id'], $args['screen'] ),
|
||||
'classes' => postbox_classes( 'acf-' . $field_group['key'], $args['screen'] ),
|
||||
'style' => $field_group['style'],
|
||||
'label' => $field_group['label_placement'],
|
||||
'edit' => acf_get_field_group_edit_link( $field_group['ID'] ),
|
||||
|
|
|
|||
|
|
@ -859,7 +859,8 @@ function get_row_layout() {
|
|||
*/
|
||||
function acf_shortcode( $atts ) {
|
||||
// Mitigate issue where some AJAX requests can return ACF field data.
|
||||
if ( wp_doing_ajax() && ! current_user_can( 'edit_posts' ) ) {
|
||||
$capability = apply_filters( 'acf/ajax/shortcode_capability', 'edit_posts' );
|
||||
if ( wp_doing_ajax() && ( $capability !== false ) && ! current_user_can( $capability ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -873,9 +874,21 @@ function acf_shortcode( $atts ) {
|
|||
'acf'
|
||||
);
|
||||
|
||||
// get value and return it
|
||||
$access_already_prevented = apply_filters( 'acf/prevent_access_to_unknown_fields', false );
|
||||
$filter_applied = false;
|
||||
|
||||
if ( ! $access_already_prevented ) {
|
||||
$filter_applied = true;
|
||||
add_filter( 'acf/prevent_access_to_unknown_fields', '__return_true' );
|
||||
}
|
||||
|
||||
// Try to get the field value.
|
||||
$value = get_field( $atts['field'], $atts['post_id'], $atts['format_value'] );
|
||||
|
||||
if ( $filter_applied ) {
|
||||
remove_filter( 'acf/prevent_access_to_unknown_fields', '__return_true' );
|
||||
}
|
||||
|
||||
if ( is_array( $value ) ) {
|
||||
$value = @implode( ', ', $value );
|
||||
}
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ if ( ! class_exists( 'acf_field_select' ) ) :
|
|||
|
||||
function input_admin_enqueue_scripts() {
|
||||
|
||||
// bail ealry if no enqueue
|
||||
// bail early if no enqueue
|
||||
if ( ! acf_get_setting( 'enqueue_select2' ) ) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -83,7 +83,7 @@ if ( ! class_exists( 'acf_field_select' ) ) :
|
|||
// v4
|
||||
if ( $major == 4 ) {
|
||||
|
||||
$version = '4.0';
|
||||
$version = '4.0.13';
|
||||
$script = acf_get_url( "assets/inc/select2/4/select2.full{$min}.js" );
|
||||
$style = acf_get_url( "assets/inc/select2/4/select2{$min}.css" );
|
||||
|
||||
|
|
@ -325,12 +325,7 @@ if ( ! class_exists( 'acf_field_select' ) ) :
|
|||
}
|
||||
|
||||
if ( ! empty( $field['query_nonce'] ) ) {
|
||||
acf_hidden_input(
|
||||
array(
|
||||
'id' => 'acf-' . $field['key'] . '-query-nonce',
|
||||
'value' => $field['query_nonce']
|
||||
)
|
||||
);
|
||||
$select['data-query-nonce'] = $field['query_nonce'];
|
||||
}
|
||||
|
||||
// append
|
||||
|
|
|
|||
25
readme.txt
25
readme.txt
|
|
@ -4,7 +4,7 @@ Tags: acf, fields, custom fields, meta, repeater
|
|||
Requires at least: 4.7
|
||||
Tested up to: 5.8.1
|
||||
Requires PHP: 5.6
|
||||
Stable tag: 5.11.1
|
||||
Stable tag: 5.11.4
|
||||
License: GPLv2 or later
|
||||
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
||||
|
||||
|
|
@ -76,6 +76,29 @@ From your WordPress dashboard
|
|||
|
||||
== Changelog ==
|
||||
|
||||
= 5.11.4 =
|
||||
*Release Date - 2nd December 2021*
|
||||
|
||||
* Fix - Fixed several Select2.js conflicts with other plugins
|
||||
* Fix - Fixed an issue where block name sanitization could change valid block names containing double hyphens
|
||||
* Fix - Fixed an issue where blocks with integer IDs could fail to load example field data
|
||||
|
||||
= 5.11.3 =
|
||||
*Release Date - 24th November 2021*
|
||||
|
||||
* Fix - Fixed a bug when accessing field values for options pages registered with a custom post_id
|
||||
|
||||
= 5.11.2 =
|
||||
*Release Date - 24th November 2021*
|
||||
|
||||
* Fix - Previously implemented data access changes for get_field() and the_field() are now limited to the ACF shortcode only. [Learn more](https://www.advancedcustomfields.com/resources/acf-field-functions/)
|
||||
* Fix - get_field() and the_field() functions can once again access meta values regardless of being registered with ACF, restoring functionality that existed before 5.11
|
||||
* Fix - get_field() and the_field() functions now are only able to access site options which are ACF fields
|
||||
* Fix - UI issues for select boxes related to Yoast and WooCommerce’s select2 versions by upgrading our select2 version, and updating our CSS to support older versions
|
||||
* Fix - User fields failed to load values when using the legacy select2 v3 option
|
||||
* Fix - acf_slugify() now correctly supports special characters which solves issues with block names or field group names (during imports) containing those characters
|
||||
* Fix - PHP Notice generated while processing a field group’s postbox classes
|
||||
|
||||
= 5.11.1 =
|
||||
*Release Date - 18 November 2021*
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue