Updates to 6.2.8
This commit is contained in:
parent
6773aef359
commit
2196a551b5
11
acf.php
11
acf.php
|
|
@ -9,7 +9,7 @@
|
|||
* Plugin Name: Advanced Custom Fields PRO
|
||||
* Plugin URI: https://www.advancedcustomfields.com
|
||||
* Description: Customize WordPress with powerful, professional and intuitive fields.
|
||||
* Version: 6.2.7
|
||||
* Version: 6.2.8
|
||||
* 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
|
||||
|
|
@ -36,7 +36,7 @@ if ( ! class_exists( 'ACF' ) ) {
|
|||
*
|
||||
* @var string
|
||||
*/
|
||||
public $version = '6.2.7';
|
||||
public $version = '6.2.8';
|
||||
|
||||
/**
|
||||
* The plugin settings array.
|
||||
|
|
@ -129,6 +129,7 @@ if ( ! class_exists( 'ACF' ) ) {
|
|||
'preload_blocks' => true,
|
||||
'enable_shortcode' => true,
|
||||
'enable_bidirection' => true,
|
||||
'enable_block_bindings' => true,
|
||||
);
|
||||
|
||||
// Include utility functions.
|
||||
|
|
@ -380,6 +381,12 @@ 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 ( version_compare( get_bloginfo( 'version' ), '6.5-beta1', '>=' ) ) {
|
||||
acf_include( 'includes/Blocks/Bindings.php' );
|
||||
new ACF\Blocks\Bindings();
|
||||
}
|
||||
|
||||
/**
|
||||
* Fires after ACF is completely "initialized".
|
||||
*
|
||||
|
|
|
|||
|
|
@ -2402,7 +2402,9 @@ html[dir=rtl] .acf-table > tbody > tr > td.order + td {
|
|||
}
|
||||
.acf-admin-page .p4, .acf-admin-page .acf-admin-toolbar a.acf-admin-toolbar-upgrade-btn p, .acf-admin-toolbar a.acf-admin-toolbar-upgrade-btn .acf-admin-page p, .acf-admin-page #acf-update-information .form-table th, #acf-update-information .form-table .acf-admin-page th,
|
||||
.acf-admin-page #acf-update-information .form-table td,
|
||||
#acf-update-information .form-table .acf-admin-page td, .acf-admin-page #acf-admin-tools.tool-export .acf-panel h3, #acf-admin-tools.tool-export .acf-panel .acf-admin-page h3, .acf-admin-page .acf-btn.acf-btn-sm, .acf-admin-page .acf-admin-toolbar .acf-tab, .acf-admin-toolbar .acf-admin-page .acf-tab, .acf-admin-page .acf-options-preview .acf-options-pages-preview-upgrade-button p, .acf-options-preview .acf-options-pages-preview-upgrade-button .acf-admin-page p, .acf-admin-page .acf-internal-post-type .subsubsub li, .acf-internal-post-type .subsubsub .acf-admin-page li, .acf-admin-page .acf-internal-post-type .wp-list-table tbody th, .acf-internal-post-type .wp-list-table tbody .acf-admin-page th,
|
||||
#acf-update-information .form-table .acf-admin-page td, .acf-admin-page #acf-admin-tools.tool-export .acf-panel h3, #acf-admin-tools.tool-export .acf-panel .acf-admin-page h3, .acf-admin-page .acf-btn.acf-btn-sm, .acf-admin-page .acf-admin-toolbar .acf-tab, .acf-admin-toolbar .acf-admin-page .acf-tab, .acf-admin-page .acf-options-preview .acf-options-pages-preview-upgrade-button p, .acf-options-preview .acf-options-pages-preview-upgrade-button .acf-admin-page p,
|
||||
.acf-admin-page .acf-no-options-pages-wrapper .acf-options-pages-preview-upgrade-button p,
|
||||
.acf-no-options-pages-wrapper .acf-options-pages-preview-upgrade-button .acf-admin-page p, .acf-admin-page .acf-internal-post-type .subsubsub li, .acf-internal-post-type .subsubsub .acf-admin-page li, .acf-admin-page .acf-internal-post-type .wp-list-table tbody th, .acf-internal-post-type .wp-list-table tbody .acf-admin-page th,
|
||||
.acf-admin-page .acf-internal-post-type .wp-list-table tbody td,
|
||||
.acf-internal-post-type .wp-list-table tbody .acf-admin-page td, .acf-admin-page .acf-internal-post-type .wp-list-table thead th, .acf-internal-post-type .wp-list-table thead .acf-admin-page th, .acf-admin-page .acf-internal-post-type .wp-list-table thead td, .acf-internal-post-type .wp-list-table thead .acf-admin-page td,
|
||||
.acf-admin-page .acf-internal-post-type .wp-list-table tfoot th,
|
||||
|
|
@ -4109,16 +4111,19 @@ html[dir=rtl] .acf-table > tbody > tr > td.order + td {
|
|||
* Options Page Preview
|
||||
*
|
||||
*---------------------------------------------------------------------------------------------*/
|
||||
.acf-options-preview .acf-btn {
|
||||
.acf-options-preview .acf-btn,
|
||||
.acf-no-options-pages-wrapper .acf-btn {
|
||||
margin-left: 8px;
|
||||
}
|
||||
.acf-options-preview .disabled {
|
||||
.acf-options-preview .disabled,
|
||||
.acf-no-options-pages-wrapper .disabled {
|
||||
background-color: #F2F4F7 !important;
|
||||
color: #98A2B3 !important;
|
||||
border: 1px #D0D5DD solid;
|
||||
cursor: default !important;
|
||||
}
|
||||
.acf-options-preview .acf-options-pages-preview-upgrade-button {
|
||||
.acf-options-preview .acf-options-pages-preview-upgrade-button,
|
||||
.acf-no-options-pages-wrapper .acf-options-pages-preview-upgrade-button {
|
||||
height: 48px;
|
||||
padding: 8px 48px 8px 48px !important;
|
||||
border-radius: 6px;
|
||||
|
|
@ -4135,15 +4140,18 @@ html[dir=rtl] .acf-table > tbody > tr > td.order + td {
|
|||
border-radius: 6px;
|
||||
text-decoration: none;
|
||||
}
|
||||
.acf-options-preview .acf-options-pages-preview-upgrade-button:hover {
|
||||
.acf-options-preview .acf-options-pages-preview-upgrade-button:hover,
|
||||
.acf-no-options-pages-wrapper .acf-options-pages-preview-upgrade-button:hover {
|
||||
background-position: 0 0;
|
||||
}
|
||||
.acf-options-preview .acf-options-pages-preview-upgrade-button:focus {
|
||||
.acf-options-preview .acf-options-pages-preview-upgrade-button:focus,
|
||||
.acf-no-options-pages-wrapper .acf-options-pages-preview-upgrade-button:focus {
|
||||
border: none;
|
||||
outline: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
.acf-options-preview .acf-options-pages-preview-upgrade-button p {
|
||||
.acf-options-preview .acf-options-pages-preview-upgrade-button p,
|
||||
.acf-no-options-pages-wrapper .acf-options-pages-preview-upgrade-button p {
|
||||
margin: 0;
|
||||
padding-top: 8px;
|
||||
padding-bottom: 8px;
|
||||
|
|
@ -4151,21 +4159,25 @@ html[dir=rtl] .acf-table > tbody > tr > td.order + td {
|
|||
text-transform: none;
|
||||
color: #fff;
|
||||
}
|
||||
.acf-options-preview .acf-options-pages-preview-upgrade-button .acf-icon {
|
||||
.acf-options-preview .acf-options-pages-preview-upgrade-button .acf-icon,
|
||||
.acf-no-options-pages-wrapper .acf-options-pages-preview-upgrade-button .acf-icon {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin-right: 6px;
|
||||
margin-left: -2px;
|
||||
background-color: #F9FAFB;
|
||||
}
|
||||
.acf-options-preview .acf_options_preview_wrap a.acf-btn i {
|
||||
.acf-options-preview .acf-ui-options-page-pro-features-actions a.acf-btn i,
|
||||
.acf-no-options-pages-wrapper .acf-ui-options-page-pro-features-actions a.acf-btn i {
|
||||
margin-right: -2px !important;
|
||||
margin-left: 0px !important;
|
||||
}
|
||||
.acf-options-preview .acf-pro-label {
|
||||
.acf-options-preview .acf-pro-label,
|
||||
.acf-no-options-pages-wrapper .acf-pro-label {
|
||||
vertical-align: middle;
|
||||
}
|
||||
.acf-options-preview .acf_options_preview_wrap img {
|
||||
.acf-options-preview .acf_options_preview_wrap img,
|
||||
.acf-no-options-pages-wrapper .acf_options_preview_wrap img {
|
||||
max-height: 88px;
|
||||
}
|
||||
|
||||
|
|
@ -4215,6 +4227,62 @@ html[dir=rtl] .acf-table > tbody > tr > td.order + td {
|
|||
}
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
*
|
||||
* Invalid license states
|
||||
*
|
||||
*---------------------------------------------------------------------------------------------*/
|
||||
.acf-internal-post-type.acf-pro-inactive-license.acf-admin-options-pages .row-title {
|
||||
color: #667085;
|
||||
pointer-events: none;
|
||||
display: inline-flex;
|
||||
vertical-align: middle;
|
||||
gap: 6px;
|
||||
}
|
||||
.acf-internal-post-type.acf-pro-inactive-license.acf-admin-options-pages .row-title:before {
|
||||
content: "";
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
background-color: #667085;
|
||||
display: inline-block;
|
||||
align-self: center;
|
||||
-webkit-mask-image: url("../../images/icons/icon-lock.svg");
|
||||
mask-image: url("../../images/icons/icon-lock.svg");
|
||||
}
|
||||
.acf-internal-post-type.acf-pro-inactive-license.acf-admin-options-pages .row-actions {
|
||||
display: none;
|
||||
}
|
||||
.acf-internal-post-type.acf-pro-inactive-license.acf-admin-options-pages .column-title .acf-js-tooltip {
|
||||
display: inline-block;
|
||||
}
|
||||
.acf-internal-post-type.acf-pro-inactive-license tr.acf-has-block-location .row-title {
|
||||
color: #667085;
|
||||
pointer-events: none;
|
||||
display: inline-flex;
|
||||
vertical-align: middle;
|
||||
gap: 6px;
|
||||
}
|
||||
.acf-internal-post-type.acf-pro-inactive-license tr.acf-has-block-location .row-title:before {
|
||||
content: "";
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
background-color: #667085;
|
||||
display: inline-block;
|
||||
align-self: center;
|
||||
-webkit-mask-image: url("../../images/icons/icon-lock.svg");
|
||||
mask-image: url("../../images/icons/icon-lock.svg");
|
||||
}
|
||||
.acf-internal-post-type.acf-pro-inactive-license tr.acf-has-block-location .acf-count a {
|
||||
color: #667085;
|
||||
pointer-events: none;
|
||||
}
|
||||
.acf-internal-post-type.acf-pro-inactive-license tr.acf-has-block-location .row-actions {
|
||||
display: none;
|
||||
}
|
||||
.acf-internal-post-type.acf-pro-inactive-license tr.acf-has-block-location .column-title .acf-js-tooltip {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
*
|
||||
* Admin Navigation
|
||||
|
|
@ -6803,15 +6871,16 @@ h3.acf-sub-field-list-title:before,
|
|||
align-items: center;
|
||||
min-height: 24px;
|
||||
margin-bottom: 12px;
|
||||
padding-right: 8px;
|
||||
padding-left: 8px;
|
||||
padding-right: 10px;
|
||||
padding-left: 10px;
|
||||
background: linear-gradient(90.52deg, #3E8BFF 0.44%, #A45CFF 113.3%);
|
||||
background-size: 140% 20%;
|
||||
background-position: 100% 0;
|
||||
border-radius: 100px;
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
font-size: 11px;
|
||||
font-size: 10px;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
.acf-modal.acf-browse-fields-modal .acf-field-type-preview .field-type-info .field-type-upgrade-to-unlock i.acf-icon {
|
||||
width: 14px;
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -141,4 +141,22 @@
|
|||
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
|
|
@ -1 +1 @@
|
|||
.acf-field-setting-fc_layout .acf-toggle-fc-layout{width:34px;height:31px;margin:0;padding:0;border:0;background:rgba(0,0,0,0);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}.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}
|
||||
.acf-field-setting-fc_layout .acf-toggle-fc-layout{width:34px;height:31px;margin:0;padding:0;border:0;background:rgba(0,0,0,0);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}.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}.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}
|
||||
|
|
|
|||
|
|
@ -142,9 +142,10 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|||
this.$el.find('.field-type-image').hide();
|
||||
}
|
||||
const isPro = acf.get('is_pro');
|
||||
const isActive = acf.get('isLicenseActive');
|
||||
const $upgateToProButton = this.$el.find('.acf-btn-pro');
|
||||
const $upgradeToUnlockButton = this.$el.find('.field-type-upgrade-to-unlock');
|
||||
if (args.pro && !isPro) {
|
||||
if (args.pro && (!isPro || !isActive)) {
|
||||
$upgateToProButton.show();
|
||||
$upgateToProButton.attr('href', $upgateToProButton.data('urlBase') + fieldType);
|
||||
$upgradeToUnlockButton.show();
|
||||
|
|
@ -1128,15 +1129,15 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|||
templateResult: function (selection) {
|
||||
if (selection.loading || selection.element && selection.element.nodeName === 'OPTGROUP') {
|
||||
var $selection = $('<span class="acf-selection"></span>');
|
||||
$selection.html(acf.escHtml(selection.text));
|
||||
$selection.html(acf.strEscape(selection.text));
|
||||
} else {
|
||||
var $selection = $('<i class="field-type-icon field-type-icon-' + selection.id.replaceAll('_', '-') + '"></i><span class="acf-selection has-icon">' + acf.escHtml(selection.text) + '</span>');
|
||||
var $selection = $('<i class="field-type-icon field-type-icon-' + selection.id.replaceAll('_', '-') + '"></i><span class="acf-selection has-icon">' + acf.strEscape(selection.text) + '</span>');
|
||||
}
|
||||
$selection.data('element', selection.element);
|
||||
return $selection;
|
||||
},
|
||||
templateSelection: function (selection) {
|
||||
var $selection = $('<i class="field-type-icon field-type-icon-' + selection.id.replaceAll('_', '-') + '"></i><span class="acf-selection has-icon">' + acf.escHtml(selection.text) + '</span>');
|
||||
var $selection = $('<i class="field-type-icon field-type-icon-' + selection.id.replaceAll('_', '-') + '"></i><span class="acf-selection has-icon">' + acf.strEscape(selection.text) + '</span>');
|
||||
$selection.data('element', selection.element);
|
||||
return $selection;
|
||||
}
|
||||
|
|
@ -1152,8 +1153,8 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|||
this.fieldTypeSelect2.$el.parent().on('keydown', '.select2-selection.select2-selection--single', this.onKeyDownSelect);
|
||||
},
|
||||
addProFields: function () {
|
||||
// Make sure we're only running this on free version.
|
||||
if (acf.get('is_pro')) {
|
||||
// Don't run if we have a valid license.
|
||||
if (acf.get('is_pro') && acf.get('isLicenseActive')) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -1168,7 +1169,20 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|||
const $contentGroup = $fieldTypeSelect.find('optgroup option[value="image"]').parent();
|
||||
for (const [name, field] of Object.entries(PROFieldTypes)) {
|
||||
const $useGroup = field.category === 'content' ? $contentGroup : $layoutGroup;
|
||||
$useGroup.append('<option value="null" disabled="disabled">' + field.label + ' (' + acf.__('PRO Only') + ')</option>');
|
||||
const $existing = $useGroup.children('[value="' + name + '"]');
|
||||
const label = `${acf.strEscape(field.label)} (${acf.strEscape(acf.__('PRO Only'))})`;
|
||||
if ($existing.length) {
|
||||
// Already added by pro, update existing option.
|
||||
$existing.text(label);
|
||||
|
||||
// Don't disable if already selected (prevents re-save from overriding field type).
|
||||
if ($fieldTypeSelect.val() !== name) {
|
||||
$existing.attr('disabled', 'disabled');
|
||||
}
|
||||
} else {
|
||||
// Append new disabled option.
|
||||
$useGroup.append(`<option value="null" disabled="disabled">${label}</option>`);
|
||||
}
|
||||
}
|
||||
$fieldTypeSelect.addClass('acf-free-field-type');
|
||||
},
|
||||
|
|
@ -1194,7 +1208,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|||
$handle.find('.li-field-label strong a').html(label);
|
||||
|
||||
// update name
|
||||
$handle.find('.li-field-name').html(this.makeCopyable(name));
|
||||
$handle.find('.li-field-name').html(this.makeCopyable(acf.strSanitize(name)));
|
||||
|
||||
// update type
|
||||
const iconName = acf.strSlugify(this.getType());
|
||||
|
|
@ -1232,8 +1246,15 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|||
});
|
||||
},
|
||||
onClickEdit: function (e) {
|
||||
$target = $(e.target);
|
||||
if ($target.parent().hasClass('row-options') && !$target.hasClass('edit-field')) return;
|
||||
const $target = $(e.target);
|
||||
|
||||
// Bail out if a pro field without a license.
|
||||
if (acf.get('is_pro') && !acf.get('isLicenseActive') && !acf.get('isLicenseExpired') && acf.get('PROFieldTypes').hasOwnProperty(this.getType())) {
|
||||
return;
|
||||
}
|
||||
if ($target.parent().hasClass('row-options') && !$target.hasClass('edit-field')) {
|
||||
return;
|
||||
}
|
||||
this.isOpen() ? this.close() : this.open();
|
||||
},
|
||||
onChangeSettingsTab: function () {
|
||||
|
|
@ -1404,16 +1425,10 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|||
}
|
||||
},
|
||||
onChangeName: function (e, $el) {
|
||||
// set
|
||||
var name = $el.val();
|
||||
|
||||
// strip any invalid characters.
|
||||
name = name.replace(/[^A-Za-zŽžÀ-ÿ0-9_-]+/g, '-');
|
||||
$el.val(name);
|
||||
this.set('name', name);
|
||||
|
||||
// error
|
||||
if (name.substr(0, 6) === 'field_') {
|
||||
const sanitizedName = acf.strSanitize($el.val());
|
||||
$el.val(sanitizedName);
|
||||
this.set('name', sanitizedName);
|
||||
if (sanitizedName.startsWith('field_')) {
|
||||
alert(acf.__('The string "field_" may not be used at the start of a field name'));
|
||||
}
|
||||
},
|
||||
|
|
@ -2309,8 +2324,8 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|||
this.updateGroupsClass();
|
||||
},
|
||||
addProLocations: function () {
|
||||
// Make sure we're only running this on free version.
|
||||
if (acf.get('is_pro')) {
|
||||
// Make sure we're only running if we don't have a valid license.
|
||||
if (acf.get('is_pro') && acf.get('isLicenseActive')) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -2318,8 +2333,17 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|||
const PROLocationTypes = acf.get('PROLocationTypes');
|
||||
if (typeof PROLocationTypes !== 'object') return;
|
||||
const $formsGroup = this.$el.find('select.refresh-location-rule').find('optgroup[label="Forms"]');
|
||||
const proOnlyText = ` (${acf.__('PRO Only')})`;
|
||||
for (const [key, name] of Object.entries(PROLocationTypes)) {
|
||||
$formsGroup.append('<option value="null" disabled="disabled">' + name + ' (' + acf.__('PRO Only') + ')</option>');
|
||||
if (!acf.get('is_pro')) {
|
||||
$formsGroup.append(`<option value="null" disabled="disabled">${acf.strEscape(name)}${acf.strEscape(proOnlyText)}</option>`);
|
||||
} else {
|
||||
$formsGroup.find('option[value=' + key + ']').not(':selected').prop('disabled', 'disabled').text(`${acf.strEscape(name)}${acf.strEscape(proOnlyText)}`);
|
||||
}
|
||||
}
|
||||
const $addNewOptionsPage = this.$el.find('select.location-rule-value option[value=add_new_options_page]');
|
||||
if ($addNewOptionsPage.length) {
|
||||
$addNewOptionsPage.attr('disabled', 'disabled');
|
||||
}
|
||||
},
|
||||
onClickAddRule: function (e, $el) {
|
||||
|
|
@ -2364,6 +2388,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|||
|
||||
// temp disable
|
||||
acf.disable($rule.find('td.value'));
|
||||
const self = this;
|
||||
|
||||
// ajax
|
||||
$.ajax({
|
||||
|
|
@ -2374,6 +2399,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|||
success: function (html) {
|
||||
if (!html) return;
|
||||
$rule.replaceWith(html);
|
||||
self.addProLocations();
|
||||
}
|
||||
});
|
||||
},
|
||||
|
|
@ -3072,7 +3098,7 @@ __webpack_require__.r(__webpack_exports__);
|
|||
|
||||
function toPropertyKey(t) {
|
||||
var i = (0,_toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__["default"])(t, "string");
|
||||
return "symbol" == (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i) ? i : String(i);
|
||||
return "symbol" == (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i) ? i : i + "";
|
||||
}
|
||||
|
||||
/***/ }),
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -8310,7 +8310,10 @@
|
|||
if (typeof markup !== 'string') {
|
||||
return markup;
|
||||
}
|
||||
return acf.escHtml(markup);
|
||||
if (this.suppressFilters) {
|
||||
return acf.strEscape(markup);
|
||||
}
|
||||
return acf.applyFilters('select2_escape_markup', acf.strEscape(markup), markup, $select, this.data, field || false, this);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -8330,7 +8333,7 @@
|
|||
if (!options.templateSelection) {
|
||||
options.templateSelection = function (selection) {
|
||||
var $selection = $('<span class="acf-selection"></span>');
|
||||
$selection.html(acf.strEscape(selection.text));
|
||||
$selection.html(options.escapeMarkup(selection.text));
|
||||
$selection.data('element', selection.element);
|
||||
return $selection;
|
||||
};
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -59,7 +59,7 @@
|
|||
}
|
||||
const $parentSelect = $(selection.element.parentElement);
|
||||
const $selection = $('<span class="acf-selection"></span>');
|
||||
$selection.html(acf.escHtml(selection.element.innerHTML));
|
||||
$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;
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -5100,7 +5100,7 @@ __webpack_require__.r(__webpack_exports__);
|
|||
|
||||
function toPropertyKey(t) {
|
||||
var i = (0,_toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__["default"])(t, "string");
|
||||
return "symbol" == (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i) ? i : String(i);
|
||||
return "symbol" == (0,_typeof_js__WEBPACK_IMPORTED_MODULE_0__["default"])(i) ? i : i + "";
|
||||
}
|
||||
|
||||
/***/ }),
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -304,13 +304,10 @@
|
|||
}
|
||||
},
|
||||
onChangeName: function (e, $el) {
|
||||
var name = $el.val();
|
||||
|
||||
// strip any invalid characters.
|
||||
name = name.replace(/[^A-Za-zŽžÀ-ÿ0-9_-]+/g, '-');
|
||||
$el.val(name);
|
||||
this.set('layoutName', name);
|
||||
this.$el.attr('data-layout-name', name);
|
||||
const sanitizedName = acf.strSanitize($el.val());
|
||||
$el.val(sanitizedName);
|
||||
this.set('layoutName', sanitizedName);
|
||||
this.$el.attr('data-layout-name', sanitizedName);
|
||||
},
|
||||
onClickAdd: function (e, $el) {
|
||||
e.preventDefault();
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -20,14 +20,14 @@
|
|||
if ('acfOptionsPages' === selection.text) {
|
||||
selection.text = acf.__('Options Pages');
|
||||
}
|
||||
return $('<span class="acf-selection"></span>').data('element', selection.element).html(acf.escHtml(selection.text));
|
||||
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.escHtml(selection.element.innerHTML));
|
||||
$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>');
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -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.escHtml(t.text)))},n=function(t){if(void 0===t.element)return t;const a=e('<span class="acf-selection"></span>');return a.html(acf.escHtml(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,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)})()})();
|
||||
|
|
@ -0,0 +1,70 @@
|
|||
<?php
|
||||
/**
|
||||
* ACF Block Bindings
|
||||
*
|
||||
* @since 6.2.8
|
||||
* @package ACF
|
||||
*/
|
||||
|
||||
namespace ACF\Blocks;
|
||||
|
||||
/**
|
||||
* The core ACF Blocks binding class.
|
||||
*/
|
||||
class Bindings {
|
||||
/**
|
||||
* Block Bindings constructor.
|
||||
*/
|
||||
public function __construct() {
|
||||
// Final check we're on WP 6.5 or newer.
|
||||
if ( ! function_exists( 'register_block_bindings_source' ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
add_action( 'acf/init', array( $this, 'register_binding_sources' ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* Hooked to acf/init, register our binding sources.
|
||||
*/
|
||||
public function register_binding_sources() {
|
||||
if ( acf_get_setting( 'enable_block_bindings' ) ) {
|
||||
register_block_bindings_source(
|
||||
'acf/field',
|
||||
array(
|
||||
'label' => _x( 'ACF Fields', 'The core ACF block binding source name for fields on the current page', 'acf' ),
|
||||
'get_value_callback' => array( $this, 'get_value' ),
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle returing the block binding value for an ACF meta value.
|
||||
*
|
||||
* @since 6.2.8
|
||||
*
|
||||
* @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.
|
||||
*/
|
||||
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;
|
||||
} else {
|
||||
$value = get_field( $source_attrs['key'] );
|
||||
|
||||
if ( is_array( $value ) ) {
|
||||
$value = implode( ', ', $value );
|
||||
}
|
||||
|
||||
// If we're not a scalar we'd throw an error, so return early for safety.
|
||||
if ( ! is_scalar( $value ) ) {
|
||||
$value = null;
|
||||
}
|
||||
}
|
||||
|
||||
return apply_filters( 'acf/blocks/binding_value', $value, $source_attrs, $block_instance, $attribute_name );
|
||||
}
|
||||
}
|
||||
|
|
@ -510,3 +510,34 @@ function acf_get_combined_field_group_settings_tabs() {
|
|||
|
||||
return $combined_field_group_settings_tabs;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if a field group has the provided location rule.
|
||||
*
|
||||
* @since 6.2.8
|
||||
*
|
||||
* @param integer $post_id The post ID of the field group.
|
||||
* @param string $location The location type to check for.
|
||||
* @return boolean
|
||||
*/
|
||||
function acf_field_group_has_location_type( int $post_id, string $location ) {
|
||||
if ( empty( $post_id ) || empty( $location ) ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$field_group = acf_get_field_group( (int) $post_id );
|
||||
|
||||
if ( empty( $field_group['location'] ) ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
foreach ( $field_group['location'] as $rule_group ) {
|
||||
$params = array_column( $rule_group, 'param' );
|
||||
|
||||
if ( in_array( $location, $params, true ) ) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -465,6 +465,33 @@ function acf_determine_internal_post_type( $key ) {
|
|||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the provided key is an identifiable ACF post type.
|
||||
*
|
||||
* @since 6.2.8
|
||||
*
|
||||
* @param string $key The key to check.
|
||||
* @return boolean
|
||||
*/
|
||||
function acf_is_valid_internal_post_type_key( string $key ) {
|
||||
return (bool) acf_determine_internal_post_type( $key );
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the provided post type object contains a valid internal post type key.
|
||||
*
|
||||
* @since 6.2.8
|
||||
*
|
||||
* @param array $internal_post_type The post type object array to check it's key.
|
||||
* @return boolean
|
||||
*/
|
||||
function acf_internal_post_object_contains_valid_key( array $internal_post_type ) {
|
||||
if ( ! is_array( $internal_post_type ) || empty( $internal_post_type['key'] ) || ! is_string( $internal_post_type['key'] ) ) {
|
||||
return false;
|
||||
}
|
||||
return acf_is_valid_internal_post_type_key( $internal_post_type['key'] );
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an array of tabs for the post type advanced settings.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -68,6 +68,7 @@ if ( ! class_exists( 'ACF_Admin_Internal_Post_Type_List' ) ) :
|
|||
*/
|
||||
public function __construct() {
|
||||
add_action( 'current_screen', array( $this, 'current_screen' ) );
|
||||
add_action( 'admin_footer', array( $this, 'include_pro_features' ) );
|
||||
|
||||
// Handle post status change events.
|
||||
add_action( 'trashed_post', array( $this, 'trashed_post' ) );
|
||||
|
|
@ -75,6 +76,23 @@ if ( ! class_exists( 'ACF_Admin_Internal_Post_Type_List' ) ) :
|
|||
add_action( 'deleted_post', array( $this, 'deleted_post' ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* Renders HTML for the ACF PRO features upgrade notice.
|
||||
*/
|
||||
public function include_pro_features() {
|
||||
// Bail if not the edit screen
|
||||
if ( ! acf_is_screen( 'edit-' . $this->post_type ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Bail if on PRO.
|
||||
if ( acf_is_pro() && acf_pro_is_license_active() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
acf_get_view( 'acf-field-group/pro-features' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Add any menu items required for post types.
|
||||
*
|
||||
|
|
@ -155,6 +173,8 @@ if ( ! class_exists( 'ACF_Admin_Internal_Post_Type_List' ) ) :
|
|||
if ( $this->view === 'sync' ) {
|
||||
add_action( 'admin_footer', array( $this, 'admin_footer__sync' ), 1 );
|
||||
}
|
||||
|
||||
do_action( 'acf/internal_post_type_list/current_screen', $this->post_type );
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -205,9 +225,11 @@ if ( ! class_exists( 'ACF_Admin_Internal_Post_Type_List' ) ) :
|
|||
|
||||
acf_localize_text(
|
||||
array(
|
||||
'Review local JSON changes' => __( 'Review local JSON changes', 'acf' ),
|
||||
'Loading diff' => __( 'Loading diff', 'acf' ),
|
||||
'Sync changes' => __( 'Sync changes', 'acf' ),
|
||||
'Review local JSON changes' => esc_html__( 'Review local JSON changes', 'acf' ),
|
||||
'Loading diff' => esc_html__( 'Loading diff', 'acf' ),
|
||||
'Sync changes' => esc_html__( 'Sync changes', 'acf' ),
|
||||
'Please activate your ACF PRO license to edit this options page.' => esc_html__( 'Please activate your ACF PRO license to edit this options page.', 'acf' ),
|
||||
'Please activate your ACF PRO license to edit field groups assigned to an ACF Block.' => esc_html__( 'Please activate your ACF PRO license to edit field groups assigned to an ACF Block.', 'acf' ),
|
||||
)
|
||||
);
|
||||
}
|
||||
|
|
@ -228,7 +250,7 @@ if ( ! class_exists( 'ACF_Admin_Internal_Post_Type_List' ) ) :
|
|||
$classes .= ' view-' . esc_attr( $this->view );
|
||||
}
|
||||
|
||||
return $classes;
|
||||
return apply_filters( 'acf/internal_post_type_list/admin_body_classes', $classes, $this->post_type );
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -790,6 +812,20 @@ if ( ! class_exists( 'ACF_Admin_Internal_Post_Type_List' ) ) :
|
|||
});
|
||||
}
|
||||
|
||||
$ (document ).on( 'ready', function( e ) {
|
||||
if ( ! acf.get( 'is_pro' ) || acf.get( 'isLicenseActive' ) || acf.get( 'isLicenseExpired' ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
$( '.acf-has-block-location .column-title strong' )
|
||||
.addClass( 'acf-js-tooltip' )
|
||||
.attr( 'title', acf.__( 'Field groups for blocks cannot be edited without a license.', 'acf' ) );
|
||||
|
||||
$( '.acf-admin-options-pages .column-title strong' )
|
||||
.addClass( 'acf-js-tooltip' )
|
||||
.attr( 'title', acf.__( 'Options pages cannot be edited without a license.', 'acf' ) );
|
||||
} );
|
||||
|
||||
// Add event listener.
|
||||
$(document).on('click', 'a[data-event="review-sync"]', function( e ){
|
||||
e.preventDefault();
|
||||
|
|
|
|||
|
|
@ -98,6 +98,8 @@ if ( ! class_exists( 'ACF_Admin_Internal_Post_Type' ) ) :
|
|||
add_action( 'acf/input/admin_footer', array( $this, 'admin_footer' ) );
|
||||
|
||||
add_filter( 'acf/input/admin_l10n', array( $this, 'admin_l10n' ) );
|
||||
|
||||
do_action( 'acf/internal_post_type/current_screen', $this->post_type );
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -109,7 +111,8 @@ if ( ! class_exists( 'ACF_Admin_Internal_Post_Type' ) ) :
|
|||
* @return string
|
||||
*/
|
||||
public function admin_body_class( $classes ) {
|
||||
return $classes . ' acf-admin-page acf-internal-post-type ' . esc_attr( $this->admin_body_class );
|
||||
$classes .= ' acf-admin-page acf-internal-post-type ' . esc_attr( $this->admin_body_class );
|
||||
return apply_filters( 'acf/internal_post_type/admin_body_classes', $classes, $this->post_type );
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -47,9 +47,9 @@ if ( ! class_exists( 'acf_admin_field_group' ) ) :
|
|||
}
|
||||
|
||||
/**
|
||||
* This function will customize the message shown when editing a field group
|
||||
* Customizes the messages shown when editing a field group.
|
||||
*
|
||||
* @since 5.0.0
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param array $messages Post type messages.
|
||||
* @return array
|
||||
|
|
@ -82,39 +82,39 @@ if ( ! class_exists( 'acf_admin_field_group' ) ) :
|
|||
|
||||
acf_localize_text(
|
||||
array(
|
||||
'The string "field_" may not be used at the start of a field name' => __( 'The string "field_" may not be used at the start of a field name', 'acf' ),
|
||||
'This field cannot be moved until its changes have been saved' => __( 'This field cannot be moved until its changes have been saved', 'acf' ),
|
||||
'Field group title is required' => __( 'Field group title is required', 'acf' ),
|
||||
'Move field group to trash?' => __( 'Move field group to trash?', 'acf' ),
|
||||
'No toggle fields available' => __( 'No toggle fields available', 'acf' ),
|
||||
'Move Custom Field' => __( 'Move Custom Field', 'acf' ),
|
||||
'Close modal' => __( 'Close modal', 'acf' ),
|
||||
'Field moved to other group' => __( 'Field moved to other group', 'acf' ),
|
||||
'Field groups linked successfully.' => __( 'Field groups linked successfully.', 'acf' ),
|
||||
'Checked' => __( 'Checked', 'acf' ),
|
||||
'(no label)' => __( '(no label)', 'acf' ),
|
||||
'(this field)' => __( '(this field)', 'acf' ),
|
||||
'copy' => __( 'copy', 'acf' ),
|
||||
'or' => __( 'or', 'acf' ),
|
||||
'Show this field group if' => __( 'Show this field group if', 'acf' ),
|
||||
'Null' => __( 'Null', 'acf' ),
|
||||
'PRO Only' => __( 'PRO Only', 'acf' ),
|
||||
'The string "field_" may not be used at the start of a field name' => esc_html__( 'The string "field_" may not be used at the start of a field name', 'acf' ),
|
||||
'This field cannot be moved until its changes have been saved' => esc_html__( 'This field cannot be moved until its changes have been saved', 'acf' ),
|
||||
'Field group title is required' => esc_html__( 'Field group title is required', 'acf' ),
|
||||
'Move field group to trash?' => esc_html__( 'Move field group to trash?', 'acf' ),
|
||||
'No toggle fields available' => esc_html__( 'No toggle fields available', 'acf' ),
|
||||
'Move Custom Field' => esc_html__( 'Move Custom Field', 'acf' ),
|
||||
'Close modal' => esc_html__( 'Close modal', 'acf' ),
|
||||
'Field moved to other group' => esc_html__( 'Field moved to other group', 'acf' ),
|
||||
'Field groups linked successfully.' => esc_html__( 'Field groups linked successfully.', 'acf' ),
|
||||
'Checked' => esc_html__( 'Checked', 'acf' ),
|
||||
'(no label)' => esc_html__( '(no label)', 'acf' ),
|
||||
'(this field)' => esc_html__( '(this field)', 'acf' ),
|
||||
'copy' => esc_html__( 'copy', 'acf' ),
|
||||
'or' => esc_html__( 'or', 'acf' ),
|
||||
'Show this field group if' => esc_html__( 'Show this field group if', 'acf' ),
|
||||
'Null' => esc_html__( 'Null', 'acf' ),
|
||||
'PRO Only' => esc_html__( 'PRO Only', 'acf' ),
|
||||
|
||||
// Conditions.
|
||||
'Has any value' => __( 'Has any value', 'acf' ),
|
||||
'Has no value' => __( 'Has no value', 'acf' ),
|
||||
'Value is equal to' => __( 'Value is equal to', 'acf' ),
|
||||
'Value is not equal to' => __( 'Value is not equal to', 'acf' ),
|
||||
'Value matches pattern' => __( 'Value matches pattern', 'acf' ),
|
||||
'Value contains' => __( 'Value contains', 'acf' ),
|
||||
'Value is greater than' => __( 'Value is greater than', 'acf' ),
|
||||
'Value is less than' => __( 'Value is less than', 'acf' ),
|
||||
'Selection is greater than' => __( 'Selection is greater than', 'acf' ),
|
||||
'Selection is less than' => __( 'Selection is less than', 'acf' ),
|
||||
'Has any value' => esc_html__( 'Has any value', 'acf' ),
|
||||
'Has no value' => esc_html__( 'Has no value', 'acf' ),
|
||||
'Value is equal to' => esc_html__( 'Value is equal to', 'acf' ),
|
||||
'Value is not equal to' => esc_html__( 'Value is not equal to', 'acf' ),
|
||||
'Value matches pattern' => esc_html__( 'Value matches pattern', 'acf' ),
|
||||
'Value contains' => esc_html__( 'Value contains', 'acf' ),
|
||||
'Value is greater than' => esc_html__( 'Value is greater than', 'acf' ),
|
||||
'Value is less than' => esc_html__( 'Value is less than', 'acf' ),
|
||||
'Selection is greater than' => esc_html__( 'Selection is greater than', 'acf' ),
|
||||
'Selection is less than' => esc_html__( 'Selection is less than', 'acf' ),
|
||||
|
||||
// Custom Select2 templates.
|
||||
'Type to search...' => __( 'Type to search...', 'acf' ),
|
||||
'This Field' => __( 'This Field', 'acf' ),
|
||||
'Type to search...' => esc_html__( 'Type to search...', 'acf' ),
|
||||
'This Field' => esc_html__( 'This Field', 'acf' ),
|
||||
)
|
||||
);
|
||||
|
||||
|
|
@ -125,8 +125,8 @@ if ( ! class_exists( 'acf_admin_field_group' ) ) :
|
|||
'PROUpgradeURL' => acf_add_url_utm_tags( 'https://www.advancedcustomfields.com/pro/', 'ACF upgrade', 'field-type-selection' ),
|
||||
'PROFieldTypes' => acf_get_pro_field_types(),
|
||||
'PROLocationTypes' => array(
|
||||
'block' => __( 'Block', 'acf' ),
|
||||
'options_page' => __( 'Options Page', 'acf' ),
|
||||
'block' => esc_html__( 'Block', 'acf' ),
|
||||
'options_page' => esc_html__( 'Options Page', 'acf' ),
|
||||
),
|
||||
)
|
||||
);
|
||||
|
|
|
|||
|
|
@ -39,28 +39,11 @@ if ( ! class_exists( 'ACF_Admin_Field_Groups' ) ) :
|
|||
public function __construct() {
|
||||
add_action( 'admin_menu', array( $this, 'admin_menu' ), 7 );
|
||||
add_action( 'load-edit.php', array( $this, 'handle_redirection' ) );
|
||||
add_action( 'admin_footer', array( $this, 'include_pro_features' ) );
|
||||
add_action( 'post_class', array( $this, 'get_admin_table_post_classes' ), 10, 3 );
|
||||
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
/**
|
||||
* Renders HTML for the ACF PRO features upgrade notice.
|
||||
*/
|
||||
public function include_pro_features() {
|
||||
// Bail if on PRO.
|
||||
if ( acf_is_pro() && acf_pro_is_license_active() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Bail if not the edit field groups screen.
|
||||
if ( ! acf_is_screen( 'edit-acf-field-group' ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
acf_get_view( $this->post_type . '/pro-features' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Add any menu items required for field groups.
|
||||
*
|
||||
|
|
@ -286,6 +269,25 @@ if ( ! class_exists( 'ACF_Admin_Field_Groups' ) ) :
|
|||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the class(es) to be used by field groups in the list table.
|
||||
*
|
||||
* @since 6.2.8
|
||||
*
|
||||
* @param array $classes An array of the classes used by the field group.
|
||||
* @param array $css_class An array of additional classes added to the field group.
|
||||
* @param integer $post_id The ID of the field group.
|
||||
* @return array
|
||||
*/
|
||||
public function get_admin_table_post_classes( $classes, $css_class, $post_id ) {
|
||||
// Bail early if not in the field group list table.
|
||||
if ( ! is_admin() || $this->post_type !== get_post_type( $post_id ) ) {
|
||||
return $classes;
|
||||
}
|
||||
|
||||
return apply_filters( 'acf/field_group/list_table_classes', $classes, $css_class, $post_id );
|
||||
}
|
||||
|
||||
/**
|
||||
* Fires when trashing a field group.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -42,27 +42,9 @@ if ( ! class_exists( 'ACF_Admin_Post_Types' ) ) :
|
|||
*/
|
||||
public function __construct() {
|
||||
add_action( 'admin_menu', array( $this, 'admin_menu' ), 8 );
|
||||
add_action( 'admin_footer', array( $this, 'include_pro_features' ) );
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
/**
|
||||
* Renders HTML for the ACF PRO features upgrade notice.
|
||||
*/
|
||||
public function include_pro_features() {
|
||||
// Bail if on PRO.
|
||||
if ( acf_is_pro() && acf_pro_is_license_active() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Bail if not the edit post types screen.
|
||||
if ( ! acf_is_screen( 'edit-acf-post-type' ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
acf_get_view( 'acf-field-group/pro-features' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Current screen actions for the post types list admin page.
|
||||
*
|
||||
|
|
@ -209,7 +191,7 @@ if ( ! class_exists( 'ACF_Admin_Post_Types' ) ) :
|
|||
$text = implode( ', ', $shown_labels );
|
||||
|
||||
if ( ! empty( $hidden_labels ) ) {
|
||||
$text .= ', <span class="acf-more-items acf-tooltip-js" title="' . implode( ', ', $hidden_labels ) . '">+' . count( $hidden_labels ) . '</span>';
|
||||
$text .= ', <span class="acf-more-items acf-js-tooltip" title="' . implode( ', ', $hidden_labels ) . '">+' . count( $hidden_labels ) . '</span>';
|
||||
}
|
||||
|
||||
echo acf_esc_html( $text );
|
||||
|
|
@ -263,7 +245,7 @@ if ( ! class_exists( 'ACF_Admin_Post_Types' ) ) :
|
|||
$text = implode( ', ', $shown_labels );
|
||||
|
||||
if ( ! empty( $hidden_labels ) ) {
|
||||
$text .= ', <span class="acf-more-items acf-tooltip-js" title="' . implode( ', ', $hidden_labels ) . '">+' . count( $hidden_labels ) . '</span>';
|
||||
$text .= ', <span class="acf-more-items acf-js-tooltip" title="' . implode( ', ', $hidden_labels ) . '">+' . count( $hidden_labels ) . '</span>';
|
||||
}
|
||||
|
||||
echo acf_esc_html( $text );
|
||||
|
|
|
|||
|
|
@ -41,27 +41,9 @@ if ( ! class_exists( 'ACF_Admin_Taxonomies' ) ) :
|
|||
*/
|
||||
public function __construct() {
|
||||
add_action( 'admin_menu', array( $this, 'admin_menu' ), 9 );
|
||||
add_action( 'admin_footer', array( $this, 'include_pro_features' ) );
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
/**
|
||||
* Renders HTML for the ACF PRO features upgrade notice.
|
||||
*/
|
||||
public function include_pro_features() {
|
||||
// Bail if on PRO.
|
||||
if ( acf_is_pro() && acf_pro_is_license_active() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Bail if not the edit taxonomies screen.
|
||||
if ( ! acf_is_screen( 'edit-acf-taxonomy' ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
acf_get_view( 'acf-field-group/pro-features' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Current screen actions for the taxonomies list admin page.
|
||||
*
|
||||
|
|
@ -208,7 +190,7 @@ if ( ! class_exists( 'ACF_Admin_Taxonomies' ) ) :
|
|||
$text = implode( ', ', $shown_labels );
|
||||
|
||||
if ( ! empty( $hidden_labels ) ) {
|
||||
$text .= ', <span class="acf-more-items acf-tooltip-js" title="' . implode( ', ', $hidden_labels ) . '">+' . count( $hidden_labels ) . '</span>';
|
||||
$text .= ', <span class="acf-more-items acf-js-tooltip" title="' . implode( ', ', $hidden_labels ) . '">+' . count( $hidden_labels ) . '</span>';
|
||||
}
|
||||
|
||||
echo acf_esc_html( $text );
|
||||
|
|
@ -266,7 +248,7 @@ if ( ! class_exists( 'ACF_Admin_Taxonomies' ) ) :
|
|||
$text = implode( ', ', $shown_labels );
|
||||
|
||||
if ( ! empty( $hidden_labels ) ) {
|
||||
$text .= ', <span class="acf-more-items acf-tooltip-js" title="' . implode( ', ', $hidden_labels ) . '">+' . count( $hidden_labels ) . '</span>';
|
||||
$text .= ', <span class="acf-more-items acf-js-tooltip" title="' . implode( ', ', $hidden_labels ) . '">+' . count( $hidden_labels ) . '</span>';
|
||||
}
|
||||
|
||||
echo acf_esc_html( $text );
|
||||
|
|
|
|||
|
|
@ -27,7 +27,6 @@ if ( ! class_exists( 'ACF_Admin_Tool_Export' ) ) :
|
|||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function initialize() {
|
||||
|
||||
// vars
|
||||
|
|
@ -52,7 +51,6 @@ if ( ! class_exists( 'ACF_Admin_Tool_Export' ) ) :
|
|||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function submit() {
|
||||
|
||||
// vars
|
||||
|
|
@ -80,7 +78,6 @@ if ( ! class_exists( 'ACF_Admin_Tool_Export' ) ) :
|
|||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function submit_download() {
|
||||
|
||||
// vars
|
||||
|
|
@ -114,7 +111,6 @@ if ( ! class_exists( 'ACF_Admin_Tool_Export' ) ) :
|
|||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function submit_generate() {
|
||||
|
||||
// vars
|
||||
|
|
@ -145,7 +141,6 @@ if ( ! class_exists( 'ACF_Admin_Tool_Export' ) ) :
|
|||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function load() {
|
||||
|
||||
// active
|
||||
|
|
@ -175,7 +170,6 @@ if ( ! class_exists( 'ACF_Admin_Tool_Export' ) ) :
|
|||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function html() {
|
||||
|
||||
// single (generate PHP)
|
||||
|
|
@ -205,7 +199,10 @@ if ( ! class_exists( 'ACF_Admin_Tool_Export' ) ) :
|
|||
|
||||
$choices = array();
|
||||
$selected = $this->get_selected_keys();
|
||||
$field_groups = acf_get_internal_post_type_posts( 'acf-field-group' );
|
||||
$field_groups = array_filter(
|
||||
acf_get_internal_post_type_posts( 'acf-field-group' ),
|
||||
'acf_internal_post_object_contains_valid_key'
|
||||
);
|
||||
|
||||
if ( $field_groups ) {
|
||||
foreach ( $field_groups as $field_group ) {
|
||||
|
|
@ -227,7 +224,10 @@ if ( ! class_exists( 'ACF_Admin_Tool_Export' ) ) :
|
|||
|
||||
$choices = array();
|
||||
$selected = $this->get_selected_keys();
|
||||
$post_types = acf_get_internal_post_type_posts( 'acf-post-type' );
|
||||
$post_types = array_filter(
|
||||
acf_get_internal_post_type_posts( 'acf-post-type' ),
|
||||
'acf_internal_post_object_contains_valid_key'
|
||||
);
|
||||
|
||||
if ( $post_types ) {
|
||||
foreach ( $post_types as $post_type ) {
|
||||
|
|
@ -249,7 +249,10 @@ if ( ! class_exists( 'ACF_Admin_Tool_Export' ) ) :
|
|||
|
||||
$choices = array();
|
||||
$selected = $this->get_selected_keys();
|
||||
$taxonomies = acf_get_internal_post_type_posts( 'acf-taxonomy' );
|
||||
$taxonomies = array_filter(
|
||||
acf_get_internal_post_type_posts( 'acf-taxonomy' ),
|
||||
'acf_internal_post_object_contains_valid_key'
|
||||
);
|
||||
|
||||
if ( $taxonomies ) {
|
||||
foreach ( $taxonomies as $taxonomy ) {
|
||||
|
|
@ -271,7 +274,10 @@ if ( ! class_exists( 'ACF_Admin_Tool_Export' ) ) :
|
|||
|
||||
$choices = array();
|
||||
$selected = $this->get_selected_keys();
|
||||
$options_pages = acf_get_internal_post_type_posts( 'acf-ui-options-page' );
|
||||
$options_pages = array_filter(
|
||||
acf_get_internal_post_type_posts( 'acf-ui-options-page' ),
|
||||
'acf_internal_post_object_contains_valid_key'
|
||||
);
|
||||
|
||||
if ( $options_pages ) {
|
||||
foreach ( $options_pages as $options_page ) {
|
||||
|
|
@ -317,7 +323,6 @@ if ( ! class_exists( 'ACF_Admin_Tool_Export' ) ) :
|
|||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function html_archive() {
|
||||
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -23,12 +23,23 @@ if ( isset( $field['endpoint'] ) && $field['endpoint'] ) {
|
|||
|
||||
|
||||
// Misc template vars.
|
||||
$field_label = acf_get_field_label( $field, 'admin' );
|
||||
$field_type_label = acf_get_field_type_label( $field['type'] );
|
||||
$field_type_supports = acf_get_field_type_prop( $field['type'], 'supports' );
|
||||
$field_label = acf_get_field_label( $field, 'admin' );
|
||||
$field_type_label = acf_get_field_type_label( $field['type'] );
|
||||
$field_type_supports = acf_get_field_type_prop( $field['type'], 'supports' );
|
||||
$inactive_field_class = '';
|
||||
$inactive_field_title = '';
|
||||
|
||||
if ( acf_is_pro() && acf_get_field_type_prop( $field['type'], 'pro' ) ) {
|
||||
$div_attrs['class'] .= ' acf-pro-field-object';
|
||||
}
|
||||
|
||||
if ( acf_is_pro() && acf_get_field_type_prop( $field['type'], 'pro' ) && ! acf_pro_is_license_active() ) {
|
||||
$field_type_label .= '<span class="acf-pro-label acf-pro-label-field-type">PRO</span>';
|
||||
|
||||
if ( ! acf_pro_is_license_expired() ) {
|
||||
$inactive_field_class = ' acf-js-tooltip';
|
||||
$inactive_field_title = __( 'PRO fields cannot be edited without an active license.', 'acf' );
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! isset( $num_field_groups ) ) {
|
||||
|
|
@ -71,7 +82,7 @@ if ( isset( $field['conditional_logic'] ) && is_array( $field['conditional_logic
|
|||
<span class="acf-icon acf-sortable-handle" title="<?php esc_attr_e( 'Drag to reorder', 'acf' ); ?>"><?php echo intval( $i + 1 ); ?></span>
|
||||
</li>
|
||||
<li class="li-field-label">
|
||||
<strong>
|
||||
<strong class="<?php echo esc_attr( $inactive_field_class ); ?>" title="<?php echo esc_attr( $inactive_field_title ); ?>">
|
||||
<a class="edit-field" title="<?php esc_attr_e( 'Edit field', 'acf' ); ?>" href="#"><?php echo acf_esc_html( $field_label ); ?></a>
|
||||
</strong>
|
||||
<div class="row-options">
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ $acf_more_tools_link = acf_add_url_utm_tags( 'https://wpengine.co
|
|||
$acf_wpengine_logo_link = acf_add_url_utm_tags( 'https://wpengine.com/', 'bx_prod_referral', 'acf_free_plugin_cta_panel_logo', false, 'acf_plugin', 'referral' );
|
||||
|
||||
if ( acf_is_pro() ) {
|
||||
if ( ! acf_pro_get_license_key() && acf_is_updates_page_visible() ) {
|
||||
if ( ! acf_pro_get_license_key() && acf_pro_is_updates_page_visible() ) {
|
||||
$acf_learn_more_target = '';
|
||||
$acf_learn_more_text = __( 'Manage License', 'acf' );
|
||||
$acf_learn_more_link = esc_url( admin_url( 'edit.php?post_type=acf-field-group&page=acf-settings-updates#acf_pro_license' ) );
|
||||
|
|
|
|||
|
|
@ -3,6 +3,16 @@
|
|||
|
||||
$browse_fields_tabs = array( 'popular' => __( 'Popular', 'acf' ) );
|
||||
$browse_fields_tabs = $browse_fields_tabs + acf_get_field_categories_i18n();
|
||||
|
||||
if ( acf_is_pro() && acf_pro_is_license_expired() ) {
|
||||
$acf_upgrade_text = __( 'Renew PRO License', 'acf' );
|
||||
$acf_upgrade_link = acf_add_url_utm_tags( acf_pro_get_manage_license_url(), 'field-type-modal', '' );
|
||||
$acf_pro_feature_text = __( 'Renew PRO to Unlock', 'acf' );
|
||||
} else {
|
||||
$acf_upgrade_text = __( 'Upgrade to PRO', 'acf' );
|
||||
$acf_upgrade_link = acf_add_url_utm_tags( 'https://www.advancedcustomfields.com/pro/', 'field-type-modal', '' );
|
||||
$acf_pro_feature_text = __( 'ACF PRO Feature', 'acf' );
|
||||
}
|
||||
?>
|
||||
<div class="acf-browse-fields-modal-wrap">
|
||||
<div class="acf-modal acf-browse-fields-modal">
|
||||
|
|
@ -61,8 +71,8 @@ $browse_fields_tabs = $browse_fields_tabs + acf_get_field_categories_i18n();
|
|||
<div class="acf-field-picker-actions">
|
||||
<button class="button acf-cancel acf-modal-close"><?php esc_html_e( 'Cancel', 'acf' ); ?></button>
|
||||
<button class="acf-btn acf-select-field"><?php esc_html_e( 'Select Field', 'acf' ); ?></button>
|
||||
<a target="_blank" data-url-base="<?php echo esc_attr( acf_add_url_utm_tags( 'https://www.advancedcustomfields.com/pro/', 'field-type-modal', '' ) ); ?>" class="acf-btn acf-btn-pro">
|
||||
<?php esc_html_e( 'Upgrade to PRO', 'acf' ); ?>
|
||||
<a target="_blank" data-url-base="<?php echo esc_attr( $acf_upgrade_link ); ?>" class="acf-btn acf-btn-pro">
|
||||
<?php echo esc_html( $acf_upgrade_text ); ?>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -70,9 +80,9 @@ $browse_fields_tabs = $browse_fields_tabs + acf_get_field_categories_i18n();
|
|||
<div class="acf-field-type-preview">
|
||||
<div class="field-type-info">
|
||||
<h2 class="field-type-name"></h2>
|
||||
<a target="_blank" data-url-base="<?php echo esc_attr( acf_add_url_utm_tags( 'https://www.advancedcustomfields.com/pro/', 'field-type-modal', '' ) ); ?>" class="field-type-upgrade-to-unlock">
|
||||
<a target="_blank" data-url-base="<?php echo esc_attr( $acf_upgrade_link ); ?>" class="field-type-upgrade-to-unlock">
|
||||
<i class="acf-icon acf-icon-lock"></i>
|
||||
<?php esc_html_e( 'Available with ACF PRO', 'acf' ); ?>
|
||||
<?php echo esc_html( $acf_pro_feature_text ); ?>
|
||||
</a>
|
||||
<p class="field-type-desc"></p>
|
||||
<div class="field-type-preview-container">
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
$acf_plugin_name = acf_is_pro() ? 'ACF PRO' : 'ACF';
|
||||
$acf_plugin_name = '<strong>' . $acf_plugin_name . ' —</strong>';
|
||||
$acf_learn_how_to_fix = '<a href="' . acf_add_url_utm_tags( 'https://www.advancedcustomfields.com/escaping-the-field/', 'docs', '6-2-5-security-changes' ) . '" target="_blank">' . __( 'Learn more', 'acf' ) . '</a>';
|
||||
$acf_learn_how_to_fix = '<a href="' . acf_add_url_utm_tags( 'https://www.advancedcustomfields.com/escaping-the-field/', 'docs', '6-2-5-security-changes' ) . '" target="_blank">' . __( 'Learn how to fix this', 'acf' ) . '</a>';
|
||||
$acf_class = 'notice-error';
|
||||
$acf_user_can_acf = false;
|
||||
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ if ( 'acf-field-group' === $acf_post_type ) {
|
|||
|
||||
if ( ! empty( $acf_duplicated_from_label ) ) {
|
||||
/* translators: %s - A singular label for a post type or taxonomy. */
|
||||
$acf_duplicated_from = sprintf( __( ' (Duplicated from %s)', 'acf' ), $acf_duplicated_from_label );
|
||||
$acf_duplicated_from = ' ' . sprintf( __( '(Duplicated from %s)', 'acf' ), $acf_duplicated_from_label );
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -37,7 +37,17 @@ if ( $page_title ) {
|
|||
<?php } ?>
|
||||
<?php
|
||||
if ( ! empty( $post_type_object ) && current_user_can( $post_type_object->cap->create_posts ) ) {
|
||||
echo ' <a href="' . esc_url( admin_url( $post_new_file ) ) . '" class="acf-btn acf-btn-sm"><i class="acf-icon acf-icon-plus"></i>' . esc_html( $post_type_object->labels->add_new ) . '</a>';
|
||||
$class = 'acf-btn acf-btn-sm';
|
||||
if ( 'acf-ui-options-page' === $post_type && acf_is_pro() && ! acf_pro_is_license_active() ) {
|
||||
$class .= ' disabled';
|
||||
}
|
||||
|
||||
printf(
|
||||
'<a href="%1$s" class="%2$s"><i class="acf-icon acf-icon-plus"></i>%3$s</a>',
|
||||
esc_url( admin_url( $post_new_file ) ),
|
||||
esc_attr( $class ),
|
||||
esc_html( $post_type_object->labels->add_new )
|
||||
);
|
||||
}
|
||||
?>
|
||||
|
||||
|
|
|
|||
|
|
@ -212,7 +212,7 @@ function acf_print_menu_section( $menu_items, $section = '' ) {
|
|||
$unlock_text = __( 'Unlock Extra Features with ACF PRO', 'acf' );
|
||||
|
||||
if ( acf_is_pro() ) {
|
||||
if ( acf_is_updates_page_visible() ) {
|
||||
if ( acf_pro_is_updates_page_visible() ) {
|
||||
$unlock_url = admin_url( 'edit.php?post_type=acf-field-group&page=acf-settings-updates#acf_pro_license' );
|
||||
$unlock_target = '';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ $acf_getting_started = sprintf(
|
|||
<img src="<?php echo esc_url( acf_get_url( 'assets/images/empty-post-types.svg' ) ); ?>" />
|
||||
<h2><?php echo acf_esc_html( 'Upgrade to ACF PRO to create options pages in just a few clicks', 'acf' ); ?></h2>
|
||||
<p><?php echo acf_esc_html( $acf_options_pages_desc ); ?></p>
|
||||
<div class="acf-field-group-pro-features-actions">
|
||||
<div class="acf-ui-options-page-pro-features-actions">
|
||||
<a target="_blank" href="<?php echo $acf_learn_more_link; ?>" class="acf-btn acf-btn-muted"><?php esc_html_e( 'Learn More', 'acf' ); ?> <i class="acf-icon acf-icon-arrow-up-right"></i></a><?php //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- escaped on generation. ?>
|
||||
<a target="_blank" href="<?php echo $acf_upgrade_button; ?>" class="acf-btn acf-options-pages-preview-upgrade-button"> <?php esc_html_e( 'Upgrade to ACF PRO', 'acf' ); ?> <i class="acf-icon acf-icon-arrow-up-right"></i></a><?php //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- escaped on generation. ?>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -3919,7 +3919,7 @@ function acf_is_block_editor() {
|
|||
* @return array The WordPress reserved terms list.
|
||||
*/
|
||||
function acf_get_wp_reserved_terms() {
|
||||
return array( 'action', 'attachment', 'attachment_id', 'author', 'author_name', 'calendar', 'cat', 'category', 'category__and', 'category__in', 'category__not_in', 'category_name', 'comments_per_page', 'comments_popup', 'custom', 'customize_messenger_channel', 'customized', 'cpage', 'day', 'debug', 'embed', 'error', 'exact', 'feed', 'fields', 'hour', 'link', 'link_category', 'm', 'minute', 'monthnum', 'more', 'name', 'nav_menu', 'nonce', 'nopaging', 'offset', 'order', 'orderby', 'p', 'page', 'page_id', 'paged', 'pagename', 'pb', 'perm', 'post', 'post__in', 'post__not_in', 'post_format', 'post_mime_type', 'post_status', 'post_tag', 'post_type', 'posts', 'posts_per_archive_page', 'posts_per_page', 'preview', 'robots', 's', 'search', 'second', 'sentence', 'showposts', 'static', 'status', 'subpost', 'subpost_id', 'tag', 'tag__and', 'tag__in', 'tag__not_in', 'tag_id', 'tag_slug__and', 'tag_slug__in', 'taxonomy', 'tb', 'term', 'terms', 'theme', 'title', 'type', 'types', 'w', 'withcomments', 'withoutcomments', 'year' );
|
||||
return array( 'action', 'attachment', 'attachment_id', 'author', 'author_name', 'calendar', 'cat', 'category', 'category__and', 'category__in', 'category__not_in', 'category_name', 'comments_per_page', 'comments_popup', 'custom', 'customize_messenger_channel', 'customized', 'cpage', 'day', 'debug', 'embed', 'error', 'exact', 'feed', 'fields', 'hour', 'link', 'link_category', 'm', 'minute', 'monthnum', 'more', 'name', 'nav_menu', 'nonce', 'nopaging', 'offset', 'order', 'orderby', 'p', 'page', 'page_id', 'paged', 'pagename', 'pb', 'perm', 'post', 'post__in', 'post__not_in', 'post_format', 'post_mime_type', 'post_status', 'post_tag', 'post_type', 'posts', 'posts_per_archive_page', 'posts_per_page', 'preview', 'robots', 's', 'search', 'second', 'sentence', 'showposts', 'static', 'status', 'subpost', 'subpost_id', 'tag', 'tag__and', 'tag__in', 'tag__not_in', 'tag_id', 'tag_slug__and', 'tag_slug__in', 'taxonomy', 'tb', 'term', 'terms', 'theme', 'themes', 'title', 'type', 'types', 'w', 'withcomments', 'withoutcomments', 'year' );
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -367,7 +367,7 @@ function acf_maybe_get_sub_field( $selectors, $post_id = false, $strict = true )
|
|||
* @param boolean $format_value Whether or not to format the field value.
|
||||
* @param boolean $escape_html Should the field return a HTML safe formatted value if $format_value is true.
|
||||
*
|
||||
* @return array associative array where field name => field value
|
||||
* @return array|false Associative array where field name => field value, or false on failure.
|
||||
*/
|
||||
function get_fields( $post_id = false, $format_value = true, $escape_html = false ) {
|
||||
|
||||
|
|
@ -407,7 +407,7 @@ function get_fields( $post_id = false, $format_value = true, $escape_html = fals
|
|||
* @param boolean $load_value Whether or not to load the field value.
|
||||
* @param boolean $escape_html Should the field return a HTML safe formatted value if $format_value is true.
|
||||
*
|
||||
* @return array associative array where field name => field
|
||||
* @return array|false Associative array where field name => field, or false on failure.
|
||||
*/
|
||||
function get_field_objects( $post_id = false, $format_value = true, $load_value = true, $escape_html = false ) {
|
||||
|
||||
|
|
|
|||
|
|
@ -458,24 +458,24 @@ if ( ! class_exists( 'ACF_Assets' ) ) :
|
|||
}
|
||||
|
||||
// Localize data.
|
||||
acf_localize_data(
|
||||
array(
|
||||
'admin_url' => admin_url(),
|
||||
'ajaxurl' => admin_url( 'admin-ajax.php' ),
|
||||
'nonce' => wp_create_nonce( 'acf_nonce' ),
|
||||
'acf_version' => acf_get_setting( 'version' ),
|
||||
'wp_version' => $wp_version,
|
||||
'browser' => acf_get_browser(),
|
||||
'locale' => acf_get_locale(),
|
||||
'rtl' => is_rtl(),
|
||||
'screen' => acf_get_form_data( 'screen' ),
|
||||
'post_id' => acf_get_form_data( 'post_id' ),
|
||||
'validation' => acf_get_form_data( 'validation' ),
|
||||
'editor' => acf_is_block_editor() ? 'block' : 'classic',
|
||||
'is_pro' => acf_is_pro(),
|
||||
)
|
||||
$data_to_localize = array(
|
||||
'admin_url' => admin_url(),
|
||||
'ajaxurl' => admin_url( 'admin-ajax.php' ),
|
||||
'nonce' => wp_create_nonce( 'acf_nonce' ),
|
||||
'acf_version' => acf_get_setting( 'version' ),
|
||||
'wp_version' => $wp_version,
|
||||
'browser' => acf_get_browser(),
|
||||
'locale' => acf_get_locale(),
|
||||
'rtl' => is_rtl(),
|
||||
'screen' => acf_get_form_data( 'screen' ),
|
||||
'post_id' => acf_get_form_data( 'post_id' ),
|
||||
'validation' => acf_get_form_data( 'validation' ),
|
||||
'editor' => acf_is_block_editor() ? 'block' : 'classic',
|
||||
'is_pro' => acf_is_pro(),
|
||||
);
|
||||
|
||||
acf_localize_data( $data_to_localize );
|
||||
|
||||
// Print inline script.
|
||||
printf( "<script>\n%s\n</script>\n", 'acf.data = ' . wp_json_encode( $this->data ) . ';' );
|
||||
|
||||
|
|
@ -496,9 +496,7 @@ if ( ! class_exists( 'ACF_Assets' ) ) :
|
|||
/**
|
||||
* Fires during "admin_footer" when ACF scripts are enqueued.
|
||||
*
|
||||
* @since 5.6.9
|
||||
*
|
||||
* @param void
|
||||
* @since 5.6.9
|
||||
*/
|
||||
do_action( 'acf/input/admin_footer' );
|
||||
do_action( 'acf/input/admin_print_footer_scripts' );
|
||||
|
|
|
|||
|
|
@ -280,7 +280,7 @@ function acf_get_field_type_prop( $name = '', $prop = '' ) {
|
|||
*/
|
||||
function acf_get_field_type_label( $name = '' ) {
|
||||
$label = acf_get_field_type_prop( $name, 'label' );
|
||||
return $label ? $label : '<span class="acf-tooltip-js" title="' . __( 'Field type does not exist', 'acf' ) . '">' . __( 'Unknown', 'acf' ) . '</span>';
|
||||
return $label ? $label : '<span class="acf-js-tooltip" title="' . __( 'Field type does not exist', 'acf' ) . '">' . __( 'Unknown', 'acf' ) . '</span>';
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -407,7 +407,7 @@ if ( ! class_exists( 'ACF_Local_JSON' ) ) :
|
|||
}
|
||||
|
||||
foreach ( $paths as $path ) {
|
||||
if ( ! wp_is_writable( $path ) ) {
|
||||
if ( ! is_writable( $path ) ) { //phpcs:ignore WordPress.WP.AlternativeFunctions.file_system_operations_is_writable -- non-compatible function for this purpose.
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
BIN
lang/acf-ar.mo
BIN
lang/acf-ar.mo
Binary file not shown.
|
|
@ -12,7 +12,7 @@
|
|||
# This file is distributed under the same license as Advanced Custom Fields.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"PO-Revision-Date: 2024-02-26T11:26:19+00:00\n"
|
||||
"PO-Revision-Date: 2024-03-29T21:10:52+00:00\n"
|
||||
"Report-Msgid-Bugs-To: http://support.advancedcustomfields.com\n"
|
||||
"Language: ar\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
@ -77,17 +77,17 @@ msgstr "تم تحديث الإعدادات"
|
|||
#: pro/updates.php:99
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "To enable updates, please enter your license key on the <a href=\"%s"
|
||||
#| "\">Updates</a> page. If you don't have a licence key, please see <a href="
|
||||
#| "\"%s\">details & pricing</a>."
|
||||
#| "To enable updates, please enter your license key on the <a "
|
||||
#| "href=\"%s\">Updates</a> page. If you don't have a licence key, please see "
|
||||
#| "<a href=\"%s\">details & pricing</a>."
|
||||
msgid ""
|
||||
"To enable updates, please enter your license key on the <a href=\"%1$s"
|
||||
"\">Updates</a> page. If you don't have a licence key, please see <a href="
|
||||
"\"%2$s\" target=\"_blank\">details & pricing</a>."
|
||||
"To enable updates, please enter your license key on the <a "
|
||||
"href=\"%1$s\">Updates</a> page. If you don't have a licence key, please see "
|
||||
"<a href=\"%2$s\" target=\"_blank\">details & pricing</a>."
|
||||
msgstr ""
|
||||
"لتمكين التحديثات، الرجاء إدخال مفتاح الترخيص الخاص بك على صفحة <a href=\"%s"
|
||||
"\">التحديثات</a> . إذا لم يكن لديك مفتاح ترخيص، يرجى الاطلاع على <a href=\"%s"
|
||||
"\">التفاصيل والتسعير</a>."
|
||||
"لتمكين التحديثات، الرجاء إدخال مفتاح الترخيص الخاص بك على صفحة <a "
|
||||
"href=\"%s\">التحديثات</a> . إذا لم يكن لديك مفتاح ترخيص، يرجى الاطلاع على <a "
|
||||
"href=\"%s\">التفاصيل والتسعير</a>."
|
||||
|
||||
#: pro/updates.php:159
|
||||
msgid ""
|
||||
|
|
@ -132,8 +132,8 @@ msgid ""
|
|||
"No Custom Field Groups found for this options page. <a href=\"%s\">Create a "
|
||||
"Custom Field Group</a>"
|
||||
msgstr ""
|
||||
"لم يتم العثور على أية \"مجموعات حقول مخصصة لصفحة الخيارات هذة. <a href=\"%s"
|
||||
"\">أنشئ مجموعة حقول مخصصة</a>"
|
||||
"لم يتم العثور على أية \"مجموعات حقول مخصصة لصفحة الخيارات هذة. <a "
|
||||
"href=\"%s\">أنشئ مجموعة حقول مخصصة</a>"
|
||||
|
||||
#: pro/admin/admin-options-page.php:309
|
||||
msgid "Edit field group"
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
Binary file not shown.
|
|
@ -12,7 +12,7 @@
|
|||
# This file is distributed under the same license as Advanced Custom Fields.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"PO-Revision-Date: 2024-02-26T11:26:19+00:00\n"
|
||||
"PO-Revision-Date: 2024-03-29T21:10:52+00:00\n"
|
||||
"Report-Msgid-Bugs-To: http://support.advancedcustomfields.com\n"
|
||||
"Language: bg_BG\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
@ -78,9 +78,9 @@ msgstr "Опциите бяха актуализирани"
|
|||
|
||||
#: pro/updates.php:99
|
||||
msgid ""
|
||||
"To enable updates, please enter your license key on the <a href=\"%1$s"
|
||||
"\">Updates</a> page. If you don't have a licence key, please see <a href="
|
||||
"\"%2$s\" target=\"_blank\">details & pricing</a>."
|
||||
"To enable updates, please enter your license key on the <a "
|
||||
"href=\"%1$s\">Updates</a> page. If you don't have a licence key, please see "
|
||||
"<a href=\"%2$s\" target=\"_blank\">details & pricing</a>."
|
||||
msgstr ""
|
||||
"За да включите обновяванията, моля въведете вашия ключ за лиценз на "
|
||||
"страницата за <a href=\"%s\">Актуализации</a>. Ако нямате ключ за лиценз, "
|
||||
|
|
@ -130,8 +130,8 @@ msgid ""
|
|||
"No Custom Field Groups found for this options page. <a href=\"%s\">Create a "
|
||||
"Custom Field Group</a>"
|
||||
msgstr ""
|
||||
"Няма намерени групи полета за тази страница с опции. <a href=\"%s"
|
||||
"\">Създаване на група полета</a>"
|
||||
"Няма намерени групи полета за тази страница с опции. <a "
|
||||
"href=\"%s\">Създаване на група полета</a>"
|
||||
|
||||
#: pro/admin/admin-options-page.php:309
|
||||
msgid "Edit field group"
|
||||
|
|
@ -743,8 +743,8 @@ msgid ""
|
|||
"a>."
|
||||
msgstr ""
|
||||
"За да включите обновяванията, моля въведете вашия ключ за лиценз долу. Ако "
|
||||
"нямате ключ за лиценз, моля посетете <a href=\"%s\" target=\"_blank"
|
||||
"\">детайли и цени</a>"
|
||||
"нямате ключ за лиценз, моля посетете <a href=\"%s\" "
|
||||
"target=\"_blank\">детайли и цени</a>"
|
||||
|
||||
#: pro/admin/views/html-settings-updates.php:37
|
||||
msgid "License Key"
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
BIN
lang/acf-ca.mo
BIN
lang/acf-ca.mo
Binary file not shown.
1782
lang/acf-ca.po
1782
lang/acf-ca.po
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.
1778
lang/acf-cs_CZ.po
1778
lang/acf-cs_CZ.po
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.
1754
lang/acf-da_DK.po
1754
lang/acf-da_DK.po
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.
|
|
@ -12,7 +12,7 @@
|
|||
# This file is distributed under the same license as Advanced Custom Fields.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"PO-Revision-Date: 2024-02-26T11:26:19+00:00\n"
|
||||
"PO-Revision-Date: 2024-03-29T21:10:52+00:00\n"
|
||||
"Report-Msgid-Bugs-To: http://support.advancedcustomfields.com\n"
|
||||
"Language: de_CH\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
@ -81,18 +81,18 @@ msgstr "Optionen aktualisiert"
|
|||
#: pro/updates.php:99
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "To enable updates, please enter your license key on the <a href=\"%s"
|
||||
#| "\">Updates</a> page. If you don't have a licence key, please see <a href="
|
||||
#| "\"%s\">details & pricing</a>."
|
||||
#| "To enable updates, please enter your license key on the <a "
|
||||
#| "href=\"%s\">Updates</a> page. If you don't have a licence key, please see "
|
||||
#| "<a href=\"%s\">details & pricing</a>."
|
||||
msgid ""
|
||||
"To enable updates, please enter your license key on the <a href=\"%1$s"
|
||||
"\">Updates</a> page. If you don't have a licence key, please see <a href="
|
||||
"\"%2$s\" target=\"_blank\">details & pricing</a>."
|
||||
"To enable updates, please enter your license key on the <a "
|
||||
"href=\"%1$s\">Updates</a> page. If you don't have a licence key, please see "
|
||||
"<a href=\"%2$s\" target=\"_blank\">details & pricing</a>."
|
||||
msgstr ""
|
||||
"Bitte gib auf der Seite <a href=\"%s\">Aktualisierungen</a> deinen "
|
||||
"Lizenzschlüssel ein, um Updates zu aktivieren. Solltest du keinen "
|
||||
"Lizenzschlüssel haben, findest du hier <a href=\"%s\" target=\"_blank"
|
||||
"\">Details & Preise</a>."
|
||||
"Lizenzschlüssel haben, findest du hier <a href=\"%s\" "
|
||||
"target=\"_blank\">Details & Preise</a>."
|
||||
|
||||
#: pro/updates.php:159
|
||||
msgid ""
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
Binary file not shown.
1768
lang/acf-de_DE.po
1768
lang/acf-de_DE.po
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
File diff suppressed because one or more lines are too long
BIN
lang/acf-el.mo
BIN
lang/acf-el.mo
Binary file not shown.
1766
lang/acf-el.po
1766
lang/acf-el.po
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.
1762
lang/acf-en_CA.po
1762
lang/acf-en_CA.po
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.
1822
lang/acf-en_GB.po
1822
lang/acf-en_GB.po
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.
1762
lang/acf-en_ZA.po
1762
lang/acf-en_ZA.po
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.
1758
lang/acf-es_CO.po
1758
lang/acf-es_CO.po
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.
1754
lang/acf-es_CR.po
1754
lang/acf-es_CR.po
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.
1758
lang/acf-es_EC.po
1758
lang/acf-es_EC.po
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.
1787
lang/acf-es_ES.po
1787
lang/acf-es_ES.po
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.
1758
lang/acf-es_MX.po
1758
lang/acf-es_MX.po
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue