Updates to 6.3.11

This commit is contained in:
ACF 2024-12-30 13:28:49 +00:00
parent 637ca1cdaf
commit cf89855d79
219 changed files with 14551 additions and 49542 deletions

91
acf.php
View File

@ -9,10 +9,10 @@
* Plugin Name: Advanced Custom Fields PRO
* Plugin URI: https://www.advancedcustomfields.com
* Description: Customize WordPress with powerful, professional and intuitive fields.
* Version: 6.3.4
* Version: 6.3.11
* Author: WP Engine
* Author URI: https://wpengine.com/?utm_source=wordpress.org&utm_medium=referral&utm_campaign=plugin_directory&utm_content=advanced_custom_fields
* Update URI: https://www.advancedcustomfields.com/pro
* Update URI: false
* Text Domain: acf
* Domain Path: /lang
* Requires PHP: 7.4
@ -36,7 +36,7 @@ if ( ! class_exists( 'ACF' ) ) {
*
* @var string
*/
public $version = '6.3.4';
public $version = '6.3.11';
/**
* The plugin settings array.
@ -130,6 +130,7 @@ if ( ! class_exists( 'ACF' ) ) {
'enable_shortcode' => true,
'enable_bidirection' => true,
'enable_block_bindings' => true,
'enable_meta_box_cb_edit' => true,
);
// Include utility functions.
@ -227,6 +228,9 @@ if ( ! class_exists( 'ACF' ) ) {
// Include legacy.
acf_include( 'includes/legacy/legacy-locations.php' );
// Include updater.
acf_include( 'includes/Updater/Updater.php' );
// Include PRO.
acf_include( 'pro/acf-pro.php' );
@ -391,12 +395,24 @@ if ( ! class_exists( 'ACF' ) ) {
*/
do_action( 'acf/include_taxonomies', ACF_MAJOR_VERSION );
// If we're on 6.5 or newer, load block bindings. This will move to an autoloader in 6.3.
// If we're on 6.5 or newer, load block bindings. This will move to an autoloader in 6.4.
if ( version_compare( get_bloginfo( 'version' ), '6.5-beta1', '>=' ) ) {
acf_include( 'includes/Blocks/Bindings.php' );
new ACF\Blocks\Bindings();
}
// If we're ACF free, register the updater.
if ( function_exists( 'acf_is_pro' ) && ! acf_is_pro() ) {
acf_register_plugin_update(
array(
'id' => 'acf',
'slug' => acf_get_setting( 'slug' ),
'basename' => acf_get_setting( 'basename' ),
'version' => acf_get_setting( 'version' ),
)
);
}
/**
* Fires after ACF is completely "initialized".
*
@ -783,6 +799,73 @@ if ( ! class_exists( 'ACF' ) ) {
}
}
if ( ! class_exists( 'ACF_Updates' ) ) {
/**
* The main function responsible for returning the acf_updates singleton.
* Use this function like you would a global variable, except without needing to declare the global.
*
* Example: <?php $acf_updates = acf_updates(); ?>
*
* @since 5.5.12
*
* @return ACF\Updater The singleton instance of Updater.
*/
function acf_updates() {
global $acf_updates;
if ( ! isset( $acf_updates ) ) {
$acf_updates = new ACF\Updater();
}
return $acf_updates;
}
/**
* Alias of acf_updates()->add_plugin().
*
* @since 5.5.10
*
* @param array $plugin Plugin data array.
*/
function acf_register_plugin_update( $plugin ) {
acf_updates()->add_plugin( $plugin );
}
/**
* Register a dummy ACF_Updates class for back compat.
*/
class ACF_Updates {} //phpcs:ignore -- Back compat.
}
/**
* An ACF specific getter to replace `home_url` in our license checks to ensure we can avoid third party filters.
*
* @since 6.0.1
* @since 6.2.8 - Renamed to acf_pro_get_home_url to match pro exclusive function naming.
* @since 6.3.10 - Renamed to acf_get_home_url now updater logic applies to free.
*
* @return string $home_url The output from home_url, sans known third party filters which cause license activation issues.
*/
function acf_get_home_url() {
if ( acf_is_pro() ) {
// Disable WPML and TranslatePress's home url overrides for our license check.
add_filter( 'wpml_get_home_url', 'acf_pro_license_ml_intercept', 99, 2 );
add_filter( 'trp_home_url', 'acf_pro_license_ml_intercept', 99, 2 );
if ( acf_pro_is_legacy_multisite() && acf_is_multisite_sub_site() ) {
$home_url = get_home_url( get_main_site_id() );
} else {
$home_url = home_url();
}
// Re-enable WPML and TranslatePress's home url overrides.
remove_filter( 'wpml_get_home_url', 'acf_pro_license_ml_intercept', 99 );
remove_filter( 'trp_home_url', 'acf_pro_license_ml_intercept', 99 );
} else {
$home_url = home_url();
}
return $home_url;
}
/**
* The main function responsible for returning the one true acf Instance to functions everywhere.
* Use this function like you would a global variable, except without needing to declare the global.

View File

@ -1,321 +0,0 @@
/*!***************************************************************************************************************************************************************************************************************!*\
!*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./src/advanced-custom-fields-pro/assets/src/sass/acf-dark.scss ***!
\***************************************************************************************************************************************************************************************************************/
/*--------------------------------------------------------------------------------------------
*
* Dark mode
*
* WordPress plugin: https://en-au.wordpress.org/plugins/dark-mode/
* Github Documentation: https://github.com/danieltj27/Dark-Mode/wiki/Help:-Plugin-Compatibility-Guide
*
*--------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------
*
* Global
*
*---------------------------------------------------------------------------------------------*/
.acf-box {
background-color: #32373c;
border-color: #191f25;
color: #bbc8d4;
}
.acf-box .title,
.acf-box .footer {
border-color: #23282d;
}
.acf-box h2 {
color: #bbc8d4;
}
.acf-box table, .acf-box tbody, .acf-box tr {
background: transparent !important;
}
.acf-thead {
color: #bbc8d4;
border-color: #191f25;
}
.acf-tfoot {
background-color: #2d3136;
border-color: #23282d;
}
.acf-table.-clear,
.acf-table.-clear tr {
background: transparent !important;
}
.acf-loading-overlay {
background: rgba(0, 0, 0, 0.5);
}
/*---------------------------------------------------------------------------------------------
*
* Fields
*
*---------------------------------------------------------------------------------------------*/
.acf-fields > .acf-field {
border-color: #23282d;
}
.acf-fields.-left > .acf-field:before {
background: rgba(0, 0, 0, 0.1);
border-color: #23282d;
}
.acf-fields.-border {
background-color: #32373c;
border-color: #191f25;
color: #bbc8d4;
}
.acf-field[data-width] + .acf-field[data-width] {
border-color: #23282d;
}
.acf-input-prepend,
.acf-input-append {
background-color: #32373c;
border-color: #191f25;
color: #bbc8d4;
}
.acf-fields > .acf-tab-wrap {
background-color: #32373c;
border-color: #191f25;
color: #bbc8d4;
}
.acf-fields > .acf-tab-wrap .acf-tab-group {
background-color: #2d3136;
border-color: #23282d;
}
.acf-fields > .acf-tab-wrap .acf-tab-group li a {
background-color: #2d3136;
border-color: #23282d;
}
.acf-fields > .acf-tab-wrap .acf-tab-group li a:hover {
background-color: #2d3136;
border-color: #23282d;
color: #bbc8d4;
}
.acf-fields > .acf-tab-wrap .acf-tab-group li.active a {
background-color: #32373c;
border-color: #191f25;
color: #bbc8d4;
}
.acf-fields.-sidebar:before {
background-color: #2d3136;
border-color: #23282d;
}
.acf-fields.-sidebar.-left:before {
background-color: #2d3136;
border-color: #23282d;
background: #23282d;
}
.acf-fields.-sidebar.-left > .acf-tab-wrap.-left .acf-tab-group li a {
background-color: #2d3136;
border-color: #23282d;
}
.acf-fields.-sidebar.-left > .acf-tab-wrap.-left .acf-tab-group li.active a {
background-color: #2d3136;
border-color: #23282d;
}
.acf-file-uploader .show-if-value {
background-color: #32373c;
border-color: #191f25;
color: #bbc8d4;
}
.acf-file-uploader .show-if-value .file-icon {
background-color: #2d3136;
border-color: #23282d;
}
.acf-oembed {
background-color: #2d3136;
border-color: #23282d;
}
.acf-oembed .title {
background-color: #50626f;
border-color: #191f25;
color: #fff;
}
.acf-gallery {
background-color: #2d3136;
border-color: #23282d;
}
.acf-gallery .acf-gallery-main {
background: #23282d;
}
.acf-gallery .acf-gallery-attachment .margin {
background-color: #2d3136;
border-color: #23282d;
}
.acf-gallery .acf-gallery-side {
background-color: #2d3136;
border-color: #23282d;
}
.acf-gallery .acf-gallery-side .acf-gallery-side-info {
background-color: #2d3136;
border-color: #23282d;
}
.acf-gallery .acf-gallery-toolbar {
background-color: #2d3136;
border-color: #23282d;
}
.acf-button-group label:not(.selected) {
background-color: #2d3136;
border-color: #23282d;
}
.acf-switch:not(.-on) {
background-color: #2d3136;
border-color: #23282d;
}
.acf-switch:not(.-on) .acf-switch-slider {
background-color: #50626f;
border-color: #191f25;
color: #fff;
}
.acf-link .link-wrap {
background-color: #2d3136;
border-color: #23282d;
}
.acf-relationship .filters {
background-color: #32373c;
border-color: #191f25;
color: #bbc8d4;
}
.acf-relationship .selection {
background-color: #2d3136;
border-color: #23282d;
}
.acf-relationship .selection .choices,
.acf-relationship .selection .choices-list,
.acf-relationship .selection .values {
background-color: #2d3136;
border-color: #23282d;
}
.acf-taxonomy-field .categorychecklist-holder {
background-color: #2d3136;
border-color: #23282d;
}
.acf-google-map {
background-color: #2d3136;
border-color: #23282d;
}
.acf-google-map .title {
background-color: #50626f;
border-color: #191f25;
color: #fff;
}
.acf-accordion {
background-color: #32373c;
border-color: #191f25;
color: #bbc8d4;
}
.acf-field.acf-accordion .acf-accordion-content > .acf-fields {
border-color: #191f25;
}
.acf-flexible-content .layout {
background-color: #32373c;
border-color: #191f25;
color: #bbc8d4;
}
.acf-flexible-content .layout .acf-fc-layout-handle {
background-color: #2d3136;
border-color: #23282d;
}
.acf-flexible-content .layout .acf-fc-layout-handle .acf-fc-layout-order {
background-color: #32373c;
border-color: #191f25;
color: #bbc8d4;
}
#wpbody .acf-table {
background-color: #2d3136;
border-color: #23282d;
}
#wpbody .acf-table > tbody > tr,
#wpbody .acf-table > thead > tr {
background: transparent;
}
#wpbody .acf-table > tbody > tr > td,
#wpbody .acf-table > tbody > tr > th,
#wpbody .acf-table > thead > tr > td,
#wpbody .acf-table > thead > tr > th {
border-color: #191f25;
}
.acf-field select optgroup, .acf-field select optgroup:nth-child(2n) {
background: #50626f;
}
/*---------------------------------------------------------------------------------------------
*
* Field Group
*
*---------------------------------------------------------------------------------------------*/
#acf-field-group-fields .acf-field-list-wrap {
background-color: #32373c;
border-color: #191f25;
color: #bbc8d4;
}
#acf-field-group-fields .acf-field-list .no-fields-message {
background-color: #32373c;
border-color: #191f25;
color: #bbc8d4;
}
#acf-field-group-fields .acf-field-object {
background-color: #32373c;
border-color: #191f25;
color: #bbc8d4;
border-color: #23282d;
}
#acf-field-group-fields .acf-field-object table, #acf-field-group-fields .acf-field-object tbody, #acf-field-group-fields .acf-field-object tr, #acf-field-group-fields .acf-field-object td, #acf-field-group-fields .acf-field-object th {
background: transparent;
border-color: #23282d;
}
#acf-field-group-fields .acf-field-object .acf-field .acf-label {
background-color: #2d3136;
border-color: #23282d;
}
#acf-field-group-fields .acf-field-object.ui-sortable-helper {
border-color: #191f25;
box-shadow: none;
}
#acf-field-group-fields .acf-field-object.ui-sortable-placeholder {
background-color: #2d3136;
border-color: #23282d;
box-shadow: none;
}
#acf-field-group-fields .acf-field-object + .acf-field-object-tab::before,
#acf-field-group-fields .acf-field-object + .acf-field-object-accordion::before {
background-color: #2d3136;
border-color: #23282d;
}
/*---------------------------------------------------------------------------------------------
*
* Admin: Tools
*
*---------------------------------------------------------------------------------------------*/
.acf-meta-box-wrap .acf-fields {
background-color: #50626f;
border-color: #191f25;
color: #fff;
background: transparent;
}
/*# sourceMappingURL=acf-dark.css.map*/

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,162 +0,0 @@
/*!******************************************************************************************************************************************************************************************************************************!*\
!*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./src/advanced-custom-fields-pro/assets/src/sass/pro/acf-pro-field-group.scss ***!
\******************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/*--------------------------------------------------------------------------------------------
*
* Vars
*
*--------------------------------------------------------------------------------------------*/
/* colors */
/* acf-field */
/* responsive */
/*--------------------------------------------------------------------------------------------
*
* ACF 6
*
*--------------------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------------------
*
* Mixins
*
*--------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------
*
* Flexible Content
*
*---------------------------------------------------------------------------------------------*/
.acf-field-setting-fc_layout .acf-toggle-fc-layout {
width: 34px;
height: 31px;
margin: 0;
padding: 0;
border: 0;
background: transparent;
cursor: pointer;
left: 20.83%;
right: 20.83%;
top: 33.33%;
bottom: 33.33%;
}
.acf-field-setting-fc_layout .toggle-indicator::before {
z-index: -1;
content: "";
display: inline-flex;
width: 20px;
height: 20px;
margin-left: -28px;
background-color: currentColor;
border: none;
border-radius: 0;
-webkit-mask-size: contain;
mask-size: contain;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
-webkit-mask-position: center;
mask-position: center;
-webkit-mask-image: url(../../../images/icons/icon-chevron-down.svg);
mask-image: url(../../../images/icons/icon-chevron-down.svg);
}
.rtl .acf-field-setting-fc_layout .toggle-indicator::before {
margin-left: 0px;
position: absolute;
top: 9px;
z-index: 100;
left: 8px;
}
.acf-field-setting-fc_layout .toggle-indicator.open::before {
-webkit-mask-image: url(../../../images/icons/icon-chevron-up.svg);
mask-image: url(../../../images/icons/icon-chevron-up.svg);
}
.acf-field-setting-fc_layout .toggle-indicator.closed::before {
-webkit-mask-image: url(../../../images/icons/icon-chevron-down.svg);
mask-image: url(../../../images/icons/icon-chevron-down.svg);
}
.acf-field-setting-fc_layout .acf-flexible-content-field-label-name {
padding-left: 5px;
}
.acf-field-setting-fc_layout .acf-fc-meta {
margin: 0 0 10px;
padding: 0;
}
.acf-field-setting-fc_layout .acf-fc-meta li {
margin: 0 0 10px;
padding: 0;
}
.acf-field-setting-fc_layout .acf-fc-meta .acf-fc-meta-display {
float: left;
width: 100%;
padding-right: 5px;
}
.acf-field-setting-fc_layout .acf-fc-meta .acf-fc-meta-left {
width: calc(50% - 4px);
float: left;
clear: left;
margin-right: 4px;
}
.acf-field-setting-fc_layout .acf-fc-meta .acf-fc-meta-right {
width: calc(50% - 4px);
float: left;
margin-left: 4px;
}
.acf-field-setting-fc_layout .acf-fc-meta .acf-fc-meta-min {
width: calc(25% - 5px);
float: left;
margin-right: 5px;
}
.acf-field-setting-fc_layout .acf-fc-meta .acf-fc-meta-max {
width: calc(25% - 10px);
float: left;
margin-left: 4px;
}
.acf-field-setting-fc_layout .acf-fc-meta .acf-fc-meta-label .acf-input-prepend,
.acf-field-setting-fc_layout .acf-fc-meta .acf-fc-meta-name .acf-input-prepend,
.acf-field-setting-fc_layout .acf-fc-meta .acf-fc-meta-display .acf-input-prepend {
min-width: 60px;
}
.acf-field-setting-fc_layout .acf-fc_draggable,
.acf-field-setting-fc_layout .reorder-layout {
cursor: grab;
}
.acf-field-setting-fc_layout .acf-fl-actions a {
padding: 1px 0;
font-size: 13px;
line-height: 20px;
}
/*---------------------------------------------------------------------------------------------
*
* Clone
*
*---------------------------------------------------------------------------------------------*/
.acf-field-object-clone {
/* group */
/* seamless */
}
.acf-field-object-clone[data-display=seamless] .acf-field-setting-instructions,
.acf-field-object-clone[data-display=seamless] .acf-field-setting-layout,
.acf-field-object-clone[data-display=seamless] .acf-field-setting-wrapper,
.acf-field-object-clone[data-display=seamless] .acf-field-setting-conditional_logic {
display: none;
}
/*----------------------------------------------------------------------------
*
* Pro fields with inactive licenses.
*
*----------------------------------------------------------------------------*/
.acf-pro-inactive-license .acf-pro-field-object .li-field-label:before {
-webkit-mask-image: url("../../../images/icons/icon-lock.svg") !important;
mask-image: url("../../../images/icons/icon-lock.svg") !important;
pointer-events: none;
}
.acf-pro-inactive-license .acf-pro-field-object .edit-field {
pointer-events: none;
color: #667085;
}
.acf-pro-inactive-license .acf-pro-field-object .row-options {
display: none;
}
/*# sourceMappingURL=acf-pro-field-group.css.map*/

File diff suppressed because one or more lines are too long

View File

@ -1,891 +0,0 @@
/*!************************************************************************************************************************************************************************************************************************!*\
!*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./src/advanced-custom-fields-pro/assets/src/sass/pro/acf-pro-input.scss ***!
\************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/*--------------------------------------------------------------------------------------------
*
* Vars
*
*--------------------------------------------------------------------------------------------*/
/* colors */
/* acf-field */
/* responsive */
/*--------------------------------------------------------------------------------------------
*
* ACF 6
*
*--------------------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------------------
*
* Mixins
*
*--------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------
*
* Repeater
*
*---------------------------------------------------------------------------------------------*/
.acf-repeater {
/* table */
/* row handle (add/remove) */
/* add in spacer to th (force correct width) */
/* row */
/* sortable */
/* layouts */
/*
&.-row > table > tbody > tr:before,
&.-block > table > tbody > tr:before {
content: "";
display: table-row;
height: 2px;
background: #f00;
}
*/
/* empty */
/* collapsed */
/* collapsed (block layout) */
/* collapsed (table layout) */
}
.acf-repeater > table {
margin: 0 0 8px;
background: #F9F9F9;
}
.acf-repeater > table > tbody tr.acf-divider:not(:first-child) > td {
border-top: 10px solid #EAECF0;
}
.acf-repeater .acf-row-handle {
width: 16px;
text-align: center !important;
vertical-align: middle !important;
position: relative;
/* icons */
/* .order */
/* remove */
}
.acf-repeater .acf-row-handle .acf-order-input-wrap {
width: 45px;
}
.acf-repeater .acf-row-handle .acf-order-input::-webkit-outer-spin-button,
.acf-repeater .acf-row-handle .acf-order-input::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
.acf-repeater .acf-row-handle .acf-order-input {
-moz-appearance: textfield;
text-align: center;
}
.acf-repeater .acf-row-handle .acf-icon {
display: none;
position: absolute;
top: 0;
margin: -8px 0 0 -2px;
/* minus icon */
}
.acf-repeater .acf-row-handle .acf-icon.-minus {
top: 50%;
/* ie fix */
}
body.browser-msie .acf-repeater .acf-row-handle .acf-icon.-minus {
top: 25px;
}
.acf-repeater .acf-row-handle.order {
background: #f4f4f4;
cursor: move;
color: #aaa;
text-shadow: #fff 0 1px 0;
}
.acf-repeater .acf-row-handle.order:hover {
color: #666;
}
.acf-repeater .acf-row-handle.order + td {
border-left-color: #DFDFDF;
}
.acf-repeater .acf-row-handle.pagination {
cursor: auto;
}
.acf-repeater .acf-row-handle.remove {
background: #F9F9F9;
border-left-color: #DFDFDF;
}
.acf-repeater th.acf-row-handle:before {
content: "";
width: 16px;
display: block;
height: 1px;
}
.acf-repeater .acf-row {
/* hide clone */
/* hover */
}
.acf-repeater .acf-row.acf-clone {
display: none !important;
}
.acf-repeater .acf-row:hover, .acf-repeater .acf-row.-hover {
/* icons */
}
.acf-repeater .acf-row:hover > .acf-row-handle .acf-icon, .acf-repeater .acf-row.-hover > .acf-row-handle .acf-icon {
display: block;
}
.acf-repeater .acf-row:hover > .acf-row-handle .acf-icon.show-on-shift, .acf-repeater .acf-row.-hover > .acf-row-handle .acf-icon.show-on-shift {
display: none;
}
body.acf-keydown-shift .acf-repeater .acf-row:hover > .acf-row-handle .acf-icon.show-on-shift, body.acf-keydown-shift .acf-repeater .acf-row.-hover > .acf-row-handle .acf-icon.show-on-shift {
display: block;
}
body.acf-keydown-shift .acf-repeater .acf-row:hover > .acf-row-handle .acf-icon.hide-on-shift, body.acf-keydown-shift .acf-repeater .acf-row.-hover > .acf-row-handle .acf-icon.hide-on-shift {
display: none;
}
.acf-repeater > table > tbody > tr.ui-sortable-helper {
box-shadow: 0 1px 5px rgba(0, 0, 0, 0.2);
}
.acf-repeater > table > tbody > tr.ui-sortable-placeholder {
visibility: visible !important;
}
.acf-repeater > table > tbody > tr.ui-sortable-placeholder td {
background: #F9F9F9;
}
.acf-repeater.-row > table > tbody > tr > td, .acf-repeater.-block > table > tbody > tr > td {
border-top-color: #E1E1E1;
}
.acf-repeater.-empty > table > thead > tr > th {
border-bottom: 0 none;
}
.acf-repeater.-empty.-row > table, .acf-repeater.-empty.-block > table {
display: none;
}
.acf-repeater .acf-row.-collapsed > .acf-field {
display: none !important;
}
.acf-repeater .acf-row.-collapsed > td.acf-field.-collapsed-target {
display: table-cell !important;
}
.acf-repeater .acf-row.-collapsed > .acf-fields > * {
display: none !important;
}
.acf-repeater .acf-row.-collapsed > .acf-fields > .acf-field.-collapsed-target {
display: block !important;
}
.acf-repeater .acf-row.-collapsed > .acf-fields > .acf-field.-collapsed-target[data-width] {
float: none !important;
width: auto !important;
}
.acf-repeater.-table .acf-row.-collapsed .acf-field.-collapsed-target {
border-left-color: #dfdfdf;
}
.acf-repeater.-max .acf-icon[data-event=add-row] {
display: none !important;
}
.acf-repeater > .acf-actions .acf-button {
float: right;
pointer-events: auto !important;
}
.acf-repeater > .acf-actions .acf-tablenav {
float: right;
margin-right: 20px;
}
.acf-repeater > .acf-actions .acf-tablenav .current-page {
width: auto !important;
}
/*---------------------------------------------------------------------------------------------
*
* Flexible Content
*
*---------------------------------------------------------------------------------------------*/
.acf-flexible-content {
position: relative;
}
.acf-flexible-content > .clones {
display: none;
}
.acf-flexible-content > .values {
margin: 0 0 8px;
}
.acf-flexible-content > .values > .ui-sortable-placeholder {
visibility: visible !important;
border: 1px dashed #b4b9be;
box-shadow: none;
background: transparent;
}
.acf-flexible-content .layout {
position: relative;
margin: 20px 0 0;
background: #fff;
border: 1px solid #ccd0d4;
}
.acf-flexible-content .layout:first-child {
margin-top: 0;
}
.acf-flexible-content .layout .acf-fc-layout-handle {
display: block;
position: relative;
padding: 8px 10px;
cursor: move;
border-bottom: #ccd0d4 solid 1px;
color: #444;
font-size: 14px;
line-height: 1.4em;
}
.acf-flexible-content .layout .acf-fc-layout-order {
display: block;
width: 20px;
height: 20px;
border-radius: 10px;
display: inline-block;
text-align: center;
line-height: 20px;
margin: 0 2px 0 0;
background: #F1F1F1;
font-size: 12px;
color: #444;
}
html[dir=rtl] .acf-flexible-content .layout .acf-fc-layout-order {
float: right;
margin-right: 0;
margin-left: 5px;
}
.acf-flexible-content .layout .acf-fc-layout-controls {
position: absolute;
top: 8px;
right: 8px;
}
.acf-flexible-content .layout .acf-fc-layout-controls .acf-icon {
display: block;
float: left;
margin: 0 0 0 5px;
}
.acf-flexible-content .layout .acf-fc-layout-controls .acf-icon.-plus, .acf-flexible-content .layout .acf-fc-layout-controls .acf-icon.-minus, .acf-flexible-content .layout .acf-fc-layout-controls .acf-icon.-duplicate {
visibility: hidden;
}
html[dir=rtl] .acf-flexible-content .layout .acf-fc-layout-controls {
right: auto;
left: 9px;
}
.acf-flexible-content .layout.is-selected {
border-color: #7e8993;
}
.acf-flexible-content .layout.is-selected .acf-fc-layout-handle {
border-color: #7e8993;
}
.acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-plus, .acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-minus, .acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-duplicate, .acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-plus, .acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-minus, .acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-duplicate {
visibility: visible;
}
.acf-flexible-content .layout.-collapsed > .acf-fc-layout-handle {
border-bottom-width: 0;
}
.acf-flexible-content .layout.-collapsed > .acf-fields,
.acf-flexible-content .layout.-collapsed > .acf-table {
display: none;
}
.acf-flexible-content .layout > .acf-table {
border: 0 none;
box-shadow: none;
}
.acf-flexible-content .layout > .acf-table > tbody > tr {
background: #fff;
}
.acf-flexible-content .layout > .acf-table > thead > tr > th {
background: #F9F9F9;
}
.acf-flexible-content .no-value-message {
padding: 19px;
border: #ccc dashed 2px;
text-align: center;
display: none;
}
.acf-flexible-content.-empty > .no-value-message {
display: block;
}
.acf-fc-popup {
padding: 5px 0;
z-index: 900001;
min-width: 135px;
}
.acf-fc-popup ul, .acf-fc-popup li {
list-style: none;
display: block;
margin: 0;
padding: 0;
}
.acf-fc-popup li {
position: relative;
float: none;
white-space: nowrap;
}
.acf-fc-popup .badge {
display: inline-block;
border-radius: 8px;
font-size: 9px;
line-height: 15px;
padding: 0 5px;
background: #d54e21;
text-align: center;
color: #fff;
vertical-align: top;
margin: 0 0 0 5px;
}
.acf-fc-popup a {
color: #eee;
padding: 5px 10px;
display: block;
text-decoration: none;
position: relative;
}
.acf-fc-popup a:hover {
background: #0073aa;
color: #fff;
}
.acf-fc-popup a.disabled {
color: #888;
background: transparent;
}
/*---------------------------------------------------------------------------------------------
*
* Galery
*
*---------------------------------------------------------------------------------------------*/
.acf-gallery {
border: #ccd0d4 solid 1px;
height: 400px;
position: relative;
/* main */
/* attachments */
/* attachment */
/* toolbar */
/* sidebar */
/* side info */
/* side data */
/* column widths */
/* resizable */
}
.acf-gallery .acf-gallery-main {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: #fff;
z-index: 2;
}
.acf-gallery .acf-gallery-attachments {
position: absolute;
top: 0;
right: 0;
bottom: 48px;
left: 0;
padding: 5px;
overflow: auto;
overflow-x: hidden;
}
.acf-gallery .acf-gallery-attachment {
width: 25%;
float: left;
cursor: pointer;
position: relative;
/* hover */
/* sortable */
/* active */
/* icon */
/* rtl */
}
.acf-gallery .acf-gallery-attachment .margin {
margin: 5px;
border: #d5d9dd solid 1px;
position: relative;
overflow: hidden;
background: #eee;
}
.acf-gallery .acf-gallery-attachment .margin:before {
content: "";
display: block;
padding-top: 100%;
}
.acf-gallery .acf-gallery-attachment .thumbnail {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
transform: translate(50%, 50%);
}
html[dir=rtl] .acf-gallery .acf-gallery-attachment .thumbnail {
transform: translate(-50%, 50%);
}
.acf-gallery .acf-gallery-attachment .thumbnail img {
display: block;
height: auto;
max-height: 100%;
width: auto;
transform: translate(-50%, -50%);
}
html[dir=rtl] .acf-gallery .acf-gallery-attachment .thumbnail img {
transform: translate(50%, -50%);
}
.acf-gallery .acf-gallery-attachment .filename {
position: absolute;
bottom: 0;
left: 0;
right: 0;
padding: 5%;
background: #F4F4F4;
background: rgba(255, 255, 255, 0.8);
border-top: #DFDFDF solid 1px;
font-weight: bold;
text-align: center;
word-wrap: break-word;
max-height: 90%;
overflow: hidden;
}
.acf-gallery .acf-gallery-attachment .actions {
position: absolute;
top: 0;
right: 0;
display: none;
}
.acf-gallery .acf-gallery-attachment:hover .actions {
display: block;
}
.acf-gallery .acf-gallery-attachment.ui-sortable-helper .margin {
border: none;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
.acf-gallery .acf-gallery-attachment.ui-sortable-placeholder .margin {
background: #F1F1F1;
border: none;
}
.acf-gallery .acf-gallery-attachment.ui-sortable-placeholder .margin * {
display: none !important;
}
.acf-gallery .acf-gallery-attachment.active .margin {
box-shadow: 0 0 0 1px #FFFFFF, 0 0 0 5px #0073aa;
}
.acf-gallery .acf-gallery-attachment.-icon .thumbnail img {
transform: translate(-50%, -70%);
}
html[dir=rtl] .acf-gallery .acf-gallery-attachment {
float: right;
}
.acf-gallery.sidebar-open {
/* hide attachment actions when sidebar is open */
/* allow sidebar to move over main for small widths (widget edit box) */
}
.acf-gallery.sidebar-open .acf-gallery-attachment .actions {
display: none;
}
.acf-gallery.sidebar-open .acf-gallery-side {
z-index: 2;
}
.acf-gallery .acf-gallery-toolbar {
position: absolute;
right: 0;
bottom: 0;
left: 0;
padding: 10px;
border-top: #d5d9dd solid 1px;
background: #fff;
min-height: 28px;
}
.acf-gallery .acf-gallery-toolbar .acf-hl li {
line-height: 24px;
}
.acf-gallery .acf-gallery-toolbar .bulk-actions-select {
width: auto;
margin: 0 1px 0 0;
}
.acf-gallery .acf-gallery-side {
position: absolute;
top: 0;
right: 0;
bottom: 0;
width: 0;
background: #F9F9F9;
border-left: #ccd0d4 solid 1px;
z-index: 1;
overflow: hidden;
}
.acf-gallery .acf-gallery-side .acf-gallery-side-inner {
position: absolute;
top: 0;
left: 0;
bottom: 0;
width: 349px;
}
.acf-gallery .acf-gallery-side-info {
position: relative;
width: 100%;
padding: 10px;
margin: -10px 0 15px -10px;
background: #F1F1F1;
border-bottom: #DFDFDF solid 1px;
}
.acf-gallery .acf-gallery-side-info:after {
display: block;
clear: both;
content: "";
}
html[dir=rtl] .acf-gallery .acf-gallery-side-info {
margin-left: 0;
margin-right: -10px;
}
.acf-gallery .acf-gallery-side-info img {
float: left;
width: auto;
max-width: 65px;
max-height: 65px;
margin: 0 10px 1px 0;
background: #FFFFFF;
padding: 3px;
border: #ccd0d4 solid 1px;
border-radius: 1px;
/* rtl */
}
html[dir=rtl] .acf-gallery .acf-gallery-side-info img {
float: right;
margin: 0 0 0 10px;
}
.acf-gallery .acf-gallery-side-info p {
font-size: 13px;
line-height: 15px;
margin: 3px 0;
word-break: break-all;
color: #666;
}
.acf-gallery .acf-gallery-side-info p strong {
color: #000;
}
.acf-gallery .acf-gallery-side-info a {
text-decoration: none;
}
.acf-gallery .acf-gallery-side-info a.acf-gallery-edit {
color: #21759b;
}
.acf-gallery .acf-gallery-side-info a.acf-gallery-remove {
color: #bc0b0b;
}
.acf-gallery .acf-gallery-side-info a:hover {
text-decoration: underline;
}
.acf-gallery .acf-gallery-side-data {
position: absolute;
top: 0;
right: 0;
bottom: 48px;
left: 0;
overflow: auto;
overflow-x: inherit;
padding: 10px;
}
.acf-gallery .acf-gallery-side-data .acf-label,
.acf-gallery .acf-gallery-side-data th.label {
color: #666666;
font-size: 12px;
line-height: 25px;
padding: 0 4px 8px 0 !important;
width: auto !important;
vertical-align: top;
}
html[dir=rtl] .acf-gallery .acf-gallery-side-data .acf-label,
html[dir=rtl] .acf-gallery .acf-gallery-side-data th.label {
padding: 0 0 8px 4px !important;
}
.acf-gallery .acf-gallery-side-data .acf-label label,
.acf-gallery .acf-gallery-side-data th.label label {
font-weight: normal;
}
.acf-gallery .acf-gallery-side-data .acf-input,
.acf-gallery .acf-gallery-side-data td.field {
padding: 0 0 8px !important;
}
.acf-gallery .acf-gallery-side-data textarea {
min-height: 0;
height: 60px;
}
.acf-gallery .acf-gallery-side-data p.help {
font-size: 12px;
}
.acf-gallery .acf-gallery-side-data p.help:hover {
font-weight: normal;
}
.acf-gallery[data-columns="1"] .acf-gallery-attachment {
width: 100%;
}
.acf-gallery[data-columns="2"] .acf-gallery-attachment {
width: 50%;
}
.acf-gallery[data-columns="3"] .acf-gallery-attachment {
width: 33.333%;
}
.acf-gallery[data-columns="4"] .acf-gallery-attachment {
width: 25%;
}
.acf-gallery[data-columns="5"] .acf-gallery-attachment {
width: 20%;
}
.acf-gallery[data-columns="6"] .acf-gallery-attachment {
width: 16.666%;
}
.acf-gallery[data-columns="7"] .acf-gallery-attachment {
width: 14.285%;
}
.acf-gallery[data-columns="8"] .acf-gallery-attachment {
width: 12.5%;
}
.acf-gallery .ui-resizable-handle {
display: block;
position: absolute;
}
.acf-gallery .ui-resizable-s {
bottom: -5px;
cursor: ns-resize;
height: 7px;
left: 0;
width: 100%;
}
/* media modal selected */
.acf-media-modal .attachment.acf-selected {
box-shadow: 0 0 0 3px #fff inset, 0 0 0 7px #0073aa inset !important;
}
.acf-media-modal .attachment.acf-selected .check {
display: none !important;
}
.acf-media-modal .attachment.acf-selected .thumbnail {
opacity: 0.25 !important;
}
.acf-media-modal .attachment.acf-selected .attachment-preview:before {
background: rgba(0, 0, 0, 0.15);
z-index: 1;
position: relative;
}
.acf-admin-single-options-page .select2-dropdown {
border-color: #6BB5D8 !important;
margin-top: -5px;
overflow: hidden;
box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.1);
}
.acf-admin-single-options-page .select2-dropdown.select2-dropdown--above {
margin-top: 0;
}
.acf-admin-single-options-page .select2-container--default .select2-results__option[aria-selected=true] {
background-color: #F9FAFB !important;
color: #667085;
}
.acf-admin-single-options-page .select2-container--default .select2-results__option[aria-selected=true]:hover {
color: #399CCB;
}
.acf-admin-single-options-page .select2-container--default .select2-results__option--highlighted[aria-selected] {
color: #fff !important;
background-color: #0783BE !important;
}
.acf-admin-single-options-page .select2-dropdown .select2-results__option {
margin-bottom: 0;
}
.acf-create-options-page-popup ~ .select2-container {
z-index: 999999999;
}
/*-----------------------------------------------------------------------------
*
* ACF Blocks
*
*----------------------------------------------------------------------------*/
.acf-block-component .components-placeholder {
margin: 0;
}
.block-editor .acf-field.acf-error {
background-color: rgba(255, 0, 0, 0.05);
}
.acf-block-component .acf-block-fields {
background: #fff;
text-align: left;
font-size: 13px;
line-height: 1.4em;
color: #444;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}
.acf-block-component .acf-block-fields.acf-empty-block-fields {
border: 1px solid #1e1e1e;
padding: 12px;
}
.components-panel .acf-block-component .acf-block-fields.acf-empty-block-fields {
border: none;
border-top: 1px solid #ddd;
border-bottom: 1px solid #ddd;
}
html[dir=rtl] .acf-block-component .acf-block-fields {
text-align: right;
}
.acf-block-component .acf-block-fields p {
font-size: 13px;
line-height: 1.5;
}
.acf-block-body .acf-block-fields:has(> .acf-error-message),
.acf-block-fields:has(> .acf-error-message) .acf-block-fields:has(> .acf-error-message) {
border: none !important;
}
.acf-block-body .acf-error-message,
.acf-block-fields:has(> .acf-error-message) .acf-error-message {
margin-top: 0;
border: none;
}
.acf-block-body .acf-error-message .acf-notice-dismiss,
.acf-block-fields:has(> .acf-error-message) .acf-error-message .acf-notice-dismiss {
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
outline: unset;
}
.acf-block-body .acf-error-message .acf-icon.-cancel::before,
.acf-block-fields:has(> .acf-error-message) .acf-error-message .acf-icon.-cancel::before {
margin: 0 !important;
}
.acf-block-body.acf-block-has-validation-error,
.acf-block-fields:has(> .acf-error-message).acf-block-has-validation-error {
border: 2px solid #d94f4f;
}
.acf-block-body .acf-error .acf-input .acf-notice,
.acf-block-fields:has(> .acf-error-message) .acf-error .acf-input .acf-notice {
background: none !important;
border: none !important;
display: flex !important;
align-items: center !important;
padding-left: 0;
}
.acf-block-body .acf-error .acf-input .acf-notice p,
.acf-block-fields:has(> .acf-error-message) .acf-error .acf-input .acf-notice p {
margin: 0.5em 0 !important;
}
.acf-block-body .acf-error .acf-input .acf-notice::before,
.acf-block-fields:has(> .acf-error-message) .acf-error .acf-input .acf-notice::before {
content: "";
position: relative;
top: 0;
left: 0;
font-size: 20px;
background-image: url(../../../images/icons/icon-info-red.svg);
background-repeat: no-repeat;
background-position: center;
background-size: 69%;
height: 26px !important;
width: 26px !important;
box-sizing: border-box;
}
.acf-block-body .acf-error .acf-label label,
.acf-block-fields:has(> .acf-error-message) .acf-error .acf-label label {
color: #d94f4f;
}
.acf-block-body .acf-error .acf-input input,
.acf-block-fields:has(> .acf-error-message) .acf-error .acf-input input {
border-color: #d94f4f;
}
.acf-block-body.acf-block-has-validation-error::before,
.acf-block-fields:has(> .acf-error-message).acf-block-has-validation-error::before {
content: "";
position: absolute;
top: -2px;
left: -32px;
font-size: 20px;
background-color: #d94f4f;
background-image: url(../../../images/icons/icon-info-white.svg);
background-repeat: no-repeat;
background-position-x: center;
background-position-y: 52%;
background-size: 55%;
height: 40px;
width: 32px;
box-sizing: border-box;
}
.acf-block-body .acf-block-validation-error,
.acf-block-fields:has(> .acf-error-message) .acf-block-validation-error {
color: #d94f4f;
display: flex;
align-items: center;
}
.acf-block-body .acf-block-fields,
.acf-block-fields:has(> .acf-error-message) .acf-block-fields {
border: #adb2ad solid 1px;
}
.acf-block-body .acf-block-fields .acf-tab-wrap .acf-tab-group,
.acf-block-fields:has(> .acf-error-message) .acf-block-fields .acf-tab-wrap .acf-tab-group {
margin-left: 0;
padding: 16px 20px 0;
}
.acf-block-body .acf-fields > .acf-field,
.acf-block-fields:has(> .acf-error-message) .acf-fields > .acf-field {
padding: 16px 20px;
}
.acf-block-body .acf-fields > .acf-field.acf-accordion,
.acf-block-fields:has(> .acf-error-message) .acf-fields > .acf-field.acf-accordion {
border-color: #adb2ad;
}
.acf-block-body .acf-fields > .acf-field.acf-accordion .acf-accordion-title,
.acf-block-fields:has(> .acf-error-message) .acf-fields > .acf-field.acf-accordion .acf-accordion-title {
padding: 16px 20px;
}
.acf-block-body .acf-button,
.acf-block-body .acf-link a.button,
.acf-block-body .acf-add-checkbox,
.acf-block-fields:has(> .acf-error-message) .acf-button,
.acf-block-fields:has(> .acf-error-message) .acf-link a.button,
.acf-block-fields:has(> .acf-error-message) .acf-add-checkbox {
color: #2271b1 !important;
border-color: #2271b1 !important;
background: #f6f7f7 !important;
vertical-align: top;
}
.acf-block-body .acf-button.button-primary:hover,
.acf-block-body .acf-link a.button.button-primary:hover,
.acf-block-body .acf-add-checkbox.button-primary:hover,
.acf-block-fields:has(> .acf-error-message) .acf-button.button-primary:hover,
.acf-block-fields:has(> .acf-error-message) .acf-link a.button.button-primary:hover,
.acf-block-fields:has(> .acf-error-message) .acf-add-checkbox.button-primary:hover {
color: white !important;
background: #2271b1 !important;
}
.acf-block-body .acf-button:focus,
.acf-block-body .acf-link a.button:focus,
.acf-block-body .acf-add-checkbox:focus,
.acf-block-fields:has(> .acf-error-message) .acf-button:focus,
.acf-block-fields:has(> .acf-error-message) .acf-link a.button:focus,
.acf-block-fields:has(> .acf-error-message) .acf-add-checkbox:focus {
outline: none !important;
background: #f6f7f7 !important;
}
.acf-block-body .acf-button:hover,
.acf-block-body .acf-link a.button:hover,
.acf-block-body .acf-add-checkbox:hover,
.acf-block-fields:has(> .acf-error-message) .acf-button:hover,
.acf-block-fields:has(> .acf-error-message) .acf-link a.button:hover,
.acf-block-fields:has(> .acf-error-message) .acf-add-checkbox:hover {
color: #0a4b78 !important;
}
.acf-block-body .acf-block-preview,
.acf-block-fields:has(> .acf-error-message) .acf-block-preview {
min-height: 10px;
}
.acf-block-panel .acf-block-fields {
border-top: #ddd solid 1px;
border-bottom: #ddd solid 1px;
min-height: 1px;
}
.acf-block-panel .acf-block-fields:empty {
border-top: none;
}
.acf-block-panel .acf-block-fields .acf-tab-wrap {
background: transparent;
}
.components-panel__body .acf-block-panel {
margin: 16px -16px -16px;
}
/*# sourceMappingURL=acf-pro-input.css.map*/

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,24 +0,0 @@
/******/ (() => { // webpackBootstrap
var __webpack_exports__ = {};
/*!*********************************************************************************!*\
!*** ./src/advanced-custom-fields-pro/assets/src/js/acf-escaped-html-notice.js ***!
\*********************************************************************************/
/* global, acf_escaped_html_notice */
(function ($) {
const $notice = $('.acf-escaped-html-notice');
$notice.on('click', '.acf-show-more-details', function (e) {
e.preventDefault();
const $link = $(e.target);
const $details = $link.closest('.acf-escaped-html-notice').find('.acf-error-details');
if ($details.is(':hidden')) {
$details.slideDown(100);
$link.text(acf_escaped_html_notice.hide_details);
} else {
$details.slideUp(100);
$link.text(acf_escaped_html_notice.show_details);
}
});
})(jQuery);
/******/ })()
;
//# sourceMappingURL=acf-escaped-html-notice.js.map

View File

@ -1 +0,0 @@
{"version":3,"file":"acf-escaped-html-notice.js","mappings":";;;;;AAAA;AACA,CAAE,UAAWA,CAAC,EAAG;EAChB,MAAMC,OAAO,GAAGD,CAAC,CAAE,0BAA2B,CAAC;EAE/CC,OAAO,CAACC,EAAE,CAAE,OAAO,EAAE,wBAAwB,EAAE,UAAWC,CAAC,EAAG;IAC7DA,CAAC,CAACC,cAAc,CAAC,CAAC;IAElB,MAAMC,KAAK,GAAGL,CAAC,CAAEG,CAAC,CAACG,MAAO,CAAC;IAC3B,MAAMC,QAAQ,GAAGF,KAAK,CACpBG,OAAO,CAAE,0BAA2B,CAAC,CACrCC,IAAI,CAAE,oBAAqB,CAAC;IAE9B,IAAKF,QAAQ,CAACG,EAAE,CAAE,SAAU,CAAC,EAAG;MAC/BH,QAAQ,CAACI,SAAS,CAAE,GAAI,CAAC;MACzBN,KAAK,CAACO,IAAI,CAAEC,uBAAuB,CAACC,YAAa,CAAC;IACnD,CAAC,MAAM;MACNP,QAAQ,CAACQ,OAAO,CAAE,GAAI,CAAC;MACvBV,KAAK,CAACO,IAAI,CAAEC,uBAAuB,CAACG,YAAa,CAAC;IACnD;EACD,CAAE,CAAC;AACJ,CAAC,EAAIC,MAAO,CAAC,C","sources":["webpack://advanced-custom-fields-pro/./src/advanced-custom-fields-pro/assets/src/js/acf-escaped-html-notice.js"],"sourcesContent":["/* global, acf_escaped_html_notice */\n( function ( $ ) {\n\tconst $notice = $( '.acf-escaped-html-notice' );\n\n\t$notice.on( 'click', '.acf-show-more-details', function ( e ) {\n\t\te.preventDefault();\n\n\t\tconst $link = $( e.target );\n\t\tconst $details = $link\n\t\t\t.closest( '.acf-escaped-html-notice' )\n\t\t\t.find( '.acf-error-details' );\n\n\t\tif ( $details.is( ':hidden' ) ) {\n\t\t\t$details.slideDown( 100 );\n\t\t\t$link.text( acf_escaped_html_notice.hide_details );\n\t\t} else {\n\t\t\t$details.slideUp( 100 );\n\t\t\t$link.text( acf_escaped_html_notice.show_details );\n\t\t}\n\t} );\n} )( jQuery );\n"],"names":["$","$notice","on","e","preventDefault","$link","target","$details","closest","find","is","slideDown","text","acf_escaped_html_notice","hide_details","slideUp","show_details","jQuery"],"sourceRoot":""}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,402 +0,0 @@
/******/ (() => { // webpackBootstrap
/******/ var __webpack_modules__ = ({
/***/ "./src/advanced-custom-fields-pro/assets/src/js/_acf-internal-post-type.js":
/*!*********************************************************************************!*\
!*** ./src/advanced-custom-fields-pro/assets/src/js/_acf-internal-post-type.js ***!
\*********************************************************************************/
/***/ (() => {
(function ($, undefined) {
/**
* internalPostTypeSettingsManager
*
* Model for handling events in the settings metaboxes of internal post types
*
* @since 6.1
*/
const internalPostTypeSettingsManager = new acf.Model({
id: 'internalPostTypeSettingsManager',
wait: 'ready',
events: {
'blur .acf_slugify_to_key': 'onChangeSlugify',
'blur .acf_singular_label': 'onChangeSingularLabel',
'blur .acf_plural_label': 'onChangePluralLabel',
'change .acf_hierarchical_switch': 'onChangeHierarchical',
'click .acf-regenerate-labels': 'onClickRegenerateLabels',
'click .acf-clear-labels': 'onClickClearLabels',
'change .rewrite_slug_field': 'onChangeURLSlug',
'keyup .rewrite_slug_field': 'onChangeURLSlug'
},
onChangeSlugify: function (e, $el) {
const name = $el.val();
const $keyInput = $('.acf_slugified_key');
// Generate field key.
if ($keyInput.val().trim() == '') {
let slug = acf.strSanitize(name.trim()).replaceAll('_', '-');
slug = acf.applyFilters('generate_internal_post_type_name', slug, this);
let slugLength = 0;
if ('taxonomy' === acf.get('screen')) {
slugLength = 32;
} else if ('post_type' === acf.get('screen')) {
slugLength = 20;
}
if (slugLength) {
slug = slug.substring(0, slugLength);
}
$keyInput.val(slug);
}
},
initialize: function () {
// check we should init.
if (!['taxonomy', 'post_type'].includes(acf.get('screen'))) return;
// select2
const template = function (selection) {
if ('undefined' === typeof selection.element) {
return selection;
}
const $parentSelect = $(selection.element.parentElement);
const $selection = $('<span class="acf-selection"></span>');
$selection.html(acf.strEscape(selection.element.innerHTML));
let isDefault = false;
if ($parentSelect.filter('.acf-taxonomy-manage_terms, .acf-taxonomy-edit_terms, .acf-taxonomy-delete_terms').length && selection.id === 'manage_categories') {
isDefault = true;
} else if ($parentSelect.filter('.acf-taxonomy-assign_terms').length && selection.id === 'edit_posts') {
isDefault = true;
} else if (selection.id === 'taxonomy_key' || selection.id === 'post_type_key' || selection.id === 'default') {
isDefault = true;
}
if (isDefault) {
$selection.append('<span class="acf-select2-default-pill">' + acf.__('Default') + '</span>');
}
$selection.data('element', selection.element);
return $selection;
};
acf.newSelect2($('select.query_var'), {
field: false,
templateSelection: template,
templateResult: template
});
acf.newSelect2($('select.acf-taxonomy-manage_terms'), {
field: false,
templateSelection: template,
templateResult: template
});
acf.newSelect2($('select.acf-taxonomy-edit_terms'), {
field: false,
templateSelection: template,
templateResult: template
});
acf.newSelect2($('select.acf-taxonomy-delete_terms'), {
field: false,
templateSelection: template,
templateResult: template
});
acf.newSelect2($('select.acf-taxonomy-assign_terms'), {
field: false,
templateSelection: template,
templateResult: template
});
acf.newSelect2($('select.meta_box'), {
field: false,
templateSelection: template,
templateResult: template
});
const permalinkRewrite = acf.newSelect2($('select.permalink_rewrite'), {
field: false,
templateSelection: template,
templateResult: template
});
$('.rewrite_slug_field').trigger('change');
permalinkRewrite.on('change', function (e) {
$('.rewrite_slug_field').trigger('change');
});
},
onChangeURLSlug: function (e, $el) {
const $field = $('div.acf-field.acf-field-permalink-rewrite');
const rewriteType = $field.find('select').find('option:selected').val();
const originalInstructions = $field.data(rewriteType + '_instructions');
const siteURL = $field.data('site_url');
const $permalinkDesc = $field.find('p.description').first();
if (rewriteType === 'taxonomy_key' || rewriteType === 'post_type_key') {
var slugvalue = $('.acf_slugified_key').val().trim();
} else {
var slugvalue = $el.val().trim();
}
if (!slugvalue.length) slugvalue = '{slug}';
$permalinkDesc.html($('<span>' + originalInstructions + '</span>').text().replace('{slug}', '<strong>' + $('<span>' + siteURL + '/' + slugvalue + '</span>').text() + '</strong>'));
},
onChangeSingularLabel: function (e, $el) {
const label = $el.val();
this.updateLabels(label, 'singular', false);
},
onChangePluralLabel: function (e, $el) {
const label = $el.val();
this.updateLabels(label, 'plural', false);
},
onChangeHierarchical: function (e, $el) {
const hierarchical = $el.is(':checked');
if ('taxonomy' === acf.get('screen')) {
let text = $('.acf-field-meta-box').data('tags_meta_box');
if (hierarchical) {
text = $('.acf-field-meta-box').data('categories_meta_box');
}
$('#acf_taxonomy-meta_box').find('option:first').text(text).trigger('change');
}
this.updatePlaceholders(hierarchical);
},
onClickRegenerateLabels: function (e, $el) {
this.updateLabels($('.acf_singular_label').val(), 'singular', true);
this.updateLabels($('.acf_plural_label').val(), 'plural', true);
},
onClickClearLabels: function (e, $el) {
this.clearLabels();
},
updateLabels(label, type, force) {
$('[data-label][data-replace="' + type + '"').each((index, element) => {
var $input = $(element).find('input[type="text"]').first();
if (!force && $input.val() != '') return;
if (label == '') return;
$input.val($(element).data('transform') === 'lower' ? $(element).data('label').replace('%s', label.toLowerCase()) : $(element).data('label').replace('%s', label));
});
},
clearLabels() {
$('[data-label]').each((index, element) => {
$(element).find('input[type="text"]').first().val('');
});
},
updatePlaceholders(heirarchical) {
if (acf.get('screen') == 'post_type') {
var singular = acf.__('Post');
var plural = acf.__('Posts');
if (heirarchical) {
singular = acf.__('Page');
plural = acf.__('Pages');
}
} else {
var singular = acf.__('Tag');
var plural = acf.__('Tags');
if (heirarchical) {
singular = acf.__('Category');
plural = acf.__('Categories');
}
}
$('[data-label]').each((index, element) => {
var useReplacement = $(element).data('replace') === 'plural' ? plural : singular;
if ($(element).data('transform') === 'lower') {
useReplacement = useReplacement.toLowerCase();
}
$(element).find('input[type="text"]').first().attr('placeholder', $(element).data('label').replace('%s', useReplacement));
});
}
});
/**
* advancedSettingsMetaboxManager
*
* Screen options functionality for internal post types
*
* @since 6.1
*/
const advancedSettingsMetaboxManager = new acf.Model({
id: 'advancedSettingsMetaboxManager',
wait: 'load',
events: {
'change .acf-advanced-settings-toggle': 'onToggleACFAdvancedSettings',
'change #screen-options-wrap #acf-advanced-settings-hide': 'onToggleScreenOptionsAdvancedSettings'
},
initialize: function () {
this.$screenOptionsToggle = $('#screen-options-wrap #acf-advanced-settings-hide:first');
this.$ACFAdvancedToggle = $('.acf-advanced-settings-toggle:first');
this.render();
},
isACFAdvancedSettingsChecked: function () {
// Screen option is hidden by filter.
if (!this.$ACFAdvancedToggle.length) {
return false;
}
return this.$ACFAdvancedToggle.prop('checked');
},
isScreenOptionsAdvancedSettingsChecked: function () {
// Screen option is hidden by filter.
if (!this.$screenOptionsToggle.length) {
return false;
}
return this.$screenOptionsToggle.prop('checked');
},
onToggleScreenOptionsAdvancedSettings: function () {
if (this.isScreenOptionsAdvancedSettingsChecked()) {
if (!this.isACFAdvancedSettingsChecked()) {
this.$ACFAdvancedToggle.trigger('click');
}
} else {
if (this.isACFAdvancedSettingsChecked()) {
this.$ACFAdvancedToggle.trigger('click');
}
}
},
onToggleACFAdvancedSettings: function () {
if (this.isACFAdvancedSettingsChecked()) {
if (!this.isScreenOptionsAdvancedSettingsChecked()) {
this.$screenOptionsToggle.trigger('click');
}
} else {
if (this.isScreenOptionsAdvancedSettingsChecked()) {
this.$screenOptionsToggle.trigger('click');
}
}
},
render: function () {
// On render, sync screen options to ACF's setting.
this.onToggleACFAdvancedSettings();
}
});
const linkFieldGroupsManger = new acf.Model({
id: 'linkFieldGroupsManager',
events: {
'click .acf-link-field-groups': 'linkFieldGroups'
},
linkFieldGroups: function () {
let popup = false;
const step1 = function () {
$.ajax({
url: acf.get('ajaxurl'),
data: acf.prepareForAjax({
action: 'acf/link_field_groups'
}),
type: 'post',
dataType: 'json',
success: step2
});
};
const step2 = function (response) {
popup = acf.newPopup({
title: response.data.title,
content: response.data.content,
width: '600px'
});
popup.$el.addClass('acf-link-field-groups-popup');
popup.on('submit', 'form', step3);
};
const step3 = function (e) {
e.preventDefault();
const $select = popup.$('select');
const val = $select.val();
if (!val.length) {
$select.focus();
return;
}
acf.startButtonLoading(popup.$('.button'));
// get HTML
$.ajax({
url: acf.get('ajaxurl'),
data: acf.prepareForAjax({
action: 'acf/link_field_groups',
field_groups: val
}),
type: 'post',
dataType: 'json',
success: step4
});
};
const step4 = function (response) {
popup.content(response.data.content);
if (wp.a11y && wp.a11y.speak && acf.__) {
wp.a11y.speak(acf.__('Field groups linked successfully.'), 'polite');
}
popup.$('button.acf-close-popup').focus();
};
step1();
}
});
})(jQuery);
/***/ })
/******/ });
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId];
/******/ if (cachedModule !== undefined) {
/******/ return cachedModule.exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ // no module.id needed
/******/ // no module.loaded needed
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/************************************************************************/
/******/ /* webpack/runtime/compat get default export */
/******/ (() => {
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = (module) => {
/******/ var getter = module && module.__esModule ?
/******/ () => (module['default']) :
/******/ () => (module);
/******/ __webpack_require__.d(getter, { a: getter });
/******/ return getter;
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/define property getters */
/******/ (() => {
/******/ // define getter functions for harmony exports
/******/ __webpack_require__.d = (exports, definition) => {
/******/ for(var key in definition) {
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ }
/******/ }
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ (() => {
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ })();
/******/
/******/ /* webpack/runtime/make namespace object */
/******/ (() => {
/******/ // define __esModule on exports
/******/ __webpack_require__.r = (exports) => {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/ })();
/******/
/************************************************************************/
var __webpack_exports__ = {};
// This entry need to be wrapped in an IIFE because it need to be in strict mode.
(() => {
"use strict";
/*!********************************************************************************!*\
!*** ./src/advanced-custom-fields-pro/assets/src/js/acf-internal-post-type.js ***!
\********************************************************************************/
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _acf_internal_post_type_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_acf-internal-post-type.js */ "./src/advanced-custom-fields-pro/assets/src/js/_acf-internal-post-type.js");
/* harmony import */ var _acf_internal_post_type_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_acf_internal_post_type_js__WEBPACK_IMPORTED_MODULE_0__);
})();
/******/ })()
;
//# sourceMappingURL=acf-internal-post-type.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,678 +0,0 @@
/******/ (() => { // webpackBootstrap
/******/ var __webpack_modules__ = ({
/***/ "./src/advanced-custom-fields-pro/assets/src/js/pro/_acf-setting-clone.js":
/*!********************************************************************************!*\
!*** ./src/advanced-custom-fields-pro/assets/src/js/pro/_acf-setting-clone.js ***!
\********************************************************************************/
/***/ (() => {
(function ($) {
/**
* CloneDisplayFieldSetting
*
* Extra logic for this field setting
*
* @date 18/4/18
* @since 5.6.9
*
* @param void
* @return void
*/
var CloneDisplayFieldSetting = acf.FieldSetting.extend({
type: 'clone',
name: 'display',
render: function () {
// vars
var display = this.field.val();
// set data attribute used by CSS to hide/show
this.$fieldObject.attr('data-display', display);
}
});
acf.registerFieldSetting(CloneDisplayFieldSetting);
/**
* ClonePrefixLabelFieldSetting
*
* Extra logic for this field setting
*
* @date 18/4/18
* @since 5.6.9
*
* @param void
* @return void
*/
var ClonePrefixLabelFieldSetting = acf.FieldSetting.extend({
type: 'clone',
name: 'prefix_label',
render: function () {
// vars
var prefix = '';
// if checked
if (this.field.val()) {
prefix = this.fieldObject.prop('label') + ' ';
}
// update HTML
this.$('code').html(prefix + '%field_label%');
}
});
acf.registerFieldSetting(ClonePrefixLabelFieldSetting);
/**
* ClonePrefixNameFieldSetting
*
* Extra logic for this field setting
*
* @date 18/4/18
* @since 5.6.9
*
* @param void
* @return void
*/
var ClonePrefixNameFieldSetting = acf.FieldSetting.extend({
type: 'clone',
name: 'prefix_name',
render: function () {
// vars
var prefix = '';
// if checked
if (this.field.val()) {
prefix = this.fieldObject.prop('name') + '_';
}
// update HTML
this.$('code').html(prefix + '%field_name%');
}
});
acf.registerFieldSetting(ClonePrefixNameFieldSetting);
/**
* cloneFieldSelectHelper
*
* Customizes the clone field setting Select2 isntance
*
* @date 18/4/18
* @since 5.6.9
*
* @param void
* @return void
*/
var cloneFieldSelectHelper = new acf.Model({
filters: {
select2_args: 'select2Args'
},
select2Args: function (options, $select, data, $el, instance) {
// check
if (data.ajaxAction == 'acf/fields/clone/query') {
// remain open on select
options.closeOnSelect = false;
// customize ajaxData function
instance.data.ajaxData = this.ajaxData;
}
// return
return options;
},
ajaxData: function (data) {
// find current fields
data.fields = {};
// loop
acf.getFieldObjects().map(function (fieldObject) {
// append
data.fields[fieldObject.prop('key')] = {
key: fieldObject.prop('key'),
type: fieldObject.prop('type'),
label: fieldObject.prop('label'),
ancestors: fieldObject.getParents().length
};
});
// append title
data.title = $('#title').val();
// return
return data;
}
});
})(jQuery);
/***/ }),
/***/ "./src/advanced-custom-fields-pro/assets/src/js/pro/_acf-setting-flexible-content.js":
/*!*******************************************************************************************!*\
!*** ./src/advanced-custom-fields-pro/assets/src/js/pro/_acf-setting-flexible-content.js ***!
\*******************************************************************************************/
/***/ (() => {
(function ($) {
/**
* CloneDisplayFieldSetting
*
* Extra logic for this field setting
*
* @date 18/4/18
* @since 5.6.9
*
* @param void
* @return void
*/
var FlexibleContentLayoutFieldSetting = acf.FieldSetting.extend({
type: 'flexible_content',
name: 'fc_layout',
events: {
'blur .layout-label': 'onChangeLabel',
'blur .layout-name': 'onChangeName',
'click .add-layout': 'onClickAdd',
'click .acf-field-settings-fc_head': 'onClickEdit',
'click .acf-field-setting-fc-duplicate': 'onClickDuplicate',
'click .acf-field-setting-fc-delete': 'onClickDelete',
'changed:layoutLabel': 'updateLayoutTitles',
'changed:layoutName': 'updateLayoutTitles'
},
$input: function (name) {
return $('#' + this.getInputId() + '-' + name);
},
$list: function () {
return this.$('.acf-field-list:first');
},
getInputId: function () {
return this.fieldObject.getInputId() + '-layouts-' + this.field.get('id');
},
// get all sub fields
getFields: function () {
return acf.getFieldObjects({
parent: this.$el
});
},
// get immediate children
getChildren: function () {
return acf.getFieldObjects({
list: this.$list()
});
},
initialize: function () {
// add sortable
var $tbody = this.$el.parent();
$tbody.css('position', 'relative');
if (!$tbody.hasClass('ui-sortable')) {
$tbody.sortable({
items: '> .acf-field-setting-fc_layout',
handle: '.acf-fc_draggable',
forceHelperSize: true,
forcePlaceholderSize: true,
scroll: true,
stop: this.proxy(function (event, ui) {
this.fieldObject.save();
})
});
}
// add meta to sub fields
this.updateFieldLayouts();
this.updateLayoutTitles();
},
updateFieldLayouts: function () {
this.getChildren().map(this.updateFieldLayout, this);
},
updateFieldLayout: function (field) {
field.prop('parent_layout', this.get('id'));
},
updateLayoutTitles: function () {
const label = this.get('layoutLabel');
const name = this.get('layoutName');
const $layoutHeaderLabelText = this.$el.find('> .acf-label .acf-fc-layout-label');
if (label) {
$layoutHeaderLabelText.html(label);
}
const $layoutHeaderNameText = this.$el.find('> .acf-label .acf-fc-layout-name span');
if (name) {
$layoutHeaderNameText.html(name);
$layoutHeaderNameText.parent().css('display', '');
} else {
$layoutHeaderNameText.parent().css('display', 'none');
}
},
onClickEdit: function (e) {
const $target = $(e.target);
if ($target.hasClass('acf-btn') || $target.hasClass('copyable') || $target.parent().hasClass('acf-btn') || $target.parent().hasClass('copyable')) {
return;
}
this.isOpen() ? this.close() : this.open();
},
isOpen: function (e) {
const $settings = this.$el.children('.acf-field-layout-settings');
return $settings.hasClass('open');
},
open: function (element, isAddingLayout) {
const $header = element ? element.children('.acf-field-settings-fc_head') : this.$el.children('.acf-field-settings-fc_head');
const $settings = element ? element.children('.acf-field-layout-settings') : this.$el.children('.acf-field-layout-settings');
const toggle = element ? element.find('.toggle-indicator').first() : this.$el.find('.toggle-indicator').first();
// action (show)
acf.doAction('show', $settings);
// open
if (isAddingLayout) {
$settings.slideDown({
complete: function () {
$settings.find('.layout-label').trigger('focus');
}
});
} else {
$settings.slideDown();
}
toggle.addClass('open');
if (toggle.hasClass('closed')) {
toggle.removeClass('closed');
}
$settings.addClass('open');
$header.addClass('open');
},
close: function () {
const $header = this.$el.children('.acf-field-settings-fc_head');
const $settings = this.$el.children('.acf-field-layout-settings');
const toggle = this.$el.find('.toggle-indicator').first();
// close
$settings.slideUp();
$settings.removeClass('open');
toggle.removeClass('open');
$header.removeClass('open');
if (!toggle.hasClass('closed')) {
toggle.addClass('closed');
}
// action (hide)
acf.doAction('hide', $settings);
},
onChangeLabel: function (e, $el) {
var label = $el.val();
this.set('layoutLabel', label);
this.$el.attr('data-layout-label', label);
var $name = this.$input('name');
// render name
if ($name.val() == '') {
acf.val($name, acf.strSanitize(label));
this.$el.find('.layout-name').trigger('blur');
}
},
onChangeName: function (e, $el) {
const sanitizedName = acf.strSanitize($el.val(), false);
$el.val(sanitizedName);
this.set('layoutName', sanitizedName);
this.$el.attr('data-layout-name', sanitizedName);
},
onClickAdd: function (e, $el) {
e.preventDefault();
var prevKey = this.get('id');
var newKey = acf.uniqid('layout_');
// duplicate
$layout = acf.duplicate({
$el: this.$el,
search: prevKey,
replace: newKey,
after: function ($el, $el2) {
var $list = $el2.find('.acf-field-list:first');
// remove sub fields
$list.children('.acf-field-object').remove();
// show empty
$list.addClass('-empty');
// reset layout meta values
$el2.attr('data-layout-label', '');
$el2.attr('data-layout-name', '');
$el2.find('.acf-fc-meta input').val('');
$el2.find('label.acf-fc-layout-label').html(acf.__('Layout'));
}
});
// get layout
var layout = acf.getFieldSetting($layout);
// update hidden input
layout.$input('key').val(newKey);
!this.isOpen() ? this.open(layout.$el, true) : layout.$el.find('.layout-label').trigger('focus');
// save
this.fieldObject.save();
},
onClickDuplicate: function (e, $el) {
e.preventDefault();
var prevKey = this.get('id');
var newKey = acf.uniqid('layout_');
// duplicate
$layout = acf.duplicate({
$el: this.$el,
search: prevKey,
replace: newKey
});
// get all fields in new layout similar to fieldManager.onDuplicateField().
// important to run field.wipe() before making any changes to the "parent_layout" prop
// to ensure the correct input is modified.
var children = acf.getFieldObjects({
parent: $layout
});
if (children.length) {
// loop
children.map(function (child) {
// wipe field
child.wipe();
// if the child is open, re-fire the open method to ensure it's initialised correctly.
if (child.isOpen()) {
child.open();
}
// update parent
child.updateParent();
});
// action
acf.doAction('duplicate_field_objects', children, this.fieldObject, this.fieldObject);
}
// get layout
var layout = acf.getFieldSetting($layout);
// get current label/names so we can prepare to append 'copy'
var label = layout.get('layoutLabel');
var name = layout.get('layoutName');
var end = name.split('_').pop();
var copy = acf.__('copy');
// increase suffix "1"
if (acf.isNumeric(end)) {
var i = end * 1 + 1;
label = label.replace(end, i);
name = name.replace(end, i);
// increase suffix "(copy1)"
} else if (end.indexOf(copy) === 0) {
var i = end.replace(copy, '') * 1;
i = i ? i + 1 : 2;
// replace
label = label.replace(end, copy + i);
name = name.replace(end, copy + i);
// add default "(copy)"
} else {
label += ' (' + copy + ')';
name += '_' + copy;
}
// update inputs and data attributes which will trigger header label updates too.
layout.$input('label').val(label);
layout.set('layoutLabel', label);
layout.$el.attr('data-layout-label', label);
layout.$input('name').val(name);
layout.set('layoutName', name);
layout.$el.attr('data-layout-name', name);
// update hidden input
layout.$input('key').val(newKey);
!this.isOpen() ? this.open(layout.$el, true) : layout.$el.find('.layout-label').trigger('focus');
// save
this.fieldObject.save();
},
onClickDelete: function (e, $el) {
e.preventDefault();
// Bypass confirmation when holding down "shift" key.
if (e.shiftKey) {
return this.delete();
}
// add class
this.$el.addClass('-hover');
// add tooltip
var tooltip = acf.newTooltip({
confirmRemove: true,
target: $el,
context: this,
confirm: function () {
this.delete();
},
cancel: function () {
this.$el.removeClass('-hover');
}
});
},
delete: function () {
var $siblings = this.$el.siblings('.acf-field-setting-fc_layout');
// validate
if (!$siblings.length) {
alert(acf.__('Flexible Content requires at least 1 layout'));
return false;
}
// delete sub fields
this.getFields().map(function (child) {
child.delete({
animate: false
});
});
// remove tr
acf.remove(this.$el);
// save
this.fieldObject.save();
}
});
acf.registerFieldSetting(FlexibleContentLayoutFieldSetting);
/**
* flexibleContentHelper
*
* description
*
* @date 19/4/18
* @since 5.6.9
*
* @param type $var Description. Default.
* @return type Description.
*/
var flexibleContentHelper = new acf.Model({
actions: {
sortstop_field_object: 'updateParentLayout',
change_field_object_parent: 'updateParentLayout'
},
updateParentLayout: function (fieldObject) {
var parent = fieldObject.getParent();
// delete meta
if (!parent || parent.prop('type') !== 'flexible_content') {
fieldObject.prop('parent_layout', null);
return;
}
// get layout
var $layout = fieldObject.$el.closest('.acf-field-setting-fc_layout');
var layout = acf.getFieldSetting($layout);
// check if previous prop exists
// - if not, set prop to allow following code to trigger 'change' and save the field
if (!fieldObject.has('parent_layout')) {
fieldObject.prop('parent_layout', 0);
}
// update meta
fieldObject.prop('parent_layout', layout.get('id'));
}
});
})(jQuery);
/***/ }),
/***/ "./src/advanced-custom-fields-pro/assets/src/js/pro/_acf-setting-repeater.js":
/*!***********************************************************************************!*\
!*** ./src/advanced-custom-fields-pro/assets/src/js/pro/_acf-setting-repeater.js ***!
\***********************************************************************************/
/***/ (() => {
(function ($) {
/*
* Repeater
*
* This field type requires some extra logic for its settings
*
* @type function
* @date 24/10/13
* @since 5.0.0
*
* @param n/a
* @return n/a
*/
var RepeaterCollapsedFieldSetting = acf.FieldSetting.extend({
type: 'repeater',
name: 'collapsed',
events: {
'focus select': 'onFocus'
},
onFocus: function (e, $el) {
// vars
var $select = $el;
// collapsed
var choices = [];
// keep 'null' choice
choices.push({
label: $select.find('option[value=""]').text(),
value: ''
});
// find sub fields
var $list = this.fieldObject.$('.acf-field-list:first');
var fields = acf.getFieldObjects({
list: $list
});
// loop
fields.map(function (field) {
choices.push({
label: field.prop('label'),
value: field.prop('key')
});
});
// render
acf.renderSelect($select, choices);
}
});
acf.registerFieldSetting(RepeaterCollapsedFieldSetting);
})(jQuery);
/***/ })
/******/ });
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId];
/******/ if (cachedModule !== undefined) {
/******/ return cachedModule.exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ // no module.id needed
/******/ // no module.loaded needed
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/************************************************************************/
/******/ /* webpack/runtime/compat get default export */
/******/ (() => {
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = (module) => {
/******/ var getter = module && module.__esModule ?
/******/ () => (module['default']) :
/******/ () => (module);
/******/ __webpack_require__.d(getter, { a: getter });
/******/ return getter;
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/define property getters */
/******/ (() => {
/******/ // define getter functions for harmony exports
/******/ __webpack_require__.d = (exports, definition) => {
/******/ for(var key in definition) {
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ }
/******/ }
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ (() => {
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ })();
/******/
/******/ /* webpack/runtime/make namespace object */
/******/ (() => {
/******/ // define __esModule on exports
/******/ __webpack_require__.r = (exports) => {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/ })();
/******/
/************************************************************************/
var __webpack_exports__ = {};
// This entry need to be wrapped in an IIFE because it need to be in strict mode.
(() => {
"use strict";
/*!*********************************************************************************!*\
!*** ./src/advanced-custom-fields-pro/assets/src/js/pro/acf-pro-field-group.js ***!
\*********************************************************************************/
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _acf_setting_repeater_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_acf-setting-repeater.js */ "./src/advanced-custom-fields-pro/assets/src/js/pro/_acf-setting-repeater.js");
/* harmony import */ var _acf_setting_repeater_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_acf_setting_repeater_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _acf_setting_flexible_content_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_acf-setting-flexible-content.js */ "./src/advanced-custom-fields-pro/assets/src/js/pro/_acf-setting-flexible-content.js");
/* harmony import */ var _acf_setting_flexible_content_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_acf_setting_flexible_content_js__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _acf_setting_clone_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_acf-setting-clone.js */ "./src/advanced-custom-fields-pro/assets/src/js/pro/_acf-setting-clone.js");
/* harmony import */ var _acf_setting_clone_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_acf_setting_clone_js__WEBPACK_IMPORTED_MODULE_2__);
})();
/******/ })()
;
//# sourceMappingURL=acf-pro-field-group.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -1,260 +0,0 @@
/******/ (() => { // webpackBootstrap
/******/ var __webpack_modules__ = ({
/***/ "./src/advanced-custom-fields-pro/assets/src/js/pro/_acf-ui-options-page.js":
/*!**********************************************************************************!*\
!*** ./src/advanced-custom-fields-pro/assets/src/js/pro/_acf-ui-options-page.js ***!
\**********************************************************************************/
/***/ (() => {
(function ($, undefined) {
const parentPageSelectTemplate = function (selection) {
if ('undefined' === typeof selection.element) {
return selection;
}
// Hides the optgroup for the "No Parent" option.
if (selection.children && 'None' === selection.text) {
return;
}
if ('acfOptionsPages' === selection.text) {
selection.text = acf.__('Options Pages');
}
return $('<span class="acf-selection"></span>').data('element', selection.element).html(acf.strEscape(selection.text));
};
const defaultPillTemplate = function (selection) {
if ('undefined' === typeof selection.element) {
return selection;
}
const $selection = $('<span class="acf-selection"></span>');
$selection.html(acf.strEscape(selection.element.innerHTML));
if (selection.id === 'options' || selection.id === 'edit_posts') {
$selection.append('<span class="acf-select2-default-pill">' + acf.__('Default') + '</span>');
}
$selection.data('element', selection.element);
return $selection;
};
const UIOptionsPageManager = new acf.Model({
id: 'UIOptionsPageManager',
wait: 'ready',
events: {
'change .acf-options-page-parent_slug': 'toggleMenuPositionDesc'
},
initialize: function () {
if ('ui_options_page' !== acf.get('screen')) {
return;
}
acf.newSelect2($('select.acf-options-page-parent_slug'), {
field: false,
templateSelection: parentPageSelectTemplate,
templateResult: parentPageSelectTemplate,
dropdownCssClass: 'field-type-select-results'
});
acf.newSelect2($('select.acf-options-page-capability'), {
field: false,
templateSelection: defaultPillTemplate,
templateResult: defaultPillTemplate
});
acf.newSelect2($('select.acf-options-page-data_storage'), {
field: false,
templateSelection: defaultPillTemplate,
templateResult: defaultPillTemplate
});
this.toggleMenuPositionDesc();
},
toggleMenuPositionDesc: function (e, $el) {
const parentPage = $('select.acf-options-page-parent_slug').val();
if ('none' === parentPage) {
$('.acf-menu-position-desc-child').hide();
$('.acf-menu-position-desc-parent').show();
} else {
$('.acf-menu-position-desc-parent').hide();
$('.acf-menu-position-desc-child').show();
}
}
});
const optionsPageModalManager = new acf.Model({
id: 'optionsPageModalManager',
events: {
'change .location-rule-value': 'createOptionsPage'
},
createOptionsPage: function (e) {
const $locationSelect = $(e.target);
if ('add_new_options_page' !== $locationSelect.val()) {
return;
}
let popup = false;
const getForm = function () {
const fieldGroupTitle = $('.acf-headerbar-title-field').val();
const ajaxData = {
action: 'acf/create_options_page',
acf_parent_page_choices: this.acf.data.optionPageParentOptions ? this.acf.data.optionPageParentOptions : []
};
if (fieldGroupTitle.length) {
ajaxData.field_group_title = fieldGroupTitle;
}
$.ajax({
url: acf.get('ajaxurl'),
data: acf.prepareForAjax(ajaxData),
type: 'post',
dataType: 'json',
success: populateForm
});
};
const populateForm = function (response) {
popup = acf.newPopup({
title: response.data.title,
content: response.data.content,
width: '600px'
});
popup.$el.addClass('acf-create-options-page-popup');
// Hack to focus with the cursor at the end of the input.
const $pageTitle = popup.$el.find('#acf_ui_options_page-page_title');
const pageTitleVal = $pageTitle.val();
$pageTitle.focus().val('').val(pageTitleVal);
acf.newSelect2($('#acf_ui_options_page-parent_slug'), {
field: false,
templateSelection: parentPageSelectTemplate,
templateResult: parentPageSelectTemplate,
dropdownCssClass: 'field-type-select-results'
});
popup.on('submit', 'form', validateForm);
};
const validateForm = function (e) {
e.preventDefault();
acf.validateForm({
form: $('#acf-create-options-page-form'),
success: submitForm,
failure: onFail
});
};
const submitForm = function () {
const formValues = $('#acf-create-options-page-form').serializeArray();
const ajaxData = {
action: 'acf/create_options_page'
};
formValues.forEach(setting => {
ajaxData[setting.name] = setting.value;
});
$.ajax({
url: acf.get('ajaxurl'),
data: acf.prepareForAjax(ajaxData),
type: 'post',
dataType: 'json',
success: populateLocationSelect
});
};
const onFail = function (e) {
const $form = $('#acf-create-options-page-form');
const $fieldNotices = $form.find('.acf-field .acf-error-message');
// Hide the general validation failed notice.
$form.find('.acf-notice').first().remove();
// Update class for inline notices and move into field label.
$fieldNotices.each(function () {
const $label = $(this).closest('.acf-field').find('.acf-label:first');
$(this).attr('class', 'acf-options-page-modal-error').appendTo($label);
});
};
const populateLocationSelect = function (response) {
if (response.success && response.data.menu_slug) {
$locationSelect.prepend('<option value="' + response.data.menu_slug + '">' + response.data.page_title + '</option>');
$locationSelect.val(response.data.menu_slug);
popup.close();
} else if (!response.success && response.data.error) {
alert(response.data.error);
}
};
getForm();
}
});
})(jQuery);
/***/ })
/******/ });
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId];
/******/ if (cachedModule !== undefined) {
/******/ return cachedModule.exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ // no module.id needed
/******/ // no module.loaded needed
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/************************************************************************/
/******/ /* webpack/runtime/compat get default export */
/******/ (() => {
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = (module) => {
/******/ var getter = module && module.__esModule ?
/******/ () => (module['default']) :
/******/ () => (module);
/******/ __webpack_require__.d(getter, { a: getter });
/******/ return getter;
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/define property getters */
/******/ (() => {
/******/ // define getter functions for harmony exports
/******/ __webpack_require__.d = (exports, definition) => {
/******/ for(var key in definition) {
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ }
/******/ }
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ (() => {
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ })();
/******/
/******/ /* webpack/runtime/make namespace object */
/******/ (() => {
/******/ // define __esModule on exports
/******/ __webpack_require__.r = (exports) => {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/ })();
/******/
/************************************************************************/
var __webpack_exports__ = {};
// This entry need to be wrapped in an IIFE because it need to be in strict mode.
(() => {
"use strict";
/*!*************************************************************************************!*\
!*** ./src/advanced-custom-fields-pro/assets/src/js/pro/acf-pro-ui-options-page.js ***!
\*************************************************************************************/
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _acf_ui_options_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_acf-ui-options-page */ "./src/advanced-custom-fields-pro/assets/src/js/pro/_acf-ui-options-page.js");
/* harmony import */ var _acf_ui_options_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_acf_ui_options_page__WEBPACK_IMPORTED_MODULE_0__);
})();
/******/ })()
;
//# sourceMappingURL=acf-pro-ui-options-page.js.map

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
(()=>{var e={805:()=>{!function(e,t){const a=function(t){return void 0===t.element?t:t.children&&"None"===t.text?void 0:("acfOptionsPages"===t.text&&(t.text=acf.__("Options Pages")),e('<span class="acf-selection"></span>').data("element",t.element).html(acf.strEscape(t.text)))},n=function(t){if(void 0===t.element)return t;const a=e('<span class="acf-selection"></span>');return a.html(acf.strEscape(t.element.innerHTML)),"options"!==t.id&&"edit_posts"!==t.id||a.append('<span class="acf-select2-default-pill">'+acf.__("Default")+"</span>"),a.data("element",t.element),a};new acf.Model({id:"UIOptionsPageManager",wait:"ready",events:{"change .acf-options-page-parent_slug":"toggleMenuPositionDesc"},initialize:function(){"ui_options_page"===acf.get("screen")&&(acf.newSelect2(e("select.acf-options-page-parent_slug"),{field:!1,templateSelection:a,templateResult:a,dropdownCssClass:"field-type-select-results"}),acf.newSelect2(e("select.acf-options-page-capability"),{field:!1,templateSelection:n,templateResult:n}),acf.newSelect2(e("select.acf-options-page-data_storage"),{field:!1,templateSelection:n,templateResult:n}),this.toggleMenuPositionDesc())},toggleMenuPositionDesc:function(t,a){"none"===e("select.acf-options-page-parent_slug").val()?(e(".acf-menu-position-desc-child").hide(),e(".acf-menu-position-desc-parent").show()):(e(".acf-menu-position-desc-parent").hide(),e(".acf-menu-position-desc-child").show())}}),new acf.Model({id:"optionsPageModalManager",events:{"change .location-rule-value":"createOptionsPage"},createOptionsPage:function(t){const n=e(t.target);if("add_new_options_page"!==n.val())return;let o=!1;const s=function(t){o=acf.newPopup({title:t.data.title,content:t.data.content,width:"600px"}),o.$el.addClass("acf-create-options-page-popup");const n=o.$el.find("#acf_ui_options_page-page_title"),s=n.val();n.focus().val("").val(s),acf.newSelect2(e("#acf_ui_options_page-parent_slug"),{field:!1,templateSelection:a,templateResult:a,dropdownCssClass:"field-type-select-results"}),o.on("submit","form",c)},c=function(t){t.preventDefault(),acf.validateForm({form:e("#acf-create-options-page-form"),success:i,failure:l})},i=function(){const t=e("#acf-create-options-page-form").serializeArray(),a={action:"acf/create_options_page"};t.forEach((e=>{a[e.name]=e.value})),e.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(a),type:"post",dataType:"json",success:p})},l=function(t){const a=e("#acf-create-options-page-form"),n=a.find(".acf-field .acf-error-message");a.find(".acf-notice").first().remove(),n.each((function(){const t=e(this).closest(".acf-field").find(".acf-label:first");e(this).attr("class","acf-options-page-modal-error").appendTo(t)}))},p=function(e){e.success&&e.data.menu_slug?(n.prepend('<option value="'+e.data.menu_slug+'">'+e.data.page_title+"</option>"),n.val(e.data.menu_slug),o.close()):!e.success&&e.data.error&&alert(e.data.error)};!function(){const t=e(".acf-headerbar-title-field").val(),a={action:"acf/create_options_page",acf_parent_page_choices:this.acf.data.optionPageParentOptions?this.acf.data.optionPageParentOptions:[]};t.length&&(a.field_group_title=t),e.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(a),type:"post",dataType:"json",success:s})}()}})}(jQuery)}},t={};function a(n){var o=t[n];if(void 0!==o)return o.exports;var s=t[n]={exports:{}};return e[n](s,s.exports,a),s.exports}a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";a(805)})()})();
(()=>{var e={805:()=>{!function(e){const t=function(t){return void 0===t.element?t:t.children&&"None"===t.text?void 0:("acfOptionsPages"===t.text&&(t.text=acf.__("Options Pages")),e('<span class="acf-selection"></span>').data("element",t.element).html(acf.strEscape(t.text)))},a=function(t){if(void 0===t.element)return t;const a=e('<span class="acf-selection"></span>');return a.html(acf.strEscape(t.element.innerHTML)),"options"!==t.id&&"edit_posts"!==t.id||a.append('<span class="acf-select2-default-pill">'+acf.__("Default")+"</span>"),a.data("element",t.element),a};new acf.Model({id:"UIOptionsPageManager",wait:"ready",events:{"change .acf-options-page-parent_slug":"toggleMenuPositionDesc"},initialize:function(){"ui_options_page"===acf.get("screen")&&(acf.newSelect2(e("select.acf-options-page-parent_slug"),{field:!1,templateSelection:t,templateResult:t,dropdownCssClass:"field-type-select-results"}),acf.newSelect2(e("select.acf-options-page-capability"),{field:!1,templateSelection:a,templateResult:a}),acf.newSelect2(e("select.acf-options-page-data_storage"),{field:!1,templateSelection:a,templateResult:a}),this.toggleMenuPositionDesc())},toggleMenuPositionDesc:function(t,a){"none"===e("select.acf-options-page-parent_slug").val()?(e(".acf-menu-position-desc-child").hide(),e(".acf-menu-position-desc-parent").show()):(e(".acf-menu-position-desc-parent").hide(),e(".acf-menu-position-desc-child").show())}}),new acf.Model({id:"optionsPageModalManager",events:{"change .location-rule-value":"createOptionsPage"},createOptionsPage:function(a){const n=e(a.target);if("add_new_options_page"!==n.val())return;let o=!1;const s=function(a){o=acf.newPopup({title:a.data.title,content:a.data.content,width:"600px"}),o.$el.addClass("acf-create-options-page-popup");const n=o.$el.find("#acf_ui_options_page-page_title"),s=n.val();n.focus().val("").val(s),acf.newSelect2(e("#acf_ui_options_page-parent_slug"),{field:!1,templateSelection:t,templateResult:t,dropdownCssClass:"field-type-select-results"}),o.on("submit","form",c)},c=function(t){t.preventDefault(),acf.validateForm({form:e("#acf-create-options-page-form"),success:i,failure:l})},i=function(){const t=e("#acf-create-options-page-form").serializeArray(),a={action:"acf/create_options_page"};t.forEach((e=>{a[e.name]=e.value})),e.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(a),type:"post",dataType:"json",success:p})},l=function(t){const a=e("#acf-create-options-page-form"),n=a.find(".acf-field .acf-error-message");a.find(".acf-notice").first().remove(),n.each((function(){const t=e(this).closest(".acf-field").find(".acf-label:first");e(this).attr("class","acf-options-page-modal-error").appendTo(t)}))},p=function(e){e.success&&e.data.menu_slug?(n.prepend('<option value="'+e.data.menu_slug+'">'+e.data.page_title+"</option>"),n.val(e.data.menu_slug),o.close()):!e.success&&e.data.error&&alert(e.data.error)};!function(){const t=e(".acf-headerbar-title-field").val(),a={action:"acf/create_options_page",acf_parent_page_choices:this.acf.data.optionPageParentOptions?this.acf.data.optionPageParentOptions:[]};t.length&&(a.field_group_title=t),e.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(a),type:"post",dataType:"json",success:s})}()}})}(jQuery)}},t={};function a(n){var o=t[n];if(void 0!==o)return o.exports;var s=t[n]={exports:{}};return e[n](s,s.exports,a),s.exports}a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";a(805)})()})();

View File

@ -47,13 +47,35 @@ class Bindings {
* @param array $source_attrs An array of the source attributes requested.
* @param \WP_Block $block_instance The block instance.
* @param string $attribute_name The block's bound attribute name.
* @return string The block binding value.
* @return string|null The block binding value or an empty string on failure.
*/
public function get_value( array $source_attrs, \WP_Block $block_instance, string $attribute_name ) {
if ( ! isset( $source_attrs['key'] ) || ! is_string( $source_attrs['key'] ) ) {
$value = null;
$value = '';
} else {
$value = get_field( $source_attrs['key'] );
$field = get_field_object( $source_attrs['key'], false, true, true, true );
if ( ! $field ) {
return '';
}
if ( ! acf_field_type_supports( $field['type'], 'bindings', true ) ) {
if ( is_preview() ) {
return apply_filters( 'acf/bindings/field_not_supported_message', '[' . esc_html__( 'The requested ACF field type does not support output in Block Bindings or the ACF shortcode.', 'acf' ) . ']' );
} else {
return '';
}
}
if ( isset( $field['allow_in_bindings'] ) && ! $field['allow_in_bindings'] ) {
if ( is_preview() ) {
return apply_filters( 'acf/bindings/field_not_allowed_message', '[' . esc_html__( 'The requested ACF field is not allowed to be output in bindings or the ACF Shortcode.', 'acf' ) . ']' );
} else {
return '';
}
}
$value = $field['value'];
if ( is_array( $value ) ) {
$value = implode( ', ', $value );

View File

@ -5,24 +5,28 @@
* @package ACF
*/
namespace ACF;
use WP_Error;
// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
if ( ! class_exists( 'ACF_Updates' ) ) {
if ( ! class_exists( 'Updater' ) ) {
/**
* class for handling API services.
*/
class ACF_Updates {
class Updater {
/**
* The ACF_Updates version
* The Updater version
*
* @var string
*/
public $version = '2.4';
public $version = '3.0';
/**
* The array of registered plugins
@ -45,8 +49,8 @@ if ( ! class_exists( 'ACF_Updates' ) ) {
*/
public function __construct() {
// disable showing updates if show updates is hidden.
if ( ! acf_pro_is_updates_page_visible() ) {
// disable showing PRO updates if show updates is hidden.
if ( acf_is_pro() && ! acf_pro_is_updates_page_visible() ) {
return;
}
@ -120,7 +124,16 @@ if ( ! class_exists( 'ACF_Updates' ) ) {
*/
public function request( $endpoint = '', $body = null ) {
// Determine URL.
$site_url = acf_get_home_url();
if ( empty( $site_url ) || ! is_string( $site_url ) ) {
$site_url = '';
}
$headers = array(
'X-ACF-Version' => ACF_VERSION,
'X-ACF-URL' => $site_url,
);
$url = "https://connect.advancedcustomfields.com/$endpoint";
// Staging environment.
@ -129,27 +142,25 @@ if ( ! class_exists( 'ACF_Updates' ) ) {
acf_log( $url, $body );
}
$license_key = acf_pro_get_license_key();
if ( ! $license_key ) {
$license_key = '';
}
$site_url = acf_pro_get_home_url();
if ( ! $site_url ) {
$site_url = '';
// Determine URL.
if ( acf_is_pro() ) {
$license_key = acf_pro_get_license_key();
if ( empty( $license_key ) || ! is_string( $license_key ) ) {
$license_key = '';
}
$headers['X-ACF-License'] = $license_key;
$headers['X-ACF-Plugin'] = 'pro';
} else {
$headers['X-ACF-Plugin'] = 'acf';
}
// Make request.
$raw_response = wp_remote_post(
$url,
array(
'timeout' => 28,
'timeout' => 20,
'body' => $body,
'headers' => array(
'X-ACF-Version' => ACF_VERSION,
'X-ACF-License' => $license_key,
'X-ACF-URL' => $site_url,
),
'headers' => $headers,
)
);
@ -298,7 +309,7 @@ if ( ! class_exists( 'ACF_Updates' ) ) {
'wp' => wp_json_encode(
array(
'wp_name' => get_bloginfo( 'name' ),
'wp_url' => acf_pro_get_home_url(),
'wp_url' => acf_get_home_url(),
'wp_version' => get_bloginfo( 'version' ),
'wp_language' => get_bloginfo( 'language' ),
'wp_timezone' => get_option( 'timezone_string' ),
@ -310,7 +321,7 @@ if ( ! class_exists( 'ACF_Updates' ) ) {
array(
'acf_version' => get_option( 'acf_version' ),
'acf_pro' => acf_is_pro(),
'block_count' => acf_pro_get_registered_block_count(),
'block_count' => function_exists( 'acf_pro_get_registered_block_count' ) ? acf_pro_get_registered_block_count() : 0,
)
),
);
@ -481,34 +492,4 @@ if ( ! class_exists( 'ACF_Updates' ) ) {
}
}
/**
* The main function responsible for returning the acf_updates singleton.
* Use this function like you would a global variable, except without needing to declare the global.
*
* Example: <?php $acf_updates = acf_updates(); ?>
*
* @since 5.5.12
*
* @return ACF_Updates The singleton instance of ACF_Updates.
*/
function acf_updates() {
global $acf_updates;
if ( ! isset( $acf_updates ) ) {
$acf_updates = new ACF_Updates();
}
return $acf_updates;
}
/**
* Alias of acf_updates()->add_plugin().
*
* @since 5.5.10
*
* @param array $plugin Plugin data array.
*/
function acf_register_plugin_update( $plugin ) {
acf_updates()->add_plugin( $plugin );
}
}

View File

@ -0,0 +1,2 @@
<?php
// There are many ways to WordPress.

View File

@ -70,11 +70,10 @@ function acf_esc_attrs( $attrs ) {
*
* This function emulates `wp_kses_post()` with a context of "acf" for extensibility.
*
* @date 16/4/21
* @since 5.9.6
* @since 5.9.6
*
* @param string $string
* @return string
* @param string $string The string to be escaped
* @return string|false
*/
function acf_esc_html( $string = '' ) {
@ -88,12 +87,11 @@ function acf_esc_html( $string = '' ) {
/**
* Private callback for the "wp_kses_allowed_html" filter used to return allowed HTML for "acf" context.
*
* @date 16/4/21
* @since 5.9.6
*
* @param array $tags An array of allowed tags.
* @param string $context The context name.
* @return array.
* @param array $tags An array of allowed tags.
* @param string $context The context name.
* @return array
*/
function _acf_kses_allowed_html( $tags, $context ) {
global $allowedposttags;

View File

@ -312,6 +312,15 @@ if ( ! class_exists( 'ACF_Admin_Post_Type' ) ) :
$_POST['acf_post_type']['ID'] = $post_id;
$_POST['acf_post_type']['title'] = isset( $_POST['acf_post_type']['labels']['name'] ) ? $_POST['acf_post_type']['labels']['name'] : '';
if ( ! acf_get_setting( 'enable_meta_box_cb_edit' ) ) {
$_POST['acf_post_type']['register_meta_box_cb'] = '';
$existing_post = acf_maybe_unserialize( $post->post_content );
if ( ! empty( $existing_post['register_meta_box_cb'] ) ) {
$_POST['acf_post_type']['register_meta_box_cb'] = $existing_post['register_meta_box_cb'];
}
}
// Save the post type.
acf_update_internal_post_type( $_POST['acf_post_type'], $this->post_type ); // phpcs:ignore WordPress.Security.NonceVerification.Missing -- Validated in verify_save_post
// phpcs:enable WordPress.Security.ValidatedSanitizedInput.InputNotSanitized

View File

@ -314,6 +314,29 @@ if ( ! class_exists( 'ACF_Admin_Taxonomy' ) ) :
$_POST['acf_taxonomy']['ID'] = $post_id;
$_POST['acf_taxonomy']['title'] = isset( $_POST['acf_taxonomy']['labels']['name'] ) ? $_POST['acf_taxonomy']['labels']['name'] : '';
if ( ! acf_get_setting( 'enable_meta_box_cb_edit' ) ) {
$_POST['acf_taxonomy']['meta_box_cb'] = '';
$_POST['acf_taxonomy']['meta_box_sanitize_cb'] = '';
if ( ! empty( $_POST['acf_taxonomy']['meta_box'] ) && 'custom' === $_POST['acf_taxonomy']['meta_box'] ) {
$_POST['acf_taxonomy']['meta_box'] = 'default';
}
$existing_post = acf_maybe_unserialize( $post->post_content );
if ( ! empty( $existing_post['meta_box'] ) ) {
$_POST['acf_taxonomy']['meta_box'] = $existing_post['meta_box'];
}
if ( ! empty( $existing_post['meta_box_cb'] ) ) {
$_POST['acf_taxonomy']['meta_box_cb'] = $existing_post['meta_box_cb'];
}
if ( ! empty( $existing_post['meta_box_sanitize_cb'] ) ) {
$_POST['acf_taxonomy']['meta_box_sanitize_cb'] = $existing_post['meta_box_sanitize_cb'];
}
}
// Save the taxonomy.
acf_update_internal_post_type( $_POST['acf_taxonomy'], $this->post_type ); // phpcs:ignore WordPress.Security.NonceVerification.Missing -- Validated in verify_save_post
// phpcs:enable WordPress.Security.ValidatedSanitizedInput.InputNotSanitized

View File

@ -319,6 +319,7 @@ if ( isset( $field['conditional_logic'] ) && is_array( $field['conditional_logic
?>
<div class="acf-field-settings-footer">
<a class="button close-field edit-field" title="<?php esc_attr_e( 'Close Field', 'acf' ); ?>" href="#"><?php esc_html_e( 'Close Field', 'acf' ); ?></a>
<a class="acf-btn acf-btn-secondary close-add-field" title="<?php esc_attr_e( 'Close and Add Field', 'acf' ); ?>" href="#"><?php esc_html_e( 'Close and Add Field', 'acf' ); ?></a>
</div>
</div>
</div>

View File

@ -98,7 +98,7 @@ if ( $is_subfield ) {
<ul class="acf-hl acf-tfoot">
<li class="acf-fr">
<a href="#" class="acf-btn acf-btn-secondary add-field"><i class="acf-icon acf-icon-plus"></i><?php esc_html_e( 'Add Field', 'acf' ); ?></a>
<a href="#" class="acf-btn acf-btn-sm add-field"><i class="acf-icon acf-icon-plus"></i><?php esc_html_e( 'Add Field', 'acf' ); ?></a>
</li>
</ul>

View File

@ -838,24 +838,39 @@ foreach ( acf_get_combined_post_type_settings_tabs() as $tab_key => $tab_label )
'field'
);
acf_render_field_wrap(
array(
'type' => 'text',
'name' => 'register_meta_box_cb',
'key' => 'register_meta_box_cb',
'prefix' => 'acf_post_type',
'value' => $acf_post_type['register_meta_box_cb'],
'label' => __( 'Custom Meta Box Callback', 'acf' ),
'instructions' => __( 'A PHP function name to be called when setting up the meta boxes for the edit screen.', 'acf' ),
'conditions' => array(
'field' => 'show_ui',
'operator' => '==',
'value' => '1',
$acf_enable_meta_box_cb_edit = acf_get_setting( 'enable_meta_box_cb_edit' );
$acf_meta_box_cb_instructions = __( 'A PHP function name to be called when setting up the meta boxes for the edit screen. For security, this callback will be executed in a special context without access to any superglobals like $_POST or $_GET.', 'acf' );
// Only show if user is allowed to update, or if it already has a value.
if ( $acf_enable_meta_box_cb_edit || ! empty( $acf_post_type['register_meta_box_cb'] ) ) {
if ( ! $acf_enable_meta_box_cb_edit ) {
if ( is_multisite() ) {
$acf_meta_box_cb_instructions .= ' ' . __( 'By default only super admin users can edit this setting.', 'acf' );
} else {
$acf_meta_box_cb_instructions .= ' ' . __( 'By default only admin users can edit this setting.', 'acf' );
}
}
acf_render_field_wrap(
array(
'type' => 'text',
'name' => 'register_meta_box_cb',
'key' => 'register_meta_box_cb',
'prefix' => 'acf_post_type',
'value' => $acf_post_type['register_meta_box_cb'],
'label' => __( 'Custom Meta Box Callback', 'acf' ),
'instructions' => $acf_meta_box_cb_instructions,
'readonly' => ! $acf_enable_meta_box_cb_edit,
'conditions' => array(
'field' => 'show_ui',
'operator' => '==',
'value' => '1',
),
),
),
'div',
'field'
);
'div',
'field'
);
}
acf_render_field_wrap(
array(

View File

@ -745,6 +745,16 @@ foreach ( acf_get_combined_taxonomy_settings_tabs() as $tab_key => $tab_label )
$acf_tags_meta_box_text = __( 'Tags Meta Box', 'acf' );
$acf_categories_meta_box_text = __( 'Categories Meta Box', 'acf' );
$acf_default_meta_box_text = empty( $acf_taxonomy['hierarchical'] ) ? $acf_tags_meta_box_text : $acf_categories_meta_box_text;
$acf_enable_meta_box_cb_edit = acf_get_setting( 'enable_meta_box_cb_edit' );
$acf_meta_box_choices = array(
'default' => $acf_default_meta_box_text,
'custom' => __( 'Custom Meta Box', 'acf' ),
'disabled' => __( 'No Meta Box', 'acf' ),
);
if ( ! $acf_enable_meta_box_cb_edit && 'custom' !== $acf_taxonomy['meta_box'] ) {
unset( $acf_meta_box_choices['custom'] );
}
acf_render_field_wrap(
array(
@ -757,11 +767,7 @@ foreach ( acf_get_combined_taxonomy_settings_tabs() as $tab_key => $tab_label )
'label' => __( 'Meta Box', 'acf' ),
'instructions' => __( 'Controls the meta box on the content editor screen. By default, the Categories meta box is shown for hierarchical taxonomies, and the Tags meta box is shown for non-hierarchical taxonomies.', 'acf' ),
'hide_search' => true,
'choices' => array(
'default' => $acf_default_meta_box_text,
'custom' => __( 'Custom Meta Box', 'acf' ),
'disabled' => __( 'No Meta Box', 'acf' ),
),
'choices' => $acf_meta_box_choices,
'data' => array(
'tags_meta_box' => __( 'Tags Meta Box', 'acf' ),
'categories_meta_box' => __( 'Categories Meta Box', 'acf' ),
@ -794,54 +800,68 @@ foreach ( acf_get_combined_taxonomy_settings_tabs() as $tab_key => $tab_label )
)
);
acf_render_field_wrap(
array(
'type' => 'text',
'name' => 'meta_box_cb',
'key' => 'meta_box_cb',
'prefix' => 'acf_taxonomy',
'value' => $acf_taxonomy['meta_box_cb'],
'label' => __( 'Register Meta Box Callback', 'acf' ),
'instructions' => __( 'A PHP function name to be called to handle the content of a meta box on your taxonomy.', 'acf' ),
'conditions' => array(
'field' => 'meta_box',
'operator' => '==',
'value' => 'custom',
),
),
'div',
'field'
);
if ( $acf_enable_meta_box_cb_edit || 'custom' === $acf_taxonomy['meta_box'] ) {
$acf_meta_box_cb_instructions = __( 'A PHP function name to be called to handle the content of a meta box on your taxonomy. For security, this callback will be executed in a special context without access to any superglobals like $_POST or $_GET.', 'acf' );
acf_render_field_wrap(
array(
'type' => 'text',
'name' => 'meta_box_sanitize_cb',
'key' => 'meta_box_sanitize_cb',
'prefix' => 'acf_taxonomy',
'value' => $acf_taxonomy['meta_box_sanitize_cb'],
'label' => __( 'Meta Box Sanitization Callback', 'acf' ),
'instructions' => __( 'A PHP function name to be called for sanitizing taxonomy data saved from a meta box.', 'acf' ),
'conditions' => array(
'field' => 'meta_box',
'operator' => '==',
'value' => 'custom',
),
),
'div',
'field'
);
if ( ! $acf_enable_meta_box_cb_edit ) {
if ( is_multisite() ) {
$acf_meta_box_cb_instructions .= ' ' . __( 'By default only super admin users can edit this setting.', 'acf' );
} else {
$acf_meta_box_cb_instructions .= ' ' . __( 'By default only admin users can edit this setting.', 'acf' );
}
}
acf_render_field_wrap(
array(
'type' => 'seperator',
'conditions' => array(
'field' => 'meta_box',
'operator' => '==',
'value' => 'custom',
acf_render_field_wrap(
array(
'type' => 'text',
'name' => 'meta_box_cb',
'key' => 'meta_box_cb',
'prefix' => 'acf_taxonomy',
'value' => $acf_taxonomy['meta_box_cb'],
'label' => __( 'Register Meta Box Callback', 'acf' ),
'instructions' => $acf_meta_box_cb_instructions,
'readonly' => ! $acf_enable_meta_box_cb_edit,
'conditions' => array(
'field' => 'meta_box',
'operator' => '==',
'value' => 'custom',
),
),
)
);
'div',
'field'
);
acf_render_field_wrap(
array(
'type' => 'text',
'name' => 'meta_box_sanitize_cb',
'key' => 'meta_box_sanitize_cb',
'prefix' => 'acf_taxonomy',
'value' => $acf_taxonomy['meta_box_sanitize_cb'],
'label' => __( 'Meta Box Sanitization Callback', 'acf' ),
'instructions' => __( 'A PHP function name to be called for sanitizing taxonomy data saved from a meta box.', 'acf' ),
'readonly' => ! $acf_enable_meta_box_cb_edit,
'conditions' => array(
'field' => 'meta_box',
'operator' => '==',
'value' => 'custom',
),
),
'div',
'field'
);
acf_render_field_wrap(
array(
'type' => 'seperator',
'conditions' => array(
'field' => 'meta_box',
'operator' => '==',
'value' => 'custom',
),
)
);
}
acf_render_field_wrap(
array(

View File

@ -28,7 +28,7 @@ if ( current_user_can( acf_get_setting( 'capability' ) ) ) {
}
$acf_error_msg = sprintf(
/* translators: %1$s - name of the ACF plugin. %2$s - Link to documentation. %3$s - Link to show more details about the error */
/* translators: %1$s - name of the ACF plugin. %2$s - Link to documentation. */
__( '%1$s ACF now automatically escapes unsafe HTML when rendered by <code>the_field</code> or the ACF shortcode. We\'ve detected the output of some of your fields has been modified by this change, but this may not be a breaking change. %2$s.', 'acf' ),
$acf_plugin_name,
$acf_learn_how_to_fix

View File

@ -34,7 +34,7 @@ if ( ! class_exists( 'ACF_Ajax_Local_JSON_Diff' ) ) :
public function get_response( $request ) {
// Bail early if the current user can't access the ACF admin.
if ( ! acf_current_user_can_admin() ) {
return new WP_Error( 'acf_not_allowed', __( 'Sorry, you are not allowed to do that.', 'acf' ), array( 'status' => 403 ) );
return new WP_Error( 'acf_not_allowed', __( 'Sorry, you do not have permission to do that.', 'acf' ), array( 'status' => 403 ) );
}
$json = array();

View File

@ -24,8 +24,9 @@ if ( ! class_exists( 'ACF_Ajax_Query_Users' ) ) :
return new WP_Error( 'acf_invalid_args', __( 'Invalid request args.', 'acf' ), array( 'status' => 404 ) );
}
$nonce = $request['nonce'];
$action = $request['field_key'];
$nonce = $request['nonce'];
$action = $request['field_key'];
$field_action = true;
if ( isset( $request['conditional_logic'] ) && true === (bool) $request['conditional_logic'] ) {
if ( ! acf_current_user_can_admin() ) {
@ -33,11 +34,12 @@ if ( ! class_exists( 'ACF_Ajax_Query_Users' ) ) :
}
// Use the standard ACF admin nonce.
$nonce = '';
$action = '';
$nonce = '';
$action = '';
$field_action = false;
}
if ( ! acf_verify_ajax( $nonce, $action ) ) {
if ( ! acf_verify_ajax( $nonce, $action, $field_action ) ) {
return new WP_Error( 'acf_invalid_nonce', __( 'Invalid nonce.', 'acf' ), array( 'status' => 404 ) );
}

View File

@ -21,7 +21,7 @@ if ( ! class_exists( 'ACF_Ajax_Upgrade' ) ) :
*/
public function get_response( $request ) {
if ( ! current_user_can( acf_get_setting( 'capability' ) ) ) {
return new WP_Error( 'upgrade_error', __( 'Sorry, you don\'t have permission to do that.', 'acf' ) );
return new WP_Error( 'upgrade_error', __( 'Sorry, you do not have permission to do that.', 'acf' ) );
}
// Switch blog.

View File

@ -687,16 +687,32 @@ function acf_verify_nonce( $value ) {
*
* @since 5.2.3
*
* @param string $nonce The nonce to check.
* @param string $action The action of the nonce.
* @param string $nonce The nonce to check.
* @param string $action The action of the nonce.
* @param boolean $action_is_field If the action is a field, modify the action to match validate the field type.
* @return boolean
*/
function acf_verify_ajax( $nonce = '', $action = '' ) {
function acf_verify_ajax( $nonce = '', $action = '', $action_is_field = false ) {
// Bail early if we don't have a nonce to check.
if ( empty( $nonce ) && empty( $_REQUEST['nonce'] ) ) {
return false;
}
// Build the action if we're trying to validate a specific field nonce.
if ( $action_is_field ) {
if ( ! acf_is_field_key( $action ) ) {
return false;
}
$field = acf_get_field( $action );
if ( empty( $field['type'] ) ) {
return false;
}
$action = 'acf_field_' . $field['type'] . '_' . $action;
}
$nonce_to_check = ! empty( $nonce ) ? $nonce : $_REQUEST['nonce']; // phpcs:ignore WordPress.Security -- We're verifying a nonce here.
$nonce_action = ! empty( $action ) ? $action : 'acf_nonce';
@ -3974,3 +3990,20 @@ function acf_is_multisite_main_site() {
}
return false;
}
/**
* Allow filterable permissions metabox callbacks.
*
* @since 6.3.10
*
* @param boolean $enable_meta_box_cb_edit Can the current user edit metabox callbacks.
* @return boolean
*/
function acf_settings_enable_meta_box_cb_edit( $enable_meta_box_cb_edit ): bool {
if ( ! is_super_admin() ) {
return false;
}
return (bool) $enable_meta_box_cb_edit;
}
add_filter( 'acf/settings/enable_meta_box_cb_edit', 'acf_settings_enable_meta_box_cb_edit', 1 );

View File

@ -1008,7 +1008,7 @@ function acf_shortcode( $atts ) {
// Return if the ACF shortcode is disabled.
if ( ! acf_get_setting( 'enable_shortcode' ) ) {
if ( is_preview() ) {
return apply_filters( 'acf/shortcode/disabled_message', __( '[The ACF shortcode is disabled on this site]', 'acf' ) );
return apply_filters( 'acf/shortcode/disabled_message', esc_html__( '[The ACF shortcode is disabled on this site]', 'acf' ) );
} else {
return;
}
@ -1024,7 +1024,7 @@ function acf_shortcode( $atts ) {
// Limit previews of ACF shortcode data for users without publish_posts permissions.
$preview_capability = apply_filters( 'acf/shortcode/preview_capability', 'publish_posts' );
if ( is_preview() && ! current_user_can( $preview_capability ) ) {
return apply_filters( 'acf/shortcode/preview_capability_message', __( '[ACF shortcode value disabled for preview]', 'acf' ) );
return apply_filters( 'acf/shortcode/preview_capability_message', esc_html__( '[ACF shortcode value disabled for preview]', 'acf' ) );
}
// Mitigate issue where some AJAX requests can return ACF field data.
@ -1051,7 +1051,7 @@ function acf_shortcode( $atts ) {
if ( $decoded_post_id['type'] === 'post' ) {
if ( $atts['post_id'] !== false && ( (int) $atts['post_id'] !== (int) acf_get_valid_post_id() ) && ( ! is_post_publicly_viewable( $decoded_post_id['id'] ) ) && apply_filters( 'acf/shortcode/prevent_access_to_fields_on_non_public_posts', true ) ) {
if ( is_preview() ) {
return apply_filters( 'acf/shortcode/post_not_public_message', __( '[The ACF shortcode cannot display fields from non-public posts]', 'acf' ) );
return apply_filters( 'acf/shortcode/post_not_public_message', esc_html__( '[The ACF shortcode cannot display fields from non-public posts]', 'acf' ) );
} else {
return;
}
@ -1072,10 +1072,30 @@ function acf_shortcode( $atts ) {
$field_type = is_array( $field ) && isset( $field['type'] ) ? $field['type'] : 'text';
if ( ! acf_field_type_supports( $field_type, 'bindings', true ) ) {
if ( is_preview() ) {
return apply_filters( 'acf/shortcode/field_not_supported_message', '[' . esc_html__( 'The requested ACF field type does not support output in bindings or the ACF Shortcode.', 'acf' ) . ']' );
} else {
return;
}
}
if ( isset( $field['allow_in_bindings'] ) && ! $field['allow_in_bindings'] ) {
if ( is_preview() ) {
return apply_filters( 'acf/shortcode/field_not_allowed_message', '[' . esc_html__( 'The requested ACF field is not allowed to be output in bindings or the ACF Shortcode.', 'acf' ) . ']' );
} else {
return;
}
}
if ( apply_filters( 'acf/shortcode/prevent_access', false, $atts, $decoded_post_id['id'], $decoded_post_id['type'], $field_type, $field ) ) {
return;
}
if ( is_array( $value ) ) {
$value = implode( ', ', $value );
}
// Temporarily always get the unescaped version for action comparison.
$unescaped_value = get_field( $atts['field'], $post_id, $atts['format_value'], false );

View File

@ -107,7 +107,7 @@ if ( ! class_exists( 'ACF_Assets' ) ) :
*/
public function register_scripts() {
// Extract vars.
$suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
$suffix = defined( 'ACF_DEVELOPMENT_MODE' ) && ACF_DEVELOPMENT_MODE ? '' : '.min';
$version = acf_get_setting( 'version' );
// Register scripts.
@ -118,9 +118,9 @@ if ( ! class_exists( 'ACF_Assets' ) ) :
wp_register_script( 'acf-escaped-html-notice', acf_get_url( 'assets/build/js/acf-escaped-html-notice' . $suffix . '.js' ), array( 'jquery' ), $version, true );
// Register styles.
wp_register_style( 'acf-global', acf_get_url( 'assets/build/css/acf-global.css' ), array( 'dashicons' ), $version );
wp_register_style( 'acf-input', acf_get_url( 'assets/build/css/acf-input.css' ), array( 'acf-global' ), $version );
wp_register_style( 'acf-field-group', acf_get_url( 'assets/build/css/acf-field-group.css' ), array( 'acf-input' ), $version );
wp_register_style( 'acf-global', acf_get_url( 'assets/build/css/acf-global' . $suffix . '.css' ), array( 'dashicons' ), $version );
wp_register_style( 'acf-input', acf_get_url( 'assets/build/css/acf-input' . $suffix . '.css' ), array( 'acf-global' ), $version );
wp_register_style( 'acf-field-group', acf_get_url( 'assets/build/css/acf-field-group' . $suffix . '.css' ), array( 'acf-input' ), $version );
/**
* Fires after core scripts and styles have been registered.
@ -475,7 +475,7 @@ if ( ! class_exists( 'ACF_Assets' ) ) :
'validation' => acf_get_form_data( 'validation' ),
'editor' => acf_is_block_editor() ? 'block' : 'classic',
'is_pro' => acf_is_pro(),
'debug' => acf_is_beta() || ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ),
'debug' => acf_is_beta() || ( defined( 'ACF_DEVELOPMENT_MODE' ) && ACF_DEVELOPMENT_MODE ),
);
acf_localize_data( $data_to_localize );

View File

@ -287,6 +287,11 @@ if ( ! class_exists( 'ACF_Site_Health' ) ) {
'debug' => $is_pro ? 'PRO' : 'Free',
);
$fields['update_source'] = array(
'label' => __( 'Update Source', 'acf' ),
'value' => __( 'ACF Direct', 'acf' ),
);
if ( $is_pro ) {
$fields['activated'] = array(
'label' => __( 'License Activated', 'acf' ),

View File

@ -26,7 +26,10 @@ if ( ! class_exists( 'acf_field__accordion' ) ) :
$this->description = __( 'Allows you to group and organize custom fields into collapsable panels that are shown while editing content. Useful for keeping large datasets tidy.', 'acf' );
$this->preview_image = acf_get_url() . '/assets/images/field-type-previews/field-preview-accordion.png';
$this->doc_url = acf_add_url_utm_tags( 'https://www.advancedcustomfields.com/resources/accordion/', 'docs', 'field-type-selection' );
$this->supports = array( 'required' => false );
$this->supports = array(
'required' => false,
'bindings' => false,
);
$this->defaults = array(
'open' => 0,
'multi_expand' => 0,

View File

@ -47,7 +47,7 @@ if ( ! class_exists( 'acf_field_color_picker' ) ) :
// Register scripts for non-admin.
// Applies logic from wp_default_scripts() function defined in "wp-includes/script-loader.php".
if ( ! is_admin() ) {
$suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
$suffix = defined( 'ACF_DEVELOPMENT_MODE' ) && ACF_DEVELOPMENT_MODE ? '' : '.min';
$scripts = wp_scripts();
$scripts->add( 'iris', '/wp-admin/js/iris.min.js', array( 'jquery-ui-draggable', 'jquery-ui-slider', 'jquery-touch-punch' ), '1.0.7', 1 );
$scripts->add( 'wp-color-picker', "/wp-admin/js/color-picker$suffix.js", array( 'iris' ), false, 1 );

View File

@ -24,6 +24,9 @@ if ( ! class_exists( 'acf_field__group' ) ) :
$this->description = __( 'Provides a way to structure fields into groups to better organize the data and the edit screen.', 'acf' );
$this->preview_image = acf_get_url() . '/assets/images/field-type-previews/field-preview-group.png';
$this->doc_url = acf_add_url_utm_tags( 'https://www.advancedcustomfields.com/resources/group/', 'docs', 'field-type-selection' );
$this->supports = array(
'bindings' => false,
);
$this->defaults = array(
'sub_fields' => array(),
'layout' => 'block',

View File

@ -437,13 +437,13 @@ if ( ! class_exists( 'acf_field_icon_picker' ) ) :
'dashicons-book' => esc_html__( 'Book Icon', 'acf' ),
'dashicons-book-alt' => esc_html__( 'Book (alt) Icon', 'acf' ),
'dashicons-buddicons-activity' => esc_html__( 'Activity Icon', 'acf' ),
'dashicons-buddicons-bbpress-logo' => esc_html__( 'BbPress Icon', 'acf' ),
'dashicons-buddicons-bbpress-logo' => esc_html__( 'bbPress Icon', 'acf' ),
'dashicons-buddicons-buddypress-logo' => esc_html__( 'BuddyPress Icon', 'acf' ),
'dashicons-buddicons-community' => esc_html__( 'Community Icon', 'acf' ),
'dashicons-buddicons-forums' => esc_html__( 'Forums Icon', 'acf' ),
'dashicons-buddicons-friends' => esc_html__( 'Friends Icon', 'acf' ),
'dashicons-buddicons-groups' => esc_html__( 'Groups Icon', 'acf' ),
'dashicons-buddicons-pm' => esc_html__( 'Pm Icon', 'acf' ),
'dashicons-buddicons-pm' => esc_html__( 'PM Icon', 'acf' ),
'dashicons-buddicons-replies' => esc_html__( 'Replies Icon', 'acf' ),
'dashicons-buddicons-topics' => esc_html__( 'Topics Icon', 'acf' ),
'dashicons-buddicons-tracking' => esc_html__( 'Tracking Icon', 'acf' ),
@ -570,8 +570,8 @@ if ( ! class_exists( 'acf_field_icon_picker' ) ) :
'dashicons-hidden' => esc_html__( 'Hidden Icon', 'acf' ),
'dashicons-hourglass' => esc_html__( 'Hourglass Icon', 'acf' ),
'dashicons-html' => esc_html__( 'HTML Icon', 'acf' ),
'dashicons-id' => esc_html__( 'Id Icon', 'acf' ),
'dashicons-id-alt' => esc_html__( 'Id (alt) Icon', 'acf' ),
'dashicons-id' => esc_html__( 'ID Icon', 'acf' ),
'dashicons-id-alt' => esc_html__( 'ID (alt) Icon', 'acf' ),
'dashicons-image-crop' => esc_html__( 'Crop Icon', 'acf' ),
'dashicons-image-filter' => esc_html__( 'Filter Icon', 'acf' ),
'dashicons-image-flip-horizontal' => esc_html__( 'Flip Horizontal Icon', 'acf' ),

View File

@ -24,7 +24,10 @@ if ( ! class_exists( 'acf_field_message' ) ) :
$this->category = 'layout';
$this->description = __( 'Used to display a message to editors alongside other fields. Useful for providing additional context or instructions around your fields.', 'acf' );
$this->preview_image = acf_get_url() . '/assets/images/field-type-previews/field-preview-message.png';
$this->supports = array( 'required' => false );
$this->supports = array(
'required' => false,
'bindings' => false,
);
$this->defaults = array(
'message' => '',
'esc_html' => 0,

View File

@ -110,7 +110,7 @@ if ( ! class_exists( 'acf_field_oembed' ) ) :
)
);
if ( ! acf_verify_ajax( $args['nonce'], $args['field_key'] ) ) {
if ( ! acf_verify_ajax( $args['nonce'], $args['field_key'], true ) ) {
die();
}
@ -169,7 +169,7 @@ if ( ! class_exists( 'acf_field_oembed' ) ) :
public function render_field( $field ) {
$atts = array(
'class' => 'acf-oembed',
'data-nonce' => wp_create_nonce( $field['key'] ),
'data-nonce' => wp_create_nonce( 'acf_field_' . $this->name . '_' . $field['key'] ),
);
if ( $field['value'] ) {

View File

@ -81,7 +81,7 @@ if ( ! class_exists( 'acf_field_page_link' ) ) :
$key = '';
}
if ( ! acf_verify_ajax( $nonce, $key ) ) {
if ( ! acf_verify_ajax( $nonce, $key, ! $conditional_logic ) ) {
die();
}
@ -392,7 +392,7 @@ if ( ! class_exists( 'acf_field_page_link' ) ) :
$field['ui'] = 1;
$field['ajax'] = 1;
$field['choices'] = array();
$field['nonce'] = wp_create_nonce( $field['key'] );
$field['nonce'] = wp_create_nonce( 'acf_field_' . $this->name . '_' . $field['key'] );
// populate choices if value exists
if ( ! empty( $field['value'] ) ) {

View File

@ -76,7 +76,7 @@ if ( ! class_exists( 'acf_field_post_object' ) ) :
$key = '';
}
if ( ! acf_verify_ajax( $nonce, $key ) ) {
if ( ! acf_verify_ajax( $nonce, $key, ! $conditional_logic ) ) {
die();
}
@ -314,7 +314,7 @@ if ( ! class_exists( 'acf_field_post_object' ) ) :
$field['type'] = 'select';
$field['ui'] = 1;
$field['ajax'] = 1;
$field['nonce'] = wp_create_nonce( $field['key'] );
$field['nonce'] = wp_create_nonce( 'acf_field_' . $this->name . '_' . $field['key'] );
$field['choices'] = array();
// load posts

View File

@ -102,7 +102,7 @@ if ( ! class_exists( 'acf_field_relationship' ) ) :
$key = '';
}
if ( ! acf_verify_ajax( $nonce, $key ) ) {
if ( ! acf_verify_ajax( $nonce, $key, ! $conditional_logic ) ) {
die();
}
@ -417,7 +417,7 @@ if ( ! class_exists( 'acf_field_relationship' ) ) :
'data-paged' => 1,
'data-post_type' => '',
'data-taxonomy' => '',
'data-nonce' => wp_create_nonce( $field['key'] ),
'data-nonce' => wp_create_nonce( 'acf_field_' . $this->name . '_' . $field['key'] ),
);
?>

View File

@ -42,67 +42,59 @@ if ( ! class_exists( 'acf_field_select' ) ) :
/**
* description
* Enqueues admin scripts for the Select field.
*
* @type function
* @date 16/12/2015
* @since 5.3.2
* @since 5.3.2
*
* @param $post_id (int)
* @return $post_id (int)
* @return void
*/
function input_admin_enqueue_scripts() {
// bail early if no enqueue
public function input_admin_enqueue_scripts() {
// Bail early if not enqueuing select2.
if ( ! acf_get_setting( 'enqueue_select2' ) ) {
return;
}
// globals
global $wp_scripts, $wp_styles;
global $wp_scripts;
// vars
$min = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
$major = acf_get_setting( 'select2_version' );
$version = '';
$script = '';
$style = '';
$min = defined( 'ACF_DEVELOPMENT_MODE' ) && ACF_DEVELOPMENT_MODE ? '' : '.min';
$major = acf_get_setting( 'select2_version' );
// attempt to find 3rd party Select2 version
// - avoid including v3 CSS when v4 JS is already enququed
// - avoid including v3 CSS when v4 JS is already enqueued.
if ( isset( $wp_scripts->registered['select2'] ) ) {
$major = (int) $wp_scripts->registered['select2']->ver;
}
// v4
if ( $major == 4 ) {
$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" );
// v3
} else {
if ( $major === 3 ) {
// Use v3 if necessary.
$version = '3.5.2';
$script = acf_get_url( "assets/inc/select2/3/select2{$min}.js" );
$style = acf_get_url( 'assets/inc/select2/3/select2.css' );
} else {
// Default to v4.
$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" );
}
// enqueue
wp_enqueue_script( 'select2', $script, array( 'jquery' ), $version );
wp_enqueue_style( 'select2', $style, '', $version );
// localize
acf_localize_data(
array(
'select2L10n' => array(
'matches_1' => _x( 'One result is available, press enter to select it.', 'Select2 JS matches_1', 'acf' ),
/* translators: %d - number of results available in select field */
'matches_n' => _x( '%d results are available, use up and down arrow keys to navigate.', 'Select2 JS matches_n', 'acf' ),
'matches_0' => _x( 'No matches found', 'Select2 JS matches_0', 'acf' ),
'input_too_short_1' => _x( 'Please enter 1 or more characters', 'Select2 JS input_too_short_1', 'acf' ),
/* translators: %d - number of characters to enter into select field input */
'input_too_short_n' => _x( 'Please enter %d or more characters', 'Select2 JS input_too_short_n', 'acf' ),
'input_too_long_1' => _x( 'Please delete 1 character', 'Select2 JS input_too_long_1', 'acf' ),
/* translators: %d - number of characters that should be removed from select field */
'input_too_long_n' => _x( 'Please delete %d characters', 'Select2 JS input_too_long_n', 'acf' ),
'selection_too_long_1' => _x( 'You can only select 1 item', 'Select2 JS selection_too_long_1', 'acf' ),
/* translators: %d - maximum number of items that can be selected in the select field */
'selection_too_long_n' => _x( 'You can only select %d items', 'Select2 JS selection_too_long_n', 'acf' ),
'load_more' => _x( 'Loading more results&hellip;', 'Select2 JS load_more', 'acf' ),
'searching' => _x( 'Searching&hellip;', 'Select2 JS searching', 'acf' ),
@ -123,13 +115,19 @@ if ( ! class_exists( 'acf_field_select' ) ) :
$nonce = acf_request_arg( 'nonce', '' );
$key = acf_request_arg( 'field_key', '' );
$is_field_key = acf_is_field_key( $key );
// Back-compat for field settings.
if ( ! acf_is_field_key( $key ) ) {
if ( ! $is_field_key ) {
if ( ! acf_current_user_can_admin() ) {
die();
}
$nonce = '';
$key = '';
}
if ( ! acf_verify_ajax( $nonce, $key ) ) {
if ( ! acf_verify_ajax( $nonce, $key, $is_field_key ) ) {
die();
}
@ -294,7 +292,7 @@ if ( ! class_exists( 'acf_field_select' ) ) :
$select['data-nonce'] = $field['nonce'];
}
if ( $field['ajax'] && empty( $field['nonce'] ) && acf_is_field_key( $field['key'] ) ) {
$select['data-nonce'] = wp_create_nonce( $field['key'] );
$select['data-nonce'] = wp_create_nonce( 'acf_field_' . $this->name . '_' . $field['key'] );
}
if ( ! empty( $field['hide_search'] ) ) {
$select['data-minimum-results-for-search'] = '-1';

View File

@ -25,7 +25,10 @@ if ( ! class_exists( 'acf_field_tab' ) ) :
$this->description = __( 'Allows you to group fields into tabbed sections in the edit screen. Useful for keeping fields organized and structured.', 'acf' );
$this->preview_image = acf_get_url() . '/assets/images/field-type-previews/field-preview-tabs.png';
$this->doc_url = acf_add_url_utm_tags( 'https://www.advancedcustomfields.com/resources/tab/', 'docs', 'field-type-selection' );
$this->supports = array( 'required' => false );
$this->supports = array(
'required' => false,
'bindings' => false,
);
$this->defaults = array(
'placement' => 'top',
'endpoint' => 0, // added in 5.2.8

View File

@ -70,7 +70,7 @@ if ( ! class_exists( 'acf_field_taxonomy' ) ) :
$key = '';
}
if ( ! acf_verify_ajax( $nonce, $key ) ) {
if ( ! acf_verify_ajax( $nonce, $key, ! $conditional_logic ) ) {
die();
}
@ -470,6 +470,8 @@ if ( ! class_exists( 'acf_field_taxonomy' ) ) :
// force value to array
$field['value'] = acf_get_array( $field['value'] );
$nonce = wp_create_nonce( 'acf_field_' . $this->name . '_' . $field['key'] );
// vars
$div = array(
'class' => 'acf-taxonomy-field',
@ -477,7 +479,7 @@ if ( ! class_exists( 'acf_field_taxonomy' ) ) :
'data-ftype' => $field['field_type'],
'data-taxonomy' => $field['taxonomy'],
'data-allow_null' => $field['allow_null'],
'data-nonce' => wp_create_nonce( $field['key'] ),
'data-nonce' => $nonce,
);
// get taxonomy
$taxonomy = get_taxonomy( $field['taxonomy'] );
@ -499,11 +501,11 @@ if ( ! class_exists( 'acf_field_taxonomy' ) ) :
if ( $field['field_type'] == 'select' ) {
$field['multiple'] = 0;
$this->render_field_select( $field );
$this->render_field_select( $field, $nonce );
} elseif ( $field['field_type'] == 'multi_select' ) {
$field['multiple'] = 1;
$this->render_field_select( $field );
$this->render_field_select( $field, $nonce );
} elseif ( $field['field_type'] == 'radio' ) {
$this->render_field_checkbox( $field );
} elseif ( $field['field_type'] == 'checkbox' ) {
@ -524,12 +526,13 @@ if ( ! class_exists( 'acf_field_taxonomy' ) ) :
*
* @param $field - an array holding all the field's data
*/
function render_field_select( $field ) {
function render_field_select( $field, $nonce ) {
// Change Field into a select
$field['type'] = 'select';
$field['ui'] = 1;
$field['ajax'] = 1;
$field['nonce'] = $nonce;
$field['choices'] = array();
// value
@ -766,7 +769,7 @@ if ( ! class_exists( 'acf_field_taxonomy' ) ) :
)
);
if ( ! acf_verify_ajax( $args['nonce'], $args['field_key'] ) ) {
if ( ! acf_verify_ajax( $args['nonce'], $args['field_key'], true ) ) {
die();
}

View File

@ -164,7 +164,7 @@ if ( ! class_exists( 'ACF_Field_User' ) ) :
$field['ui'] = 1;
$field['ajax'] = 1;
$field['choices'] = array();
$field['nonce'] = wp_create_nonce( $field['key'] );
$field['nonce'] = wp_create_nonce( 'acf_field_' . $this->name . '_' . $field['key'] );
// Populate choices.
if ( $field['value'] ) {
@ -404,7 +404,7 @@ if ( ! class_exists( 'ACF_Field_User' ) ) :
$nonce = acf_request_arg( 'nonce', '' );
$key = acf_request_arg( 'field_key', '' );
if ( ! acf_verify_ajax( $nonce, $key ) ) {
if ( ! acf_verify_ajax( $nonce, $key, true ) ) {
$query->send( new WP_Error( 'acf_invalid_request', __( 'Invalid request.', 'acf' ), array( 'status' => 404 ) ) );
}
}

View File

@ -78,8 +78,9 @@ if ( ! class_exists( 'acf_field' ) ) :
$this->add_action( 'acf/field_group/admin_head', array( $this, 'field_group_admin_head' ), 10, 0 );
$this->add_action( 'acf/field_group/admin_footer', array( $this, 'field_group_admin_footer' ), 10, 0 );
// Most fields can use the "Required" validation setting as well as most presentation settings.
// Add field global settings configurable by supports on specific field types.
$this->add_field_action( 'acf/field_group/render_field_settings_tab/validation', array( $this, 'render_required_setting' ), 5 );
$this->add_field_action( 'acf/field_group/render_field_settings_tab/presentation', array( $this, 'render_bindings_setting' ), 5 );
foreach ( acf_get_combined_field_type_settings_tabs() as $tab_key => $tab_label ) {
$this->add_field_action( "acf/field_group/render_field_settings_tab/{$tab_key}", array( $this, "render_field_{$tab_key}_settings" ), 9, 1 );
@ -318,6 +319,53 @@ if ( ! class_exists( 'acf_field' ) ) :
true
);
}
/**
* Renders the "Allow in Bindings" setting on the field type "Presentation" settings tab.
*
* @since 6.3.6
*
* @param array $field The field type being rendered.
* @return void
*/
public function render_bindings_setting( $field ) {
$supports_bindings = acf_field_type_supports( $field['type'], 'bindings', true );
// Only prevent rendering if explicitly disabled.
if ( ! $supports_bindings ) {
return;
}
/* translators: %s A "Learn More" link to documentation explaining the setting further. */
$binding_string = esc_html__( 'Allow content editors to access and display the field value in the editor UI using Block Bindings or the ACF Shortcode. %s', 'acf' );
$binding_url = '<a target="_blank" href="' . acf_add_url_utm_tags( 'https://www.advancedcustomfields.com/resources/bindings-security/', 'docs', 'field-settings' ) . '">' . esc_html__( 'Learn more.', 'acf' ) . '</a>';
$binding_instructions = sprintf(
$binding_string,
$binding_url
);
// This field setting has a unique behaviour. If the value isn't defined on the field object, it defaults to true, but for new fields, it defaults to off.
if ( ! isset( $field['allow_in_bindings'] ) ) {
if ( empty( $field['ID'] ) ) {
$field['allow_in_bindings'] = false;
} else {
$field['allow_in_bindings'] = true;
}
}
acf_render_field_setting(
$field,
array(
'label' => __( 'Allow Access to Value in Editor UI', 'acf' ),
'instructions' => $binding_instructions,
'type' => 'true_false',
'name' => 'allow_in_bindings',
'ui' => 1,
'class' => 'field-show-in-bindings',
),
true
);
}
}
endif; // class_exists check

View File

@ -528,9 +528,9 @@ if ( ! class_exists( 'ACF_Post_Type' ) ) {
$args['supports'] = $supports;
}
// Handle register meta box callbacks if set from an import.
// Handle register meta box callbacks safely
if ( ! empty( $post['register_meta_box_cb'] ) ) {
$args['register_meta_box_cb'] = (string) $post['register_meta_box_cb'];
$args['register_meta_box_cb'] = array( $this, 'build_safe_context_for_metabox_cb' );
}
// WordPress doesn't register any default taxonomies.
@ -619,6 +619,59 @@ if ( ! class_exists( 'ACF_Post_Type' ) ) {
return apply_filters( 'acf/post_type/registration_args', $args, $post );
}
/**
* Ensure the metabox being called does not perform any unsafe operations.
*
* @since 6.3.8
*
* @param WP_Post $post The post being rendered.
* @return mixed The callback result.
*/
public function build_safe_context_for_metabox_cb( $post ) {
$post_types = $this->get_posts();
$this_post = array_filter(
$post_types,
function ( $post_type ) use ( $post ) {
return $post_type['post_type'] === $post->post_type;
}
);
if ( empty( $this_post ) || ! is_array( $this_post ) ) {
// Unable to find the ACF post type. Don't do anything.
return;
}
$acf_post_type = array_shift( $this_post );
$original_cb = isset( $acf_post_type['register_meta_box_cb'] ) ? $acf_post_type['register_meta_box_cb'] : false;
// Prevent access to any wp_ prefixed functions in a callback.
if ( apply_filters( 'acf/post_type/prevent_access_to_wp_functions_in_meta_box_cb', true ) && substr( strtolower( $original_cb ), 0, 3 ) === 'wp_' ) {
// Don't execute register meta box callbacks if an internal wp function by default.
return;
}
$unset = array( '_POST', '_GET', '_REQUEST', '_COOKIE', '_SESSION', '_FILES', '_ENV', '_SERVER' );
$originals = array();
foreach ( $unset as $var ) {
if ( isset( $GLOBALS[ $var ] ) ) {
$originals[ $var ] = $GLOBALS[ $var ];
$GLOBALS[ $var ] = array(); //phpcs:ignore -- used for building a safe context
}
}
$return = false;
if ( is_callable( $original_cb ) ) {
$return = call_user_func( $original_cb, $post );
}
foreach ( $unset as $var ) {
if ( isset( $originals[ $var ] ) ) {
$GLOBALS[ $var ] = $originals[ $var ]; //phpcs:ignore -- used for restoring the original context
}
}
return $return;
}
/**
* Returns a string that can be used to create a post type in PHP.
*
@ -638,6 +691,12 @@ if ( ! class_exists( 'ACF_Post_Type' ) ) {
// Validate and prepare the post for export.
$post = $this->validate_post( $post );
$args = $this->get_post_type_args( $post, false );
// Restore original metabox callback.
if ( ! empty( $args['register_meta_box_cb'] ) && ! empty( $post['register_meta_box_cb'] ) ) {
$args['register_meta_box_cb'] = (string) $post['register_meta_box_cb'];
}
$code = var_export( $args, true ); // phpcs:ignore WordPress.PHP.DevelopmentFunctions -- Used for PHP export.
if ( ! $code ) {
@ -714,6 +773,30 @@ if ( ! class_exists( 'ACF_Post_Type' ) ) {
return $post;
}
/**
* Prepares an ACF post type for import.
*
* @since 6.3.10
*
* @param array $post The ACF post array.
* @return array
*/
public function prepare_post_for_import( $post ) {
if ( ! acf_get_setting( 'enable_meta_box_cb_edit' ) && ! empty( $post['register_meta_box_cb'] ) ) {
$post['register_meta_box_cb'] = '';
if ( ! empty( $post['ID'] ) ) {
$existing_post = $this->get_post( $post['ID'] );
if ( is_array( $existing_post ) ) {
$post['register_meta_box_cb'] = ! empty( $existing_post['register_meta_box_cb'] ) ? (string) $existing_post['register_meta_box_cb'] : '';
}
}
}
return parent::prepare_post_for_import( $post );
}
/**
* Imports a post type from CPTUI.
*

View File

@ -423,7 +423,7 @@ if ( ! class_exists( 'ACF_Taxonomy' ) ) {
$meta_box = isset( $post['meta_box'] ) ? (string) $post['meta_box'] : 'default';
if ( 'custom' === $meta_box && ! empty( $post['meta_box_cb'] ) ) {
$args['meta_box_cb'] = (string) $post['meta_box_cb'];
$args['meta_box_cb'] = array( $this, 'build_safe_context_for_metabox_cb' );
if ( ! empty( $post['meta_box_sanitize_cb'] ) ) {
$args['meta_box_sanitize_cb'] = (string) $post['meta_box_sanitize_cb'];
@ -504,6 +504,60 @@ if ( ! class_exists( 'ACF_Taxonomy' ) ) {
return apply_filters( 'acf/taxonomy/registration_args', $args, $post );
}
/**
* Ensure the metabox being called does not perform any unsafe operations.
*
* @since 6.3.8
*
* @param WP_Post $post The post being rendered.
* @param array $tax The provided taxonomy information required for callback render.
* @return mixed The callback result.
*/
public function build_safe_context_for_metabox_cb( $post, $tax ) {
$taxonomies = $this->get_posts();
$this_tax = array_filter(
$taxonomies,
function ( $taxonomy ) use ( $tax ) {
return $taxonomy['taxonomy'] === $tax['args']['taxonomy'];
}
);
if ( empty( $this_tax ) || ! is_array( $this_tax ) ) {
// Unable to find the ACF taxonomy. Don't do anything.
return;
}
$acf_taxonomy = array_shift( $this_tax );
$original_cb = isset( $acf_taxonomy['meta_box_cb'] ) ? $acf_taxonomy['meta_box_cb'] : false;
// Prevent access to any wp_ prefixed functions in a callback.
if ( apply_filters( 'acf/taxonomy/prevent_access_to_wp_functions_in_meta_box_cb', true ) && substr( strtolower( $original_cb ), 0, 3 ) === 'wp_' ) {
// Don't execute register meta box callbacks if an internal wp function by default.
return;
}
$unset = array( '_POST', '_GET', '_REQUEST', '_COOKIE', '_SESSION', '_FILES', '_ENV', '_SERVER' );
$originals = array();
foreach ( $unset as $var ) {
if ( isset( $GLOBALS[ $var ] ) ) {
$originals[ $var ] = $GLOBALS[ $var ];
$GLOBALS[ $var ] = array(); //phpcs:ignore -- used for building a safe context
}
}
$return = false;
if ( is_callable( $original_cb ) ) {
$return = call_user_func( $original_cb, $post, $tax );
}
foreach ( $unset as $var ) {
if ( isset( $originals[ $var ] ) ) {
$GLOBALS[ $var ] = $originals[ $var ]; //phpcs:ignore -- used for restoring the original context
}
}
return $return;
}
/**
* Returns a string that can be used to create a taxonomy in PHP.
*
@ -523,7 +577,13 @@ if ( ! class_exists( 'ACF_Taxonomy' ) ) {
$objects = (array) $post['object_type'];
$objects = var_export( $objects, true ); // phpcs:ignore WordPress.PHP.DevelopmentFunctions -- Used for PHP export.
$args = $this->get_taxonomy_args( $post, false );
$args = var_export( $args, true ); // phpcs:ignore WordPress.PHP.DevelopmentFunctions -- Used for PHP export.
// Restore original metabox callback.
if ( ! empty( $args['meta_box_cb'] ) && ! empty( $post['meta_box_cb'] ) ) {
$args['meta_box_cb'] = $post['meta_box_cb'];
}
$args = var_export( $args, true ); // phpcs:ignore WordPress.PHP.DevelopmentFunctions -- Used for PHP export.
if ( ! $args ) {
return $return;
@ -600,6 +660,37 @@ if ( ! class_exists( 'ACF_Taxonomy' ) ) {
return $post;
}
/**
* Prepares an ACF taxonomy for import.
*
* @since 6.3.10
*
* @param array $post The ACF post array.
* @return array
*/
public function prepare_post_for_import( $post ) {
if ( ! acf_get_setting( 'enable_meta_box_cb_edit' ) && ( ! empty( $post['meta_box_cb'] ) || ! empty( $post['meta_box_sanitize_cb'] ) ) ) {
$post['meta_box_cb'] = '';
$post['meta_box_sanitize_cb'] = '';
if ( ! empty( $post['meta_box'] ) && 'custom' === $post['meta_box'] ) {
$post['meta_box'] = 'default';
}
if ( ! empty( $post['ID'] ) ) {
$existing_post = $this->get_post( $post['ID'] );
if ( is_array( $existing_post ) ) {
$post['meta_box'] = ! empty( $existing_post['meta_box'] ) ? (string) $existing_post['meta_box'] : '';
$post['meta_box_cb'] = ! empty( $existing_post['meta_box_cb'] ) ? (string) $existing_post['meta_box_cb'] : '';
$post['meta_box_sanitize_cb'] = ! empty( $existing_post['meta_box_sanitize_cb'] ) ? (string) $existing_post['meta_box_sanitize_cb'] : '';
}
}
}
return parent::prepare_post_for_import( $post );
}
/**
* Imports a taxonomy from CPTUI.
*

View File

@ -143,7 +143,8 @@ if ( ! class_exists( 'acf_third_party' ) ) :
* @since 5.7.3
*/
public function doing_dark_mode() {
wp_enqueue_style( 'acf-dark', acf_get_url( 'assets/css/acf-dark.css' ), array(), ACF_VERSION );
$min = defined( 'ACF_DEVELOPMENT_MODE' ) && ACF_DEVELOPMENT_MODE ? '' : '.min';
wp_enqueue_style( 'acf-dark', acf_get_url( 'assets/css/acf-dark' . $min . '.css' ), array(), ACF_VERSION );
}
}

View File

@ -537,3 +537,47 @@ function acf_upgrade_550_taxonomy( $taxonomy ) {
// action for 3rd party
do_action( 'acf/upgrade_550_taxonomy', $taxonomy );
}
/**
* Unsets ACF from reporting back to the WP.org API.
*
* @param array $args An array of HTTP request arguments.
* @param string $url The request URL.
* @return array|mixed
*/
function acf_unset_plugin_from_org_reporting( $args, $url ) {
// Bail if not a plugins request.
if ( empty( $args['body']['plugins'] ) ) {
return $args;
}
// Bail if not a request to the wp.org API.
$parsed_url = wp_parse_url( $url );
if ( empty( $parsed_url['host'] ) || 'api.wordpress.org' !== $parsed_url['host'] ) {
return $args;
}
$plugins = json_decode( $args['body']['plugins'], true );
if ( empty( $plugins ) ) {
return $args;
}
// Remove ACF from reporting.
if ( ! empty( $plugins['plugins'][ ACF_BASENAME ] ) ) {
unset( $plugins['plugins'][ ACF_BASENAME ] );
}
if ( ! empty( $plugins['active'] ) && is_array( $plugins['active'] ) ) {
$is_active = array_search( ACF_BASENAME, $plugins['active'], true );
if ( $is_active !== false ) {
unset( $plugins['active'][ $is_active ] );
$plugins['active'] = array_values( $plugins['active'] );
}
}
// Add the plugins list (minus ACF) back to $args.
$args['body']['plugins'] = wp_json_encode( $plugins );
return $args;
}
add_filter( 'http_request_args', 'acf_unset_plugin_from_org_reporting', 10, 2 );

View File

@ -118,40 +118,40 @@ if ( ! class_exists( 'acf_validation' ) ) :
$this->errors = array();
}
/**
* This function will validate the $_POST data via AJAX
* Validates $_POST data via AJAX prior to save.
*
* @type function
* @date 27/10/2014
* @since 5.0.9
*
* @param n/a
* @return n/a
* @return void
*/
function ajax_validate_save_post() {
// validate
public function ajax_validate_save_post() {
if ( ! acf_verify_ajax() ) {
die();
wp_send_json_success(
array(
'valid' => 0,
'errors' => array(
array(
'input' => false,
'message' => __( 'ACF was unable to perform validation due to an invalid security nonce being provided.', 'acf' ),
),
),
)
);
}
// vars
$json = array(
'valid' => 1,
'errors' => 0,
);
// success
if ( acf_validate_save_post() ) {
wp_send_json_success( $json );
}
// update vars
$json['valid'] = 0;
$json['errors'] = acf_get_validation_errors();
// return
wp_send_json_success( $json );
}

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -12,7 +12,7 @@
# This file is distributed under the same license as Advanced Custom Fields.
msgid ""
msgstr ""
"PO-Revision-Date: 2024-07-18T08:39:03+00:00\n"
"PO-Revision-Date: 2024-10-02T12:08:46+00:00\n"
"Report-Msgid-Bugs-To: http://support.advancedcustomfields.com\n"
"Language: ar\n"
"MIME-Version: 1.0\n"

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -12,7 +12,7 @@
# This file is distributed under the same license as Advanced Custom Fields.
msgid ""
msgstr ""
"PO-Revision-Date: 2024-07-18T08:39:03+00:00\n"
"PO-Revision-Date: 2024-10-02T12:08:46+00:00\n"
"Report-Msgid-Bugs-To: http://support.advancedcustomfields.com\n"
"Language: bg_BG\n"
"MIME-Version: 1.0\n"

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -12,7 +12,7 @@
# This file is distributed under the same license as Advanced Custom Fields.
msgid ""
msgstr ""
"PO-Revision-Date: 2024-07-18T08:39:03+00:00\n"
"PO-Revision-Date: 2024-10-02T12:08:46+00:00\n"
"Report-Msgid-Bugs-To: http://support.advancedcustomfields.com\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
@ -21,6 +21,54 @@ msgstr ""
"X-Generator: gettext\n"
"Project-Id-Version: Advanced Custom Fields\n"
#: includes/validation.php:136
msgid ""
"ACF was unable to perform validation due to an invalid security nonce being "
"provided."
msgstr ""
#: includes/fields/class-acf-field.php:359
msgid "Allow Access to Value in Editor UI"
msgstr ""
#: includes/fields/class-acf-field.php:341
msgid "Learn more."
msgstr ""
#. translators: %s A "Learn More" link to documentation explaining the setting
#. further.
#: includes/fields/class-acf-field.php:340
msgid ""
"Allow content editors to access and display the field value in the editor UI "
"using Block Bindings or the ACF Shortcode. %s"
msgstr ""
#: includes/Blocks/Bindings.php:64
msgid ""
"The requested ACF field type does not support output in Block Bindings or "
"the ACF shortcode."
msgstr ""
#: includes/api/api-template.php:1085 includes/Blocks/Bindings.php:72
msgid ""
"The requested ACF field is not allowed to be output in bindings or the ACF "
"Shortcode."
msgstr ""
#: includes/api/api-template.php:1077
msgid ""
"The requested ACF field type does not support output in bindings or the ACF "
"Shortcode."
msgstr ""
#: includes/api/api-template.php:1054
msgid "[The ACF shortcode cannot display fields from non-public posts]"
msgstr ""
#: includes/api/api-template.php:1011
msgid "[The ACF shortcode is disabled on this site]"
msgstr ""
#: includes/fields/class-acf-field-icon_picker.php:451
msgid "Businessman Icon"
msgstr ""
@ -322,7 +370,7 @@ msgid "Crop Icon"
msgstr ""
#: includes/fields/class-acf-field-icon_picker.php:574
msgid "Id (alt) Icon"
msgid "ID (alt) Icon"
msgstr ""
#: includes/fields/class-acf-field-icon_picker.php:572
@ -575,7 +623,7 @@ msgid "Replies Icon"
msgstr ""
#: includes/fields/class-acf-field-icon_picker.php:446
msgid "Pm Icon"
msgid "PM Icon"
msgstr ""
#: includes/fields/class-acf-field-icon_picker.php:444
@ -591,7 +639,7 @@ msgid "BuddyPress Icon"
msgstr ""
#: includes/fields/class-acf-field-icon_picker.php:440
msgid "BbPress Icon"
msgid "bbPress Icon"
msgstr ""
#: includes/fields/class-acf-field-icon_picker.php:439
@ -690,20 +738,14 @@ msgstr ""
msgid "Upgrade to ACF PRO to create options pages in just a few clicks"
msgstr ""
#: includes/ajax/class-acf-ajax-upgrade.php:24
msgid "Sorry, you don't have permission to do that."
msgstr ""
#: includes/ajax/class-acf-ajax-query-users.php:24
msgid "Invalid request args."
msgstr ""
#: includes/ajax/class-acf-ajax-check-screen.php:37
#: includes/ajax/class-acf-ajax-local-json-diff.php:37
msgid "Sorry, you are not allowed to do that."
msgstr ""
#: includes/ajax/class-acf-ajax-check-screen.php:27
#: includes/ajax/class-acf-ajax-query-users.php:32
#: includes/ajax/class-acf-ajax-upgrade.php:24
#: includes/ajax/class-acf-ajax-user-setting.php:38
msgid "Sorry, you do not have permission to do that."
msgstr ""
@ -1010,7 +1052,7 @@ msgid "Index Card Icon"
msgstr ""
#: includes/fields/class-acf-field-icon_picker.php:573
msgid "Id Icon"
msgid "ID Icon"
msgstr ""
#: includes/fields/class-acf-field-icon_picker.php:570
@ -1640,7 +1682,7 @@ msgid ""
msgstr ""
#: includes/assets.php:373 assets/build/js/acf-input.js:11312
#: assets/build/js/acf-input.js:12394
#: assets/build/js/acf-input.js:12396
msgid "An ACF Block on this page requires attention before you can save."
msgstr ""
@ -1844,7 +1886,7 @@ msgstr ""
msgid "Please activate your ACF PRO license to edit this options page."
msgstr "Activeu la llicència ACF PRO per editar aquesta pàgina d'opcions."
#: includes/api/api-template.php:381 includes/api/api-template.php:435
#: includes/api/api-template.php:385 includes/api/api-template.php:439
msgid ""
"Returning escaped HTML values is only possible when format_value is also "
"true. The field values have not been returned for security."
@ -1852,8 +1894,8 @@ msgstr ""
"Retornar els valors HTML escapats només és possible quan format_value també "
"és true. Els valors del camp no s'han retornat per seguretat."
#: includes/api/api-template.php:46 includes/api/api-template.php:247
#: includes/api/api-template.php:939
#: includes/api/api-template.php:46 includes/api/api-template.php:251
#: includes/api/api-template.php:947
msgid ""
"Returning an escaped HTML value is only possible when format_value is also "
"true. The field value has not been returned for security."
@ -1862,7 +1904,6 @@ msgstr ""
"true. El valor del camp no s'ha retornat per seguretat."
#. translators: %1$s - name of the ACF plugin. %2$s - Link to documentation.
#. %3$s - Link to show more details about the error
#: includes/admin/views/escaped-html-notice.php:32
msgid ""
"%1$s ACF now automatically escapes unsafe HTML when rendered by "
@ -1980,8 +2021,8 @@ msgid "Add fields"
msgstr "Afegeix camps"
#: includes/admin/post-types/admin-field-group.php:147
#: assets/build/js/acf-field-group.js:2803
#: assets/build/js/acf-field-group.js:3298
#: assets/build/js/acf-field-group.js:2804
#: assets/build/js/acf-field-group.js:3220
msgid "This Field"
msgstr "Aquest camp"
@ -2057,7 +2098,7 @@ msgstr "Camp %s"
#: includes/fields/class-acf-field-page_link.php:498
#: includes/fields/class-acf-field-post_object.php:411
#: includes/fields/class-acf-field-select.php:380
#: includes/fields/class-acf-field-select.php:372
#: includes/fields/class-acf-field-user.php:111
msgid "Select Multiple"
msgstr "Selecciona múltiples"
@ -4580,15 +4621,15 @@ msgstr "Tipus de contingut suprimit."
#: includes/admin/post-types/admin-field-group.php:146
#: assets/build/js/acf-field-group.js:1159
#: assets/build/js/acf-field-group.js:1383
#: assets/build/js/acf-field-group.js:1369
msgid "Type to search..."
msgstr "Tecleja per cercar..."
#: includes/admin/post-types/admin-field-group.php:101
#: assets/build/js/acf-field-group.js:1186
#: assets/build/js/acf-field-group.js:2349
#: assets/build/js/acf-field-group.js:1429
#: assets/build/js/acf-field-group.js:2761
#: assets/build/js/acf-field-group.js:2350
#: assets/build/js/acf-field-group.js:1404
#: assets/build/js/acf-field-group.js:2683
msgid "PRO Only"
msgstr "Només a PRO"
@ -4698,7 +4739,7 @@ msgstr ""
"https://wpengine.com/?utm_source=wordpress."
"org&utm_medium=referral&utm_campaign=plugin_directory&utm_content=advanced_custom_fields"
#: includes/api/api-template.php:1015
#: includes/api/api-template.php:1027
msgid "[ACF shortcode value disabled for preview]"
msgstr "[Valor del codi de substitució d'ACF desactivat a la previsualització]"
@ -4708,8 +4749,8 @@ msgid "Close Modal"
msgstr "Tanca la finestra emergent"
#: includes/admin/post-types/admin-field-group.php:92
#: assets/build/js/acf-field-group.js:1701
#: assets/build/js/acf-field-group.js:2032
#: assets/build/js/acf-field-group.js:1702
#: assets/build/js/acf-field-group.js:1972
msgid "Field moved to other group"
msgstr "Camp mogut a un altre grup"
@ -4718,15 +4759,15 @@ msgstr "Camp mogut a un altre grup"
msgid "Close modal"
msgstr "Tanca la finestra emergent"
#: includes/fields/class-acf-field-tab.php:119
#: includes/fields/class-acf-field-tab.php:122
msgid "Start a new group of tabs at this tab."
msgstr "Comença un nou grup de pestanyes en aquesta pestanya."
#: includes/fields/class-acf-field-tab.php:118
#: includes/fields/class-acf-field-tab.php:121
msgid "New Tab Group"
msgstr "Nou grup de pestanyes"
#: includes/fields/class-acf-field-select.php:423
#: includes/fields/class-acf-field-select.php:415
#: includes/fields/class-acf-field-true_false.php:188
msgid "Use a stylized checkbox using select2"
msgstr "Utilitza una casella de selecció estilitzada utilitzant select2"
@ -4941,8 +4982,8 @@ msgid "Activate this item"
msgstr "Activa aquest element"
#: includes/admin/post-types/admin-field-group.php:88
#: assets/build/js/acf-field-group.js:2862
#: assets/build/js/acf-field-group.js:3375
#: assets/build/js/acf-field-group.js:2863
#: assets/build/js/acf-field-group.js:3297
msgid "Move field group to trash?"
msgstr "Voleu moure el grup de camps a la paperera?"
@ -5003,7 +5044,7 @@ msgstr "%1$s ha de tenir un identificador d'usuari vàlid."
msgid "Invalid request."
msgstr "Sol·licitud no vàlida."
#: includes/fields/class-acf-field-select.php:637
#: includes/fields/class-acf-field-select.php:629
msgid "%1$s is not one of %2$s"
msgstr "%1$s no és un dels %2$s"
@ -5674,7 +5715,7 @@ msgstr "amplada"
msgid "Wrapper Attributes"
msgstr "Atributs del contenidor"
#: includes/fields/class-acf-field.php:311
#: includes/fields/class-acf-field.php:312
msgid "Required"
msgstr "Obligatori"
@ -5734,8 +5775,8 @@ msgstr "Arrossegueu per reordenar"
#: includes/admin/post-types/admin-field-group.php:99
#: includes/admin/views/acf-field-group/location-group.php:3
#: assets/build/js/acf-field-group.js:2387
#: assets/build/js/acf-field-group.js:2812
#: assets/build/js/acf-field-group.js:2388
#: assets/build/js/acf-field-group.js:2734
msgid "Show this field group if"
msgstr "Mostra aquest grup de camps si"
@ -6029,8 +6070,8 @@ msgstr "Nul"
#: includes/admin/post-types/admin-field-group.php:97
#: includes/class-acf-internal-post-type.php:728
#: includes/post-types/class-acf-field-group.php:345
#: assets/build/js/acf-field-group.js:1541
#: assets/build/js/acf-field-group.js:1860
#: assets/build/js/acf-field-group.js:1542
#: assets/build/js/acf-field-group.js:1805
msgid "copy"
msgstr "copia"
@ -6047,8 +6088,8 @@ msgid "Checked"
msgstr "Marcat"
#: includes/admin/post-types/admin-field-group.php:90
#: assets/build/js/acf-field-group.js:1646
#: assets/build/js/acf-field-group.js:1972
#: assets/build/js/acf-field-group.js:1647
#: assets/build/js/acf-field-group.js:1913
msgid "Move Custom Field"
msgstr "Mou el grup de camps"
@ -6063,14 +6104,14 @@ msgid "Field group title is required"
msgstr "El títol del grup de camps és obligatori"
#: includes/admin/post-types/admin-field-group.php:86
#: assets/build/js/acf-field-group.js:1635
#: assets/build/js/acf-field-group.js:1958
#: assets/build/js/acf-field-group.js:1636
#: assets/build/js/acf-field-group.js:1902
msgid "This field cannot be moved until its changes have been saved"
msgstr "Aquest camp no es pot moure fins que no se nhagin desat els canvis"
#: includes/admin/post-types/admin-field-group.php:85
#: assets/build/js/acf-field-group.js:1445
#: assets/build/js/acf-field-group.js:1755
#: assets/build/js/acf-field-group.js:1446
#: assets/build/js/acf-field-group.js:1703
msgid "The string \"field_\" may not be used at the start of a field name"
msgstr "La cadena «field_» no es pot utilitzar al principi del nom d'un camp"
@ -6307,7 +6348,7 @@ msgstr "Edita"
msgid "The changes you made will be lost if you navigate away from this page"
msgstr "Perdreu els canvis que heu fet si abandoneu aquesta pàgina"
#: includes/api/api-helpers.php:2959
#: includes/api/api-helpers.php:2984
msgid "File type must be %s."
msgstr "El tipus de fitxer ha de ser %s."
@ -6316,34 +6357,34 @@ msgstr "El tipus de fitxer ha de ser %s."
#: includes/admin/views/acf-field-group/conditional-logic.php:182
#: includes/admin/views/acf-field-group/location-group.php:3
#: includes/admin/views/acf-field-group/locations.php:35
#: includes/api/api-helpers.php:2956 assets/build/js/acf-field-group.js:781
#: assets/build/js/acf-field-group.js:2427
#: includes/api/api-helpers.php:2981 assets/build/js/acf-field-group.js:781
#: assets/build/js/acf-field-group.js:2428
#: assets/build/js/acf-field-group.js:946
#: assets/build/js/acf-field-group.js:2859
#: assets/build/js/acf-field-group.js:2781
msgid "or"
msgstr "o"
#: includes/api/api-helpers.php:2932
#: includes/api/api-helpers.php:2957
msgid "File size must not exceed %s."
msgstr "La mida del fitxer no ha de superar %s."
#: includes/api/api-helpers.php:2928
#: includes/api/api-helpers.php:2953
msgid "File size must be at least %s."
msgstr "La mida del fitxer ha de ser almenys %s."
#: includes/api/api-helpers.php:2915
#: includes/api/api-helpers.php:2940
msgid "Image height must not exceed %dpx."
msgstr "L'alçada de la imatge no pot ser superior a %dpx."
#: includes/api/api-helpers.php:2911
#: includes/api/api-helpers.php:2936
msgid "Image height must be at least %dpx."
msgstr "L'alçada de la imatge ha de ser almenys de %dpx."
#: includes/api/api-helpers.php:2899
#: includes/api/api-helpers.php:2924
msgid "Image width must not exceed %dpx."
msgstr "L'amplada de la imatge no pot ser superior a %dpx."
#: includes/api/api-helpers.php:2895
#: includes/api/api-helpers.php:2920
msgid "Image width must be at least %dpx."
msgstr "L'amplada de la imatge ha de ser almenys de %dpx."
@ -6370,7 +6411,7 @@ msgstr "Miniatura"
#: includes/acf-field-functions.php:854
#: includes/admin/post-types/admin-field-group.php:95
#: assets/build/js/acf-field-group.js:1090
#: assets/build/js/acf-field-group.js:1277
#: assets/build/js/acf-field-group.js:1274
msgid "(no label)"
msgstr "(sense etiqueta)"
@ -6543,7 +6584,7 @@ msgstr "Altres"
msgid "Radio Button"
msgstr "Botó d'opció"
#: includes/fields/class-acf-field-accordion.php:103
#: includes/fields/class-acf-field-accordion.php:106
msgid ""
"Define an endpoint for the previous accordion to stop. This accordion will "
"not be visible."
@ -6551,19 +6592,19 @@ msgstr ""
"Definiu un punt final per a aturar lacordió previ. Aquest acordió no serà "
"visible."
#: includes/fields/class-acf-field-accordion.php:92
#: includes/fields/class-acf-field-accordion.php:95
msgid "Allow this accordion to open without closing others."
msgstr "Permet que aquest acordió s'obri sense tancar els altres."
#: includes/fields/class-acf-field-accordion.php:91
#: includes/fields/class-acf-field-accordion.php:94
msgid "Multi-Expand"
msgstr "Expansió múltiple"
#: includes/fields/class-acf-field-accordion.php:81
#: includes/fields/class-acf-field-accordion.php:84
msgid "Display this accordion as open on page load."
msgstr "Mostra aquest acordió obert en carregar la pàgina."
#: includes/fields/class-acf-field-accordion.php:80
#: includes/fields/class-acf-field-accordion.php:83
msgid "Open"
msgstr "Obert"
@ -6625,83 +6666,89 @@ msgstr "Fitxer"
msgid "Password"
msgstr "Contrasenya"
#: includes/fields/class-acf-field-select.php:365
#: includes/fields/class-acf-field-select.php:357
msgid "Specify the value returned"
msgstr "Especifiqueu el valor a retornar"
#: includes/fields/class-acf-field-select.php:433
#: includes/fields/class-acf-field-select.php:425
msgid "Use AJAX to lazy load choices?"
msgstr "Usa AJAX per a carregar opcions de manera relaxada?"
#: includes/fields/class-acf-field-checkbox.php:333
#: includes/fields/class-acf-field-select.php:354
#: includes/fields/class-acf-field-select.php:346
msgid "Enter each default value on a new line"
msgstr "Introduïu cada valor per defecte en una línia nova"
#: includes/fields/class-acf-field-select.php:229 includes/media.php:48
#: includes/fields/class-acf-field-select.php:221 includes/media.php:48
#: assets/build/js/acf-input.js:7822 assets/build/js/acf-input.js:8484
msgctxt "verb"
msgid "Select"
msgstr "Selecciona"
#: includes/fields/class-acf-field-select.php:109
#: includes/fields/class-acf-field-select.php:101
msgctxt "Select2 JS load_fail"
msgid "Loading failed"
msgstr "No s'ha pogut carregar"
#: includes/fields/class-acf-field-select.php:108
#: includes/fields/class-acf-field-select.php:100
msgctxt "Select2 JS searching"
msgid "Searching&hellip;"
msgstr "S'està cercant&hellip;"
#: includes/fields/class-acf-field-select.php:107
#: includes/fields/class-acf-field-select.php:99
msgctxt "Select2 JS load_more"
msgid "Loading more results&hellip;"
msgstr "S'estan carregant més resultats&hellip;"
#: includes/fields/class-acf-field-select.php:106
#. translators: %d - maximum number of items that can be selected in the select
#. field
#: includes/fields/class-acf-field-select.php:98
msgctxt "Select2 JS selection_too_long_n"
msgid "You can only select %d items"
msgstr "Només podeu seleccionar %d elements"
#: includes/fields/class-acf-field-select.php:105
#: includes/fields/class-acf-field-select.php:96
msgctxt "Select2 JS selection_too_long_1"
msgid "You can only select 1 item"
msgstr "Només podeu seleccionar un element"
#: includes/fields/class-acf-field-select.php:104
#. translators: %d - number of characters that should be removed from select
#. field
#: includes/fields/class-acf-field-select.php:95
msgctxt "Select2 JS input_too_long_n"
msgid "Please delete %d characters"
msgstr "Suprimiu %d caràcters"
#: includes/fields/class-acf-field-select.php:103
#: includes/fields/class-acf-field-select.php:93
msgctxt "Select2 JS input_too_long_1"
msgid "Please delete 1 character"
msgstr "Suprimiu un caràcter"
#: includes/fields/class-acf-field-select.php:102
#. translators: %d - number of characters to enter into select field input
#: includes/fields/class-acf-field-select.php:92
msgctxt "Select2 JS input_too_short_n"
msgid "Please enter %d or more characters"
msgstr "Introduïu %d o més caràcters"
#: includes/fields/class-acf-field-select.php:101
#: includes/fields/class-acf-field-select.php:90
msgctxt "Select2 JS input_too_short_1"
msgid "Please enter 1 or more characters"
msgstr "Introduïu un o més caràcters"
#: includes/fields/class-acf-field-select.php:100
#: includes/fields/class-acf-field-select.php:89
msgctxt "Select2 JS matches_0"
msgid "No matches found"
msgstr "No s'ha trobat cap coincidència"
#: includes/fields/class-acf-field-select.php:99
#. translators: %d - number of results available in select field
#: includes/fields/class-acf-field-select.php:88
msgctxt "Select2 JS matches_n"
msgid "%d results are available, use up and down arrow keys to navigate."
msgstr ""
"Hi ha %d resultats disponibles, utilitzeu les fletxes amunt i avall per "
"navegar-hi."
#: includes/fields/class-acf-field-select.php:98
#: includes/fields/class-acf-field-select.php:86
msgctxt "Select2 JS matches_1"
msgid "One result is available, press enter to select it."
msgstr "Hi ha un resultat disponible, premeu retorn per seleccionar-lo."
@ -6841,21 +6888,21 @@ msgstr "Trieu l'hora"
msgid "Date Time Picker"
msgstr "Selector de data i hora"
#: includes/fields/class-acf-field-accordion.php:102
#: includes/fields/class-acf-field-accordion.php:105
msgid "Endpoint"
msgstr "Punt final"
#: includes/admin/views/acf-field-group/options.php:130
#: includes/fields/class-acf-field-tab.php:109
#: includes/fields/class-acf-field-tab.php:112
msgid "Left aligned"
msgstr "Alineat a l'esquerra"
#: includes/admin/views/acf-field-group/options.php:129
#: includes/fields/class-acf-field-tab.php:108
#: includes/fields/class-acf-field-tab.php:111
msgid "Top aligned"
msgstr "Alineat a la part superior"
#: includes/fields/class-acf-field-tab.php:104
#: includes/fields/class-acf-field-tab.php:107
msgid "Placement"
msgstr "Ubicació"
@ -6913,7 +6960,7 @@ msgstr "Interval"
#: includes/fields/class-acf-field-button-group.php:165
#: includes/fields/class-acf-field-checkbox.php:350
#: includes/fields/class-acf-field-radio.php:210
#: includes/fields/class-acf-field-select.php:372
#: includes/fields/class-acf-field-select.php:364
msgid "Both (Array)"
msgstr "Ambdós (matriu)"
@ -6921,14 +6968,14 @@ msgstr "Ambdós (matriu)"
#: includes/fields/class-acf-field-button-group.php:164
#: includes/fields/class-acf-field-checkbox.php:349
#: includes/fields/class-acf-field-radio.php:209
#: includes/fields/class-acf-field-select.php:371
#: includes/fields/class-acf-field-select.php:363
msgid "Label"
msgstr "Etiqueta"
#: includes/fields/class-acf-field-button-group.php:163
#: includes/fields/class-acf-field-checkbox.php:348
#: includes/fields/class-acf-field-radio.php:208
#: includes/fields/class-acf-field-select.php:370
#: includes/fields/class-acf-field-select.php:362
msgid "Value"
msgstr "Valor"
@ -6947,14 +6994,14 @@ msgstr "Horitzontal"
#: includes/fields/class-acf-field-button-group.php:138
#: includes/fields/class-acf-field-checkbox.php:323
#: includes/fields/class-acf-field-radio.php:183
#: includes/fields/class-acf-field-select.php:343
#: includes/fields/class-acf-field-select.php:335
msgid "red : Red"
msgstr "vermell : Vermell"
#: includes/fields/class-acf-field-button-group.php:138
#: includes/fields/class-acf-field-checkbox.php:323
#: includes/fields/class-acf-field-radio.php:183
#: includes/fields/class-acf-field-select.php:343
#: includes/fields/class-acf-field-select.php:335
msgid "For more control, you may specify both a value and label like this:"
msgstr ""
"Per a més control, podeu especificar tant un valor com una etiqueta "
@ -6963,14 +7010,14 @@ msgstr ""
#: includes/fields/class-acf-field-button-group.php:138
#: includes/fields/class-acf-field-checkbox.php:323
#: includes/fields/class-acf-field-radio.php:183
#: includes/fields/class-acf-field-select.php:343
#: includes/fields/class-acf-field-select.php:335
msgid "Enter each choice on a new line."
msgstr "Introduïu cada opció en una línia nova."
#: includes/fields/class-acf-field-button-group.php:137
#: includes/fields/class-acf-field-checkbox.php:322
#: includes/fields/class-acf-field-radio.php:182
#: includes/fields/class-acf-field-select.php:342
#: includes/fields/class-acf-field-select.php:334
msgid "Choices"
msgstr "Opcions"
@ -6982,7 +7029,7 @@ msgstr "Grup de botons"
#: includes/fields/class-acf-field-page_link.php:519
#: includes/fields/class-acf-field-post_object.php:432
#: includes/fields/class-acf-field-radio.php:228
#: includes/fields/class-acf-field-select.php:401
#: includes/fields/class-acf-field-select.php:393
#: includes/fields/class-acf-field-taxonomy.php:705
#: includes/fields/class-acf-field-user.php:132
msgid "Allow Null"
@ -7372,37 +7419,37 @@ msgstr "Escolliu una imatge"
msgid "Image"
msgstr "Imatge"
#: includes/fields/class-acf-field-message.php:110
#: includes/fields/class-acf-field-message.php:113
msgid "Allow HTML markup to display as visible text instead of rendering"
msgstr ""
"Permet que el marcat HTML es mostri com a text visible en comptes de "
"renderitzat"
#: includes/fields/class-acf-field-message.php:109
#: includes/fields/class-acf-field-message.php:112
msgid "Escape HTML"
msgstr "Escapa lHTML"
#: includes/fields/class-acf-field-message.php:101
#: includes/fields/class-acf-field-message.php:104
#: includes/fields/class-acf-field-textarea.php:162
msgid "No Formatting"
msgstr "Sense format"
#: includes/fields/class-acf-field-message.php:100
#: includes/fields/class-acf-field-message.php:103
#: includes/fields/class-acf-field-textarea.php:161
msgid "Automatically add &lt;br&gt;"
msgstr "Afegeix &lt;br&gt; automàticament"
#: includes/fields/class-acf-field-message.php:99
#: includes/fields/class-acf-field-message.php:102
#: includes/fields/class-acf-field-textarea.php:160
msgid "Automatically add paragraphs"
msgstr "Afegeix paràgrafs automàticament"
#: includes/fields/class-acf-field-message.php:95
#: includes/fields/class-acf-field-message.php:98
#: includes/fields/class-acf-field-textarea.php:156
msgid "Controls how new lines are rendered"
msgstr "Controla com es mostren les noves línies"
#: includes/fields/class-acf-field-message.php:94
#: includes/fields/class-acf-field-message.php:97
#: includes/fields/class-acf-field-textarea.php:155
msgid "New Lines"
msgstr "Noves línies"
@ -7484,7 +7531,7 @@ msgstr "El text que es mostrarà quan està actiu"
msgid "On Text"
msgstr "Text dactiu"
#: includes/fields/class-acf-field-select.php:422
#: includes/fields/class-acf-field-select.php:414
#: includes/fields/class-acf-field-true_false.php:187
msgid "Stylized UI"
msgstr "IU estilitzada"
@ -7496,7 +7543,7 @@ msgstr "IU estilitzada"
#: includes/fields/class-acf-field-number.php:113
#: includes/fields/class-acf-field-radio.php:192
#: includes/fields/class-acf-field-range.php:153
#: includes/fields/class-acf-field-select.php:353
#: includes/fields/class-acf-field-select.php:345
#: includes/fields/class-acf-field-text.php:95
#: includes/fields/class-acf-field-textarea.php:93
#: includes/fields/class-acf-field-true_false.php:135
@ -7510,7 +7557,7 @@ msgid "Displays text alongside the checkbox"
msgstr "Mostra el text al costat de la casella de selecció"
#: includes/fields/class-acf-field-message.php:23
#: includes/fields/class-acf-field-message.php:84
#: includes/fields/class-acf-field-message.php:87
#: includes/fields/class-acf-field-true_false.php:125
msgid "Message"
msgstr "Missatge"
@ -7535,31 +7582,31 @@ msgstr "Sí"
msgid "True / False"
msgstr "Cert / Fals"
#: includes/fields/class-acf-field-group.php:412
#: includes/fields/class-acf-field-group.php:415
msgid "Row"
msgstr "Fila"
#: includes/fields/class-acf-field-group.php:411
#: includes/fields/class-acf-field-group.php:414
msgid "Table"
msgstr "Taula"
#: includes/admin/post-types/admin-field-group.php:158
#: includes/fields/class-acf-field-group.php:410
#: includes/fields/class-acf-field-group.php:413
msgid "Block"
msgstr "Bloc"
#: includes/fields/class-acf-field-group.php:405
#: includes/fields/class-acf-field-group.php:408
msgid "Specify the style used to render the selected fields"
msgstr "Especifiqueu lestil usat per a mostrar els camps escollits"
#: includes/fields.php:330 includes/fields/class-acf-field-button-group.php:204
#: includes/fields/class-acf-field-checkbox.php:405
#: includes/fields/class-acf-field-group.php:404
#: includes/fields/class-acf-field-group.php:407
#: includes/fields/class-acf-field-radio.php:276
msgid "Layout"
msgstr "Disposició"
#: includes/fields/class-acf-field-group.php:388
#: includes/fields/class-acf-field-group.php:391
msgid "Sub Fields"
msgstr "Sub camps"
@ -7635,7 +7682,7 @@ msgstr "El format que es retornarà a través de les funcions del tema"
#: includes/fields/class-acf-field-image.php:177
#: includes/fields/class-acf-field-post_object.php:396
#: includes/fields/class-acf-field-relationship.php:610
#: includes/fields/class-acf-field-select.php:364
#: includes/fields/class-acf-field-select.php:356
#: includes/fields/class-acf-field-time_picker.php:121
#: includes/fields/class-acf-field-user.php:95
msgid "Return Format"

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -12,7 +12,7 @@
# This file is distributed under the same license as Advanced Custom Fields.
msgid ""
msgstr ""
"PO-Revision-Date: 2024-07-18T08:39:03+00:00\n"
"PO-Revision-Date: 2024-10-02T12:08:46+00:00\n"
"Report-Msgid-Bugs-To: http://support.advancedcustomfields.com\n"
"Language: cs_CZ\n"
"MIME-Version: 1.0\n"
@ -21,6 +21,54 @@ msgstr ""
"X-Generator: gettext\n"
"Project-Id-Version: Advanced Custom Fields\n"
#: includes/validation.php:136
msgid ""
"ACF was unable to perform validation due to an invalid security nonce being "
"provided."
msgstr ""
#: includes/fields/class-acf-field.php:359
msgid "Allow Access to Value in Editor UI"
msgstr ""
#: includes/fields/class-acf-field.php:341
msgid "Learn more."
msgstr ""
#. translators: %s A "Learn More" link to documentation explaining the setting
#. further.
#: includes/fields/class-acf-field.php:340
msgid ""
"Allow content editors to access and display the field value in the editor UI "
"using Block Bindings or the ACF Shortcode. %s"
msgstr ""
#: includes/Blocks/Bindings.php:64
msgid ""
"The requested ACF field type does not support output in Block Bindings or "
"the ACF shortcode."
msgstr ""
#: includes/api/api-template.php:1085 includes/Blocks/Bindings.php:72
msgid ""
"The requested ACF field is not allowed to be output in bindings or the ACF "
"Shortcode."
msgstr ""
#: includes/api/api-template.php:1077
msgid ""
"The requested ACF field type does not support output in bindings or the ACF "
"Shortcode."
msgstr ""
#: includes/api/api-template.php:1054
msgid "[The ACF shortcode cannot display fields from non-public posts]"
msgstr ""
#: includes/api/api-template.php:1011
msgid "[The ACF shortcode is disabled on this site]"
msgstr ""
#: includes/fields/class-acf-field-icon_picker.php:451
msgid "Businessman Icon"
msgstr ""
@ -322,7 +370,7 @@ msgid "Crop Icon"
msgstr ""
#: includes/fields/class-acf-field-icon_picker.php:574
msgid "Id (alt) Icon"
msgid "ID (alt) Icon"
msgstr ""
#: includes/fields/class-acf-field-icon_picker.php:572
@ -575,7 +623,7 @@ msgid "Replies Icon"
msgstr ""
#: includes/fields/class-acf-field-icon_picker.php:446
msgid "Pm Icon"
msgid "PM Icon"
msgstr ""
#: includes/fields/class-acf-field-icon_picker.php:444
@ -591,7 +639,7 @@ msgid "BuddyPress Icon"
msgstr ""
#: includes/fields/class-acf-field-icon_picker.php:440
msgid "BbPress Icon"
msgid "bbPress Icon"
msgstr ""
#: includes/fields/class-acf-field-icon_picker.php:439
@ -690,20 +738,14 @@ msgstr ""
msgid "Upgrade to ACF PRO to create options pages in just a few clicks"
msgstr ""
#: includes/ajax/class-acf-ajax-upgrade.php:24
msgid "Sorry, you don't have permission to do that."
msgstr ""
#: includes/ajax/class-acf-ajax-query-users.php:24
msgid "Invalid request args."
msgstr ""
#: includes/ajax/class-acf-ajax-check-screen.php:37
#: includes/ajax/class-acf-ajax-local-json-diff.php:37
msgid "Sorry, you are not allowed to do that."
msgstr ""
#: includes/ajax/class-acf-ajax-check-screen.php:27
#: includes/ajax/class-acf-ajax-query-users.php:32
#: includes/ajax/class-acf-ajax-upgrade.php:24
#: includes/ajax/class-acf-ajax-user-setting.php:38
msgid "Sorry, you do not have permission to do that."
msgstr ""
@ -1010,7 +1052,7 @@ msgid "Index Card Icon"
msgstr ""
#: includes/fields/class-acf-field-icon_picker.php:573
msgid "Id Icon"
msgid "ID Icon"
msgstr ""
#: includes/fields/class-acf-field-icon_picker.php:570
@ -1640,7 +1682,7 @@ msgid ""
msgstr ""
#: includes/assets.php:373 assets/build/js/acf-input.js:11312
#: assets/build/js/acf-input.js:12394
#: assets/build/js/acf-input.js:12396
msgid "An ACF Block on this page requires attention before you can save."
msgstr ""
@ -1842,21 +1884,20 @@ msgstr ""
msgid "Please activate your ACF PRO license to edit this options page."
msgstr ""
#: includes/api/api-template.php:381 includes/api/api-template.php:435
#: includes/api/api-template.php:385 includes/api/api-template.php:439
msgid ""
"Returning escaped HTML values is only possible when format_value is also "
"true. The field values have not been returned for security."
msgstr ""
#: includes/api/api-template.php:46 includes/api/api-template.php:247
#: includes/api/api-template.php:939
#: includes/api/api-template.php:46 includes/api/api-template.php:251
#: includes/api/api-template.php:947
msgid ""
"Returning an escaped HTML value is only possible when format_value is also "
"true. The field value has not been returned for security."
msgstr ""
#. translators: %1$s - name of the ACF plugin. %2$s - Link to documentation.
#. %3$s - Link to show more details about the error
#: includes/admin/views/escaped-html-notice.php:32
msgid ""
"%1$s ACF now automatically escapes unsafe HTML when rendered by "
@ -1969,8 +2010,8 @@ msgid "Add fields"
msgstr ""
#: includes/admin/post-types/admin-field-group.php:147
#: assets/build/js/acf-field-group.js:2803
#: assets/build/js/acf-field-group.js:3298
#: assets/build/js/acf-field-group.js:2804
#: assets/build/js/acf-field-group.js:3220
msgid "This Field"
msgstr ""
@ -2034,7 +2075,7 @@ msgstr ""
#: includes/fields/class-acf-field-page_link.php:498
#: includes/fields/class-acf-field-post_object.php:411
#: includes/fields/class-acf-field-select.php:380
#: includes/fields/class-acf-field-select.php:372
#: includes/fields/class-acf-field-user.php:111
msgid "Select Multiple"
msgstr "Vybrat více"
@ -4507,15 +4548,15 @@ msgstr "Typ obsahu smazán."
#: includes/admin/post-types/admin-field-group.php:146
#: assets/build/js/acf-field-group.js:1159
#: assets/build/js/acf-field-group.js:1383
#: assets/build/js/acf-field-group.js:1369
msgid "Type to search..."
msgstr "Pište pro hledání..."
#: includes/admin/post-types/admin-field-group.php:101
#: assets/build/js/acf-field-group.js:1186
#: assets/build/js/acf-field-group.js:2349
#: assets/build/js/acf-field-group.js:1429
#: assets/build/js/acf-field-group.js:2761
#: assets/build/js/acf-field-group.js:2350
#: assets/build/js/acf-field-group.js:1404
#: assets/build/js/acf-field-group.js:2683
msgid "PRO Only"
msgstr "Pouze PRO"
@ -4626,7 +4667,7 @@ msgstr ""
"https://wpengine.com/?utm_source=wordpress."
"org&utm_medium=referral&utm_campaign=plugin_directory&utm_content=advanced_custom_fields"
#: includes/api/api-template.php:1015
#: includes/api/api-template.php:1027
msgid "[ACF shortcode value disabled for preview]"
msgstr "[Hodnota zkráceného kódu ACF vypnuta pro náhled]"
@ -4636,8 +4677,8 @@ msgid "Close Modal"
msgstr "Zavřít modální okno"
#: includes/admin/post-types/admin-field-group.php:92
#: assets/build/js/acf-field-group.js:1701
#: assets/build/js/acf-field-group.js:2032
#: assets/build/js/acf-field-group.js:1702
#: assets/build/js/acf-field-group.js:1972
msgid "Field moved to other group"
msgstr "Pole přesunuto do jiné skupiny"
@ -4646,15 +4687,15 @@ msgstr "Pole přesunuto do jiné skupiny"
msgid "Close modal"
msgstr "Zavřít modální okno"
#: includes/fields/class-acf-field-tab.php:119
#: includes/fields/class-acf-field-tab.php:122
msgid "Start a new group of tabs at this tab."
msgstr "Začněte novou skupinu karet na této kartě."
#: includes/fields/class-acf-field-tab.php:118
#: includes/fields/class-acf-field-tab.php:121
msgid "New Tab Group"
msgstr "Nová skupina karet"
#: includes/fields/class-acf-field-select.php:423
#: includes/fields/class-acf-field-select.php:415
#: includes/fields/class-acf-field-true_false.php:188
msgid "Use a stylized checkbox using select2"
msgstr "Použití stylizovaného zaškrtávacího políčka pomocí select2"
@ -4870,8 +4911,8 @@ msgid "Activate this item"
msgstr "Aktivovat tuto položku"
#: includes/admin/post-types/admin-field-group.php:88
#: assets/build/js/acf-field-group.js:2862
#: assets/build/js/acf-field-group.js:3375
#: assets/build/js/acf-field-group.js:2863
#: assets/build/js/acf-field-group.js:3297
msgid "Move field group to trash?"
msgstr "Přesunout skupinu polí do koše?"
@ -4934,7 +4975,7 @@ msgstr "%1$s musí mít platné ID uživatele."
msgid "Invalid request."
msgstr "Neplatný požadavek."
#: includes/fields/class-acf-field-select.php:637
#: includes/fields/class-acf-field-select.php:629
msgid "%1$s is not one of %2$s"
msgstr "%1$s není jedním z %2$s"
@ -5600,7 +5641,7 @@ msgstr "šířka"
msgid "Wrapper Attributes"
msgstr "Atributy obalového pole"
#: includes/fields/class-acf-field.php:311
#: includes/fields/class-acf-field.php:312
msgid "Required"
msgstr "Požadováno?"
@ -5660,8 +5701,8 @@ msgstr "Přetažením změníte pořadí"
#: includes/admin/post-types/admin-field-group.php:99
#: includes/admin/views/acf-field-group/location-group.php:3
#: assets/build/js/acf-field-group.js:2387
#: assets/build/js/acf-field-group.js:2812
#: assets/build/js/acf-field-group.js:2388
#: assets/build/js/acf-field-group.js:2734
msgid "Show this field group if"
msgstr "Zobrazit tuto skupinu polí, pokud"
@ -5955,8 +5996,8 @@ msgstr "Nula"
#: includes/admin/post-types/admin-field-group.php:97
#: includes/class-acf-internal-post-type.php:728
#: includes/post-types/class-acf-field-group.php:345
#: assets/build/js/acf-field-group.js:1541
#: assets/build/js/acf-field-group.js:1860
#: assets/build/js/acf-field-group.js:1542
#: assets/build/js/acf-field-group.js:1805
msgid "copy"
msgstr "kopírovat"
@ -5973,8 +6014,8 @@ msgid "Checked"
msgstr "Zaškrtnuto"
#: includes/admin/post-types/admin-field-group.php:90
#: assets/build/js/acf-field-group.js:1646
#: assets/build/js/acf-field-group.js:1972
#: assets/build/js/acf-field-group.js:1647
#: assets/build/js/acf-field-group.js:1913
msgid "Move Custom Field"
msgstr "Přesunout vlastní pole"
@ -5989,14 +6030,14 @@ msgid "Field group title is required"
msgstr "Vyžadován nadpis pro skupinu polí"
#: includes/admin/post-types/admin-field-group.php:86
#: assets/build/js/acf-field-group.js:1635
#: assets/build/js/acf-field-group.js:1958
#: assets/build/js/acf-field-group.js:1636
#: assets/build/js/acf-field-group.js:1902
msgid "This field cannot be moved until its changes have been saved"
msgstr "Toto pole nelze přesunout, dokud nebudou uloženy jeho změny"
#: includes/admin/post-types/admin-field-group.php:85
#: assets/build/js/acf-field-group.js:1445
#: assets/build/js/acf-field-group.js:1755
#: assets/build/js/acf-field-group.js:1446
#: assets/build/js/acf-field-group.js:1703
msgid "The string \"field_\" may not be used at the start of a field name"
msgstr "Řetězec \"pole_\" nesmí být použit na začátku názvu pole"
@ -6234,7 +6275,7 @@ msgid "The changes you made will be lost if you navigate away from this page"
msgstr ""
"Pokud opustíte tuto stránku, změny, které jste provedli, budou ztraceny"
#: includes/api/api-helpers.php:2959
#: includes/api/api-helpers.php:2984
msgid "File type must be %s."
msgstr "Typ souboru musí být %s."
@ -6243,34 +6284,34 @@ msgstr "Typ souboru musí být %s."
#: includes/admin/views/acf-field-group/conditional-logic.php:182
#: includes/admin/views/acf-field-group/location-group.php:3
#: includes/admin/views/acf-field-group/locations.php:35
#: includes/api/api-helpers.php:2956 assets/build/js/acf-field-group.js:781
#: assets/build/js/acf-field-group.js:2427
#: includes/api/api-helpers.php:2981 assets/build/js/acf-field-group.js:781
#: assets/build/js/acf-field-group.js:2428
#: assets/build/js/acf-field-group.js:946
#: assets/build/js/acf-field-group.js:2859
#: assets/build/js/acf-field-group.js:2781
msgid "or"
msgstr "nebo"
#: includes/api/api-helpers.php:2932
#: includes/api/api-helpers.php:2957
msgid "File size must not exceed %s."
msgstr "Velikost souboru nesmí překročit %s."
#: includes/api/api-helpers.php:2928
#: includes/api/api-helpers.php:2953
msgid "File size must be at least %s."
msgstr "Velikost souboru musí být alespoň %s."
#: includes/api/api-helpers.php:2915
#: includes/api/api-helpers.php:2940
msgid "Image height must not exceed %dpx."
msgstr "Výška obrázku nesmí přesáhnout %dpx."
#: includes/api/api-helpers.php:2911
#: includes/api/api-helpers.php:2936
msgid "Image height must be at least %dpx."
msgstr "Výška obrázku musí být alespoň %dpx."
#: includes/api/api-helpers.php:2899
#: includes/api/api-helpers.php:2924
msgid "Image width must not exceed %dpx."
msgstr "Šířka obrázku nesmí přesáhnout %dpx."
#: includes/api/api-helpers.php:2895
#: includes/api/api-helpers.php:2920
msgid "Image width must be at least %dpx."
msgstr "Šířka obrázku musí být alespoň %dpx."
@ -6297,7 +6338,7 @@ msgstr "Miniatura"
#: includes/acf-field-functions.php:854
#: includes/admin/post-types/admin-field-group.php:95
#: assets/build/js/acf-field-group.js:1090
#: assets/build/js/acf-field-group.js:1277
#: assets/build/js/acf-field-group.js:1274
msgid "(no label)"
msgstr "(bez štítku)"
@ -6469,7 +6510,7 @@ msgstr "Jiné"
msgid "Radio Button"
msgstr "Přepínač"
#: includes/fields/class-acf-field-accordion.php:103
#: includes/fields/class-acf-field-accordion.php:106
msgid ""
"Define an endpoint for the previous accordion to stop. This accordion will "
"not be visible."
@ -6477,19 +6518,19 @@ msgstr ""
"Definujte koncový bod pro předchozí akordeon. Tento akordeon nebude "
"viditelný."
#: includes/fields/class-acf-field-accordion.php:92
#: includes/fields/class-acf-field-accordion.php:95
msgid "Allow this accordion to open without closing others."
msgstr "Povolit otevření tohoto akordeonu bez zavření ostatních."
#: includes/fields/class-acf-field-accordion.php:91
#: includes/fields/class-acf-field-accordion.php:94
msgid "Multi-Expand"
msgstr ""
#: includes/fields/class-acf-field-accordion.php:81
#: includes/fields/class-acf-field-accordion.php:84
msgid "Display this accordion as open on page load."
msgstr "Zobrazit tento akordeon jako otevřený při načtení stránky."
#: includes/fields/class-acf-field-accordion.php:80
#: includes/fields/class-acf-field-accordion.php:83
msgid "Open"
msgstr "Otevřít"
@ -6551,81 +6592,87 @@ msgstr "Soubor"
msgid "Password"
msgstr "Heslo"
#: includes/fields/class-acf-field-select.php:365
#: includes/fields/class-acf-field-select.php:357
msgid "Specify the value returned"
msgstr "Zadat konkrétní návratovou hodnotu"
#: includes/fields/class-acf-field-select.php:433
#: includes/fields/class-acf-field-select.php:425
msgid "Use AJAX to lazy load choices?"
msgstr "K načtení volby použít AJAX lazy load?"
#: includes/fields/class-acf-field-checkbox.php:333
#: includes/fields/class-acf-field-select.php:354
#: includes/fields/class-acf-field-select.php:346
msgid "Enter each default value on a new line"
msgstr "Zadejte každou výchozí hodnotu na nový řádek"
#: includes/fields/class-acf-field-select.php:229 includes/media.php:48
#: includes/fields/class-acf-field-select.php:221 includes/media.php:48
#: assets/build/js/acf-input.js:7822 assets/build/js/acf-input.js:8484
msgctxt "verb"
msgid "Select"
msgstr "Vybrat"
#: includes/fields/class-acf-field-select.php:109
#: includes/fields/class-acf-field-select.php:101
msgctxt "Select2 JS load_fail"
msgid "Loading failed"
msgstr "Načítání selhalo"
#: includes/fields/class-acf-field-select.php:108
#: includes/fields/class-acf-field-select.php:100
msgctxt "Select2 JS searching"
msgid "Searching&hellip;"
msgstr "Vyhledávání&hellip;"
#: includes/fields/class-acf-field-select.php:107
#: includes/fields/class-acf-field-select.php:99
msgctxt "Select2 JS load_more"
msgid "Loading more results&hellip;"
msgstr "Načítání dalších výsledků&hellip;"
#: includes/fields/class-acf-field-select.php:106
#. translators: %d - maximum number of items that can be selected in the select
#. field
#: includes/fields/class-acf-field-select.php:98
msgctxt "Select2 JS selection_too_long_n"
msgid "You can only select %d items"
msgstr "Můžete vybrat pouze %d položek"
#: includes/fields/class-acf-field-select.php:105
#: includes/fields/class-acf-field-select.php:96
msgctxt "Select2 JS selection_too_long_1"
msgid "You can only select 1 item"
msgstr "Můžete vybrat pouze 1 položku"
#: includes/fields/class-acf-field-select.php:104
#. translators: %d - number of characters that should be removed from select
#. field
#: includes/fields/class-acf-field-select.php:95
msgctxt "Select2 JS input_too_long_n"
msgid "Please delete %d characters"
msgstr "Prosím odstraňte %d znaků"
#: includes/fields/class-acf-field-select.php:103
#: includes/fields/class-acf-field-select.php:93
msgctxt "Select2 JS input_too_long_1"
msgid "Please delete 1 character"
msgstr "Prosím odstraňte 1 znak"
#: includes/fields/class-acf-field-select.php:102
#. translators: %d - number of characters to enter into select field input
#: includes/fields/class-acf-field-select.php:92
msgctxt "Select2 JS input_too_short_n"
msgid "Please enter %d or more characters"
msgstr "Prosím zadejte %d nebo více znaků"
#: includes/fields/class-acf-field-select.php:101
#: includes/fields/class-acf-field-select.php:90
msgctxt "Select2 JS input_too_short_1"
msgid "Please enter 1 or more characters"
msgstr "Prosím zadejte 1 nebo více znaků"
#: includes/fields/class-acf-field-select.php:100
#: includes/fields/class-acf-field-select.php:89
msgctxt "Select2 JS matches_0"
msgid "No matches found"
msgstr "Nebyly nalezeny žádné výsledky"
#: includes/fields/class-acf-field-select.php:99
#. translators: %d - number of results available in select field
#: includes/fields/class-acf-field-select.php:88
msgctxt "Select2 JS matches_n"
msgid "%d results are available, use up and down arrow keys to navigate."
msgstr "%d výsledků je k dispozici, použijte šipky nahoru a dolů pro navigaci."
#: includes/fields/class-acf-field-select.php:98
#: includes/fields/class-acf-field-select.php:86
msgctxt "Select2 JS matches_1"
msgid "One result is available, press enter to select it."
msgstr ""
@ -6766,21 +6813,21 @@ msgstr "Zvolit čas"
msgid "Date Time Picker"
msgstr "Výběr data a času"
#: includes/fields/class-acf-field-accordion.php:102
#: includes/fields/class-acf-field-accordion.php:105
msgid "Endpoint"
msgstr "Koncový bod"
#: includes/admin/views/acf-field-group/options.php:130
#: includes/fields/class-acf-field-tab.php:109
#: includes/fields/class-acf-field-tab.php:112
msgid "Left aligned"
msgstr "Zarovnat zleva"
#: includes/admin/views/acf-field-group/options.php:129
#: includes/fields/class-acf-field-tab.php:108
#: includes/fields/class-acf-field-tab.php:111
msgid "Top aligned"
msgstr "Zarovnat shora"
#: includes/fields/class-acf-field-tab.php:104
#: includes/fields/class-acf-field-tab.php:107
msgid "Placement"
msgstr "Umístění"
@ -6838,7 +6885,7 @@ msgstr "Rozmezí"
#: includes/fields/class-acf-field-button-group.php:165
#: includes/fields/class-acf-field-checkbox.php:350
#: includes/fields/class-acf-field-radio.php:210
#: includes/fields/class-acf-field-select.php:372
#: includes/fields/class-acf-field-select.php:364
msgid "Both (Array)"
msgstr "Obě (pole)"
@ -6846,14 +6893,14 @@ msgstr "Obě (pole)"
#: includes/fields/class-acf-field-button-group.php:164
#: includes/fields/class-acf-field-checkbox.php:349
#: includes/fields/class-acf-field-radio.php:209
#: includes/fields/class-acf-field-select.php:371
#: includes/fields/class-acf-field-select.php:363
msgid "Label"
msgstr "Štítek"
#: includes/fields/class-acf-field-button-group.php:163
#: includes/fields/class-acf-field-checkbox.php:348
#: includes/fields/class-acf-field-radio.php:208
#: includes/fields/class-acf-field-select.php:370
#: includes/fields/class-acf-field-select.php:362
msgid "Value"
msgstr "Hodnota"
@ -6872,28 +6919,28 @@ msgstr "Horizontální"
#: includes/fields/class-acf-field-button-group.php:138
#: includes/fields/class-acf-field-checkbox.php:323
#: includes/fields/class-acf-field-radio.php:183
#: includes/fields/class-acf-field-select.php:343
#: includes/fields/class-acf-field-select.php:335
msgid "red : Red"
msgstr "cervena : Červená"
#: includes/fields/class-acf-field-button-group.php:138
#: includes/fields/class-acf-field-checkbox.php:323
#: includes/fields/class-acf-field-radio.php:183
#: includes/fields/class-acf-field-select.php:343
#: includes/fields/class-acf-field-select.php:335
msgid "For more control, you may specify both a value and label like this:"
msgstr "Pro větší kontrolu můžete zadat jak hodnotu, tak štítek:"
#: includes/fields/class-acf-field-button-group.php:138
#: includes/fields/class-acf-field-checkbox.php:323
#: includes/fields/class-acf-field-radio.php:183
#: includes/fields/class-acf-field-select.php:343
#: includes/fields/class-acf-field-select.php:335
msgid "Enter each choice on a new line."
msgstr "Zadejte každou volbu na nový řádek."
#: includes/fields/class-acf-field-button-group.php:137
#: includes/fields/class-acf-field-checkbox.php:322
#: includes/fields/class-acf-field-radio.php:182
#: includes/fields/class-acf-field-select.php:342
#: includes/fields/class-acf-field-select.php:334
msgid "Choices"
msgstr "Možnosti"
@ -6905,7 +6952,7 @@ msgstr "Skupina tlačítek"
#: includes/fields/class-acf-field-page_link.php:519
#: includes/fields/class-acf-field-post_object.php:432
#: includes/fields/class-acf-field-radio.php:228
#: includes/fields/class-acf-field-select.php:401
#: includes/fields/class-acf-field-select.php:393
#: includes/fields/class-acf-field-taxonomy.php:705
#: includes/fields/class-acf-field-user.php:132
msgid "Allow Null"
@ -7296,35 +7343,35 @@ msgstr "Vybrat obrázek"
msgid "Image"
msgstr "Obrázek"
#: includes/fields/class-acf-field-message.php:110
#: includes/fields/class-acf-field-message.php:113
msgid "Allow HTML markup to display as visible text instead of rendering"
msgstr "Nevykreslovat efekt, ale zobrazit značky HTML jako prostý text"
#: includes/fields/class-acf-field-message.php:109
#: includes/fields/class-acf-field-message.php:112
msgid "Escape HTML"
msgstr "Escapovat HTML"
#: includes/fields/class-acf-field-message.php:101
#: includes/fields/class-acf-field-message.php:104
#: includes/fields/class-acf-field-textarea.php:162
msgid "No Formatting"
msgstr "Žádné formátování"
#: includes/fields/class-acf-field-message.php:100
#: includes/fields/class-acf-field-message.php:103
#: includes/fields/class-acf-field-textarea.php:161
msgid "Automatically add &lt;br&gt;"
msgstr "Automaticky přidávat &lt;br&gt;"
#: includes/fields/class-acf-field-message.php:99
#: includes/fields/class-acf-field-message.php:102
#: includes/fields/class-acf-field-textarea.php:160
msgid "Automatically add paragraphs"
msgstr "Automaticky přidávat odstavce"
#: includes/fields/class-acf-field-message.php:95
#: includes/fields/class-acf-field-message.php:98
#: includes/fields/class-acf-field-textarea.php:156
msgid "Controls how new lines are rendered"
msgstr "Řídí, jak se vykreslují nové řádky"
#: includes/fields/class-acf-field-message.php:94
#: includes/fields/class-acf-field-message.php:97
#: includes/fields/class-acf-field-textarea.php:155
msgid "New Lines"
msgstr "Nové řádky"
@ -7406,7 +7453,7 @@ msgstr "Text zobrazený při aktivním poli"
msgid "On Text"
msgstr "Text (aktivní)"
#: includes/fields/class-acf-field-select.php:422
#: includes/fields/class-acf-field-select.php:414
#: includes/fields/class-acf-field-true_false.php:187
msgid "Stylized UI"
msgstr "Stylizované uživatelské rozhraní"
@ -7418,7 +7465,7 @@ msgstr "Stylizované uživatelské rozhraní"
#: includes/fields/class-acf-field-number.php:113
#: includes/fields/class-acf-field-radio.php:192
#: includes/fields/class-acf-field-range.php:153
#: includes/fields/class-acf-field-select.php:353
#: includes/fields/class-acf-field-select.php:345
#: includes/fields/class-acf-field-text.php:95
#: includes/fields/class-acf-field-textarea.php:93
#: includes/fields/class-acf-field-true_false.php:135
@ -7432,7 +7479,7 @@ msgid "Displays text alongside the checkbox"
msgstr "Zobrazí text vedle zaškrtávacího políčka"
#: includes/fields/class-acf-field-message.php:23
#: includes/fields/class-acf-field-message.php:84
#: includes/fields/class-acf-field-message.php:87
#: includes/fields/class-acf-field-true_false.php:125
msgid "Message"
msgstr "Zpráva"
@ -7457,31 +7504,31 @@ msgstr "Ano"
msgid "True / False"
msgstr "Pravda / Nepravda"
#: includes/fields/class-acf-field-group.php:412
#: includes/fields/class-acf-field-group.php:415
msgid "Row"
msgstr "Řádek"
#: includes/fields/class-acf-field-group.php:411
#: includes/fields/class-acf-field-group.php:414
msgid "Table"
msgstr "Tabulka"
#: includes/admin/post-types/admin-field-group.php:158
#: includes/fields/class-acf-field-group.php:410
#: includes/fields/class-acf-field-group.php:413
msgid "Block"
msgstr "Blok"
#: includes/fields/class-acf-field-group.php:405
#: includes/fields/class-acf-field-group.php:408
msgid "Specify the style used to render the selected fields"
msgstr "Určení stylu použitého pro vykreslení vybraných polí"
#: includes/fields.php:330 includes/fields/class-acf-field-button-group.php:204
#: includes/fields/class-acf-field-checkbox.php:405
#: includes/fields/class-acf-field-group.php:404
#: includes/fields/class-acf-field-group.php:407
#: includes/fields/class-acf-field-radio.php:276
msgid "Layout"
msgstr "Typ zobrazení"
#: includes/fields/class-acf-field-group.php:388
#: includes/fields/class-acf-field-group.php:391
msgid "Sub Fields"
msgstr "Podřazená pole"
@ -7557,7 +7604,7 @@ msgstr "Formát vrácen pomocí funkcí šablony"
#: includes/fields/class-acf-field-image.php:177
#: includes/fields/class-acf-field-post_object.php:396
#: includes/fields/class-acf-field-relationship.php:610
#: includes/fields/class-acf-field-select.php:364
#: includes/fields/class-acf-field-select.php:356
#: includes/fields/class-acf-field-time_picker.php:121
#: includes/fields/class-acf-field-user.php:95
msgid "Return Format"

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -12,7 +12,7 @@
# This file is distributed under the same license as Advanced Custom Fields.
msgid ""
msgstr ""
"PO-Revision-Date: 2024-07-18T08:39:03+00:00\n"
"PO-Revision-Date: 2024-10-02T12:08:46+00:00\n"
"Report-Msgid-Bugs-To: http://support.advancedcustomfields.com\n"
"Language: de_CH\n"
"MIME-Version: 1.0\n"

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More