├── acf.php ├── assets ├── build │ ├── css │ │ ├── acf-dark.css │ │ ├── acf-dark.css.map │ │ ├── acf-dark.min.css │ │ ├── acf-field-group.css │ │ ├── acf-field-group.css.map │ │ ├── acf-field-group.min.css │ │ ├── acf-global.css │ │ ├── acf-global.css.map │ │ ├── acf-global.min.css │ │ ├── acf-input.css │ │ ├── acf-input.css.map │ │ ├── acf-input.min.css │ │ └── pro │ │ │ ├── acf-pro-field-group.css │ │ │ ├── acf-pro-field-group.css.map │ │ │ ├── acf-pro-field-group.min.css │ │ │ ├── acf-pro-input.css │ │ │ ├── acf-pro-input.css.map │ │ │ └── acf-pro-input.min.css │ └── js │ │ ├── acf-field-group.js │ │ ├── acf-field-group.js.map │ │ ├── acf-field-group.min.js │ │ ├── acf-input.js │ │ ├── acf-input.js.map │ │ ├── acf-input.min.js │ │ ├── acf-internal-post-type.js │ │ ├── acf-internal-post-type.js.map │ │ ├── acf-internal-post-type.min.js │ │ ├── acf.js │ │ ├── acf.js.map │ │ ├── acf.min.js │ │ └── pro │ │ ├── acf-pro-blocks.js │ │ ├── acf-pro-blocks.js.map │ │ ├── acf-pro-blocks.min.js │ │ ├── acf-pro-field-group.js │ │ ├── acf-pro-field-group.js.map │ │ ├── acf-pro-field-group.min.js │ │ ├── acf-pro-input.js │ │ ├── acf-pro-input.js.map │ │ ├── acf-pro-input.min.js │ │ ├── acf-pro-ui-options-page.js │ │ ├── acf-pro-ui-options-page.js.map │ │ └── acf-pro-ui-options-page.min.js ├── images │ ├── acf-logo.png │ ├── acf-logo.svg │ ├── empty-group.svg │ ├── empty-post-types.svg │ ├── empty-taxonomies.svg │ ├── face-sad.svg │ ├── field-preview-grid.png │ ├── field-states │ │ ├── checkbox-active.svg │ │ ├── checkbox-indeterminate.svg │ │ └── radio-active.svg │ ├── field-type-icons │ │ ├── icon-field-accordion.svg │ │ ├── icon-field-button-group.svg │ │ ├── icon-field-checkbox.svg │ │ ├── icon-field-clone.svg │ │ ├── icon-field-color-picker.svg │ │ ├── icon-field-date-picker.svg │ │ ├── icon-field-date-time-picker.svg │ │ ├── icon-field-default.svg │ │ ├── icon-field-email.svg │ │ ├── icon-field-file.svg │ │ ├── icon-field-flexible-content.svg │ │ ├── icon-field-gallery.svg │ │ ├── icon-field-google-map.svg │ │ ├── icon-field-group.svg │ │ ├── icon-field-image.svg │ │ ├── icon-field-link.svg │ │ ├── icon-field-message.svg │ │ ├── icon-field-number.svg │ │ ├── icon-field-oembed.svg │ │ ├── icon-field-page-link.svg │ │ ├── icon-field-password.svg │ │ ├── icon-field-post-object.svg │ │ ├── icon-field-radio.svg │ │ ├── icon-field-range.svg │ │ ├── icon-field-relationship.svg │ │ ├── icon-field-repeater.svg │ │ ├── icon-field-select.svg │ │ ├── icon-field-tab.svg │ │ ├── icon-field-taxonomy.svg │ │ ├── icon-field-text.svg │ │ ├── icon-field-textarea.svg │ │ ├── icon-field-time-picker.svg │ │ ├── icon-field-true-false.svg │ │ ├── icon-field-url.svg │ │ ├── icon-field-user.svg │ │ └── icon-field-wysiwyg.svg │ ├── field-type-previews │ │ ├── field-preview-accordion.png │ │ ├── field-preview-button-group.png │ │ ├── field-preview-checkbox.png │ │ ├── field-preview-clone.png │ │ ├── field-preview-color-picker.png │ │ ├── field-preview-date-picker.png │ │ ├── field-preview-date-time.png │ │ ├── field-preview-email.png │ │ ├── field-preview-file.png │ │ ├── field-preview-flexible-content.png │ │ ├── field-preview-gallery.png │ │ ├── field-preview-google-map.png │ │ ├── field-preview-group.png │ │ ├── field-preview-image.png │ │ ├── field-preview-link.png │ │ ├── field-preview-message.png │ │ ├── field-preview-number.png │ │ ├── field-preview-oembed.png │ │ ├── field-preview-page-link.png │ │ ├── field-preview-password.png │ │ ├── field-preview-post-object.png │ │ ├── field-preview-radio-button.png │ │ ├── field-preview-range.png │ │ ├── field-preview-relationship.png │ │ ├── field-preview-repeater.png │ │ ├── field-preview-select.png │ │ ├── field-preview-tabs.png │ │ ├── field-preview-taxonomy.png │ │ ├── field-preview-text.png │ │ ├── field-preview-textarea.png │ │ ├── field-preview-time.png │ │ ├── field-preview-true-false.png │ │ ├── field-preview-url.png │ │ ├── field-preview-user.png │ │ └── field-preview-wysiwyg.png │ ├── icon-upgrade-pro.svg │ ├── icons │ │ ├── icon-add.svg │ │ ├── icon-alert-triangle.svg │ │ ├── icon-arrow-left.svg │ │ ├── icon-arrow-right.svg │ │ ├── icon-arrow-up-right.svg │ │ ├── icon-check-circle-solid.svg │ │ ├── icon-check.svg │ │ ├── icon-chevron-down.svg │ │ ├── icon-chevron-left-double.svg │ │ ├── icon-chevron-left.svg │ │ ├── icon-chevron-right-double.svg │ │ ├── icon-chevron-right.svg │ │ ├── icon-chevron-up.svg │ │ ├── icon-close-circle.svg │ │ ├── icon-close.svg │ │ ├── icon-copy.svg │ │ ├── icon-document.svg │ │ ├── icon-dots-grid.svg │ │ ├── icon-draggable.svg │ │ ├── icon-export.svg │ │ ├── icon-extended-menu.svg │ │ ├── icon-field-groups.svg │ │ ├── icon-fields.svg │ │ ├── icon-globe.svg │ │ ├── icon-help.svg │ │ ├── icon-hidden.svg │ │ ├── icon-import.svg │ │ ├── icon-info-red.svg │ │ ├── icon-info-solid.svg │ │ ├── icon-info.svg │ │ ├── icon-key-solid.svg │ │ ├── icon-key.svg │ │ ├── icon-layout.svg │ │ ├── icon-lock.svg │ │ ├── icon-play.svg │ │ ├── icon-post-type.svg │ │ ├── icon-regenerate.svg │ │ ├── icon-search.svg │ │ ├── icon-settings.svg │ │ ├── icon-sliders.svg │ │ ├── icon-stars.svg │ │ ├── icon-taxonomies.svg │ │ ├── icon-time.svg │ │ ├── icon-tools.svg │ │ ├── icon-trash.svg │ │ ├── icon-updates.svg │ │ ├── icon-warning-alt-red.svg │ │ ├── icon-warning-alt.svg │ │ └── icon-warning.svg │ ├── pro-upgrade-grid-bg.svg │ ├── pro-upgrade-overlay.svg │ ├── spinner.gif │ ├── spinner@2x.gif │ ├── wp-engine-horizontal-black.svg │ └── wp-engine-horizontal-white.svg └── inc │ ├── color-picker-alpha │ ├── wp-color-picker-alpha.js │ └── wp-color-picker-alpha.min.js │ ├── datepicker │ ├── images │ │ ├── ui-bg_highlight-soft_0_ffffff_1x100.png │ │ ├── ui-icons_444444_256x240.png │ │ ├── ui-icons_DDDDDD_256x240.png │ │ └── ui-icons_ffffff_256x240.png │ ├── jquery-ui.css │ └── jquery-ui.min.css │ ├── select2 │ ├── 3 │ │ ├── select2-spinner.gif │ │ ├── select2.css │ │ ├── select2.js │ │ ├── select2.min.js │ │ ├── select2.png │ │ └── select2x2.png │ └── 4 │ │ ├── select2.css │ │ ├── select2.full.js │ │ ├── select2.full.min.js │ │ ├── select2.js │ │ ├── select2.min.css │ │ └── select2.min.js │ └── timepicker │ ├── jquery-ui-timepicker-addon.css │ ├── jquery-ui-timepicker-addon.js │ ├── jquery-ui-timepicker-addon.min.css │ └── jquery-ui-timepicker-addon.min.js ├── includes ├── acf-bidirectional-functions.php ├── acf-field-functions.php ├── acf-field-group-functions.php ├── acf-form-functions.php ├── acf-helper-functions.php ├── acf-hook-functions.php ├── acf-input-functions.php ├── acf-internal-post-type-functions.php ├── acf-meta-functions.php ├── acf-post-functions.php ├── acf-post-type-functions.php ├── acf-taxonomy-functions.php ├── acf-user-functions.php ├── acf-utility-functions.php ├── acf-value-functions.php ├── acf-wp-functions.php ├── admin │ ├── admin-internal-post-type-list.php │ ├── admin-internal-post-type.php │ ├── admin-notices.php │ ├── admin-options-pages-preview.php │ ├── admin-tools.php │ ├── admin-upgrade.php │ ├── admin.php │ ├── post-types │ │ ├── admin-field-group.php │ │ ├── admin-field-groups.php │ │ ├── admin-post-type.php │ │ ├── admin-post-types.php │ │ ├── admin-taxonomies.php │ │ └── admin-taxonomy.php │ ├── tools │ │ ├── class-acf-admin-tool-export.php │ │ ├── class-acf-admin-tool-import.php │ │ └── class-acf-admin-tool.php │ └── views │ │ ├── acf-field-group │ │ ├── conditional-logic.php │ │ ├── field.php │ │ ├── fields.php │ │ ├── list-empty.php │ │ ├── location-group.php │ │ ├── location-rule.php │ │ ├── locations.php │ │ ├── options.php │ │ └── pro-features.php │ │ ├── acf-post-type │ │ ├── advanced-settings.php │ │ ├── basic-settings.php │ │ └── list-empty.php │ │ ├── acf-taxonomy │ │ ├── advanced-settings.php │ │ ├── basic-settings.php │ │ └── list-empty.php │ │ ├── browse-fields-modal.php │ │ ├── global │ │ ├── form-top.php │ │ ├── header.php │ │ └── navigation.php │ │ ├── options-page-preview.php │ │ ├── tools │ │ └── tools.php │ │ └── upgrade │ │ ├── network.php │ │ ├── notice.php │ │ └── upgrade.php ├── ajax │ ├── class-acf-ajax-check-screen.php │ ├── class-acf-ajax-local-json-diff.php │ ├── class-acf-ajax-query-users.php │ ├── class-acf-ajax-query.php │ ├── class-acf-ajax-upgrade.php │ ├── class-acf-ajax-user-setting.php │ └── class-acf-ajax.php ├── api │ ├── api-helpers.php │ ├── api-template.php │ └── api-term.php ├── assets.php ├── class-acf-data.php ├── class-acf-internal-post-type.php ├── compatibility.php ├── deprecated.php ├── fields.php ├── fields │ ├── class-acf-field-accordion.php │ ├── class-acf-field-button-group.php │ ├── class-acf-field-checkbox.php │ ├── class-acf-field-color_picker.php │ ├── class-acf-field-date_picker.php │ ├── class-acf-field-date_time_picker.php │ ├── class-acf-field-email.php │ ├── class-acf-field-file.php │ ├── class-acf-field-google-map.php │ ├── class-acf-field-group.php │ ├── class-acf-field-image.php │ ├── class-acf-field-link.php │ ├── class-acf-field-message.php │ ├── class-acf-field-number.php │ ├── class-acf-field-oembed.php │ ├── class-acf-field-output.php │ ├── class-acf-field-page_link.php │ ├── class-acf-field-password.php │ ├── class-acf-field-post_object.php │ ├── class-acf-field-radio.php │ ├── class-acf-field-range.php │ ├── class-acf-field-relationship.php │ ├── class-acf-field-select.php │ ├── class-acf-field-separator.php │ ├── class-acf-field-tab.php │ ├── class-acf-field-taxonomy.php │ ├── class-acf-field-text.php │ ├── class-acf-field-textarea.php │ ├── class-acf-field-time_picker.php │ ├── class-acf-field-true_false.php │ ├── class-acf-field-url.php │ ├── class-acf-field-user.php │ ├── class-acf-field-wysiwyg.php │ └── class-acf-field.php ├── forms │ ├── form-attachment.php │ ├── form-comment.php │ ├── form-customizer.php │ ├── form-front.php │ ├── form-gutenberg.php │ ├── form-nav-menu.php │ ├── form-post.php │ ├── form-taxonomy.php │ ├── form-user.php │ └── form-widget.php ├── l10n.php ├── legacy │ └── legacy-locations.php ├── local-fields.php ├── local-json.php ├── local-meta.php ├── locations.php ├── locations │ ├── abstract-acf-legacy-location.php │ ├── abstract-acf-location.php │ ├── class-acf-location-attachment.php │ ├── class-acf-location-comment.php │ ├── class-acf-location-current-user-role.php │ ├── class-acf-location-current-user.php │ ├── class-acf-location-nav-menu-item.php │ ├── class-acf-location-nav-menu.php │ ├── class-acf-location-page-parent.php │ ├── class-acf-location-page-template.php │ ├── class-acf-location-page-type.php │ ├── class-acf-location-page.php │ ├── class-acf-location-post-category.php │ ├── class-acf-location-post-format.php │ ├── class-acf-location-post-status.php │ ├── class-acf-location-post-taxonomy.php │ ├── class-acf-location-post-template.php │ ├── class-acf-location-post-type.php │ ├── class-acf-location-post.php │ ├── class-acf-location-taxonomy.php │ ├── class-acf-location-user-form.php │ ├── class-acf-location-user-role.php │ └── class-acf-location-widget.php ├── loop.php ├── media.php ├── post-types │ ├── class-acf-field-group.php │ ├── class-acf-post-type.php │ └── class-acf-taxonomy.php ├── rest-api.php ├── rest-api │ ├── acf-rest-api-functions.php │ ├── class-acf-rest-api.php │ ├── class-acf-rest-embed-links.php │ └── class-acf-rest-request.php ├── revisions.php ├── third-party.php ├── updates.php ├── upgrades.php ├── validation.php ├── walkers │ └── class-acf-walker-taxonomy-field.php └── wpml.php ├── lang ├── acf-ar.mo ├── acf-ar.po ├── acf-bg_BG.mo ├── acf-bg_BG.po ├── acf-ca.mo ├── acf-ca.po ├── acf-cs_CZ.mo ├── acf-cs_CZ.po ├── acf-de_CH.mo ├── acf-de_CH.po ├── acf-de_DE.mo ├── acf-de_DE.po ├── acf-de_DE_formal.mo ├── acf-de_DE_formal.po ├── acf-el.mo ├── acf-el.po ├── acf-en_CA.mo ├── acf-en_CA.po ├── acf-en_GB.mo ├── acf-en_GB.po ├── acf-en_ZA.mo ├── acf-en_ZA.po ├── acf-es_CO.mo ├── acf-es_CO.po ├── acf-es_CR.mo ├── acf-es_CR.po ├── acf-es_EC.mo ├── acf-es_EC.po ├── acf-es_ES.mo ├── acf-es_ES.po ├── acf-es_MX.mo ├── acf-es_MX.po ├── acf-es_VE.mo ├── acf-es_VE.po ├── acf-fa_IR.mo ├── acf-fa_IR.po ├── acf-fi.mo ├── acf-fi.po ├── acf-fr_CA.mo ├── acf-fr_CA.po ├── acf-fr_FR.mo ├── acf-fr_FR.po ├── acf-gl_ES.mo ├── acf-gl_ES.po ├── acf-gu.mo ├── acf-gu.po ├── acf-he_IL.mo ├── acf-he_IL.po ├── acf-hr.mo ├── acf-hr.po ├── acf-hu_HU.mo ├── acf-hu_HU.po ├── acf-id_ID.mo ├── acf-id_ID.po ├── acf-it_IT.mo ├── acf-it_IT.po ├── acf-ja.mo ├── acf-ja.po ├── acf-ko_KR.mo ├── acf-ko_KR.po ├── acf-nb_NO.mo ├── acf-nb_NO.po ├── acf-nl_BE.mo ├── acf-nl_BE.po ├── acf-nl_NL.mo ├── acf-nl_NL.po ├── acf-nl_NL_formal.mo ├── acf-nl_NL_formal.po ├── acf-pl_PL.mo ├── acf-pl_PL.po ├── acf-pt_AO.mo ├── acf-pt_AO.po ├── acf-pt_BR.mo ├── acf-pt_BR.po ├── acf-pt_PT.mo ├── acf-pt_PT.po ├── acf-ro_RO.mo ├── acf-ro_RO.po ├── acf-ru_RU.mo ├── acf-ru_RU.po ├── acf-sk_SK.mo ├── acf-sk_SK.po ├── acf-sv_SE.mo ├── acf-sv_SE.po ├── acf-tr_TR.mo ├── acf-tr_TR.po ├── acf-uk.mo ├── acf-uk.po ├── acf-zh_CN.mo ├── acf-zh_CN.po ├── acf-zh_TW.mo ├── acf-zh_TW.po └── pro │ ├── acf-ar.po │ ├── acf-bg_BG.po │ ├── acf-ca.po │ ├── acf-cs_CZ.po │ ├── acf-de_CH.po │ ├── acf-de_DE.po │ ├── acf-de_DE_formal.po │ ├── acf-en_GB.po │ ├── acf-es_ES.po │ ├── acf-fa_IR.po │ ├── acf-fi.po │ ├── acf-fr_CA.po │ ├── acf-fr_FR.po │ ├── acf-he_IL.po │ ├── acf-hr.po │ ├── acf-hu_HU.po │ ├── acf-id_ID.po │ ├── acf-it_IT.po │ ├── acf-ja.po │ ├── acf-nb_NO.po │ ├── acf-nl_BE.po │ ├── acf-nl_NL.po │ ├── acf-pl_PL.po │ ├── acf-pt_BR.po │ ├── acf-pt_PT.po │ ├── acf-ro_RO.po │ ├── acf-ru_RU.po │ ├── acf-sk_SK.po │ ├── acf-sv_SE.po │ ├── acf-tr_TR.po │ ├── acf-uk.po │ ├── acf-zh_CN.po │ ├── acf-zh_TW.po │ └── acf.pot ├── pro ├── acf-pro.php ├── acf-ui-options-page-functions.php ├── admin │ ├── admin-options-page.php │ ├── admin-updates.php │ ├── post-types │ │ ├── admin-ui-options-page.php │ │ └── admin-ui-options-pages.php │ └── views │ │ ├── acf-ui-options-page │ │ ├── advanced-settings.php │ │ ├── basic-settings.php │ │ ├── create-options-page-modal.php │ │ └── list-empty.php │ │ ├── html-options-page.php │ │ └── html-settings-updates.php ├── blocks.php ├── fields │ ├── class-acf-field-clone.php │ ├── class-acf-field-flexible-content.php │ ├── class-acf-field-gallery.php │ ├── class-acf-field-repeater.php │ └── class-acf-repeater-table.php ├── locations │ ├── class-acf-location-block.php │ └── class-acf-location-options-page.php ├── options-page.php ├── post-types │ └── acf-ui-options-page.php └── updates.php ├── readme.txt └── vendor └── polyfill-unserialize ├── LICENSE └── src ├── DisallowedClassesSubstitutor.php └── Unserialize.php /assets/build/css/pro/acf-pro-field-group.min.css: -------------------------------------------------------------------------------- 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} 2 | -------------------------------------------------------------------------------- /assets/images/acf-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/acf-logo.png -------------------------------------------------------------------------------- /assets/images/acf-logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /assets/images/empty-post-types.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /assets/images/empty-taxonomies.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /assets/images/face-sad.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/field-preview-grid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-preview-grid.png -------------------------------------------------------------------------------- /assets/images/field-states/checkbox-active.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/field-states/checkbox-indeterminate.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/field-states/radio-active.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-accordion.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-button-group.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-checkbox.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-clone.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-color-picker.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-date-picker.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-date-time-picker.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-default.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-email.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-file.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-flexible-content.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-gallery.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-google-map.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-group.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-image.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-link.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-message.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-number.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-oembed.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-page-link.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-password.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-post-object.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-radio.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-range.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-relationship.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-repeater.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-select.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-tab.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-taxonomy.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-text.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-textarea.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-time-picker.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-true-false.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-url.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-user.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/field-type-icons/icon-field-wysiwyg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-accordion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-accordion.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-button-group.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-button-group.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-checkbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-checkbox.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-clone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-clone.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-color-picker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-color-picker.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-date-picker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-date-picker.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-date-time.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-date-time.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-email.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-email.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-file.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-flexible-content.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-flexible-content.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-gallery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-gallery.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-google-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-google-map.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-group.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-group.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-image.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-link.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-message.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-number.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-number.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-oembed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-oembed.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-page-link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-page-link.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-password.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-password.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-post-object.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-post-object.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-radio-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-radio-button.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-range.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-range.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-relationship.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-relationship.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-repeater.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-repeater.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-select.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-tabs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-tabs.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-taxonomy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-taxonomy.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-text.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-textarea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-textarea.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-time.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-time.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-true-false.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-true-false.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-url.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-url.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-user.png -------------------------------------------------------------------------------- /assets/images/field-type-previews/field-preview-wysiwyg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/field-type-previews/field-preview-wysiwyg.png -------------------------------------------------------------------------------- /assets/images/icon-upgrade-pro.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /assets/images/icons/icon-add.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/icons/icon-alert-triangle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /assets/images/icons/icon-arrow-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/icons/icon-arrow-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/icons/icon-arrow-up-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /assets/images/icons/icon-check-circle-solid.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/icons/icon-check.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/icons/icon-chevron-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/icons/icon-chevron-left-double.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/icons/icon-chevron-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/icons/icon-chevron-right-double.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/icons/icon-chevron-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/icons/icon-chevron-up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/icons/icon-close-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/icons/icon-close.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/icons/icon-copy.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/icons/icon-document.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/icons/icon-dots-grid.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /assets/images/icons/icon-draggable.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/icons/icon-export.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/icons/icon-field-groups.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/icons/icon-fields.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/icons/icon-globe.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/icons/icon-help.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/icons/icon-hidden.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/icons/icon-import.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /assets/images/icons/icon-info-red.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/icons/icon-info-solid.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/icons/icon-info.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/icons/icon-key-solid.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /assets/images/icons/icon-key.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/icons/icon-layout.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/icons/icon-lock.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/icons/icon-play.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/icons/icon-post-type.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/icons/icon-regenerate.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/icons/icon-search.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/icons/icon-settings.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/icons/icon-sliders.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/icons/icon-stars.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/icons/icon-taxonomies.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/icons/icon-time.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/icons/icon-tools.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/icons/icon-trash.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/icons/icon-updates.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/icons/icon-warning-alt-red.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/images/icons/icon-warning-alt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/icons/icon-warning.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/pro-upgrade-overlay.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /assets/images/spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/spinner.gif -------------------------------------------------------------------------------- /assets/images/spinner@2x.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/images/spinner@2x.gif -------------------------------------------------------------------------------- /assets/inc/datepicker/images/ui-bg_highlight-soft_0_ffffff_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/inc/datepicker/images/ui-bg_highlight-soft_0_ffffff_1x100.png -------------------------------------------------------------------------------- /assets/inc/datepicker/images/ui-icons_444444_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/inc/datepicker/images/ui-icons_444444_256x240.png -------------------------------------------------------------------------------- /assets/inc/datepicker/images/ui-icons_DDDDDD_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/inc/datepicker/images/ui-icons_DDDDDD_256x240.png -------------------------------------------------------------------------------- /assets/inc/datepicker/images/ui-icons_ffffff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/inc/datepicker/images/ui-icons_ffffff_256x240.png -------------------------------------------------------------------------------- /assets/inc/select2/3/select2-spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/inc/select2/3/select2-spinner.gif -------------------------------------------------------------------------------- /assets/inc/select2/3/select2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/inc/select2/3/select2.png -------------------------------------------------------------------------------- /assets/inc/select2/3/select2x2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/assets/inc/select2/3/select2x2.png -------------------------------------------------------------------------------- /assets/inc/timepicker/jquery-ui-timepicker-addon.css: -------------------------------------------------------------------------------- 1 | .ui-timepicker-div .ui-widget-header { margin-bottom: 8px; } 2 | .ui-timepicker-div dl { text-align: left; } 3 | .ui-timepicker-div dl dt { float: left; clear:left; padding: 0 0 0 5px; } 4 | .ui-timepicker-div dl dd { margin: 0 10px 10px 40%; } 5 | .ui-timepicker-div td { font-size: 90%; } 6 | .ui-tpicker-grid-label { background: none; border: none; margin: 0; padding: 0; } 7 | .ui-timepicker-div .ui_tpicker_unit_hide{ display: none; } 8 | 9 | .ui-timepicker-div .ui_tpicker_time .ui_tpicker_time_input { background: none; color: inherit; border: none; outline: none; border-bottom: solid 1px #555; width: 95%; } 10 | .ui-timepicker-div .ui_tpicker_time .ui_tpicker_time_input:focus { border-bottom-color: #aaa; } 11 | 12 | .ui-timepicker-rtl{ direction: rtl; } 13 | .ui-timepicker-rtl dl { text-align: right; padding: 0 5px 0 0; } 14 | .ui-timepicker-rtl dl dt{ float: right; clear: right; } 15 | .ui-timepicker-rtl dl dd { margin: 0 40% 10px 10px; } 16 | 17 | /* Shortened version style */ 18 | .ui-timepicker-div.ui-timepicker-oneLine { padding-right: 2px; } 19 | .ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_time, 20 | .ui-timepicker-div.ui-timepicker-oneLine dt { display: none; } 21 | .ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_time_label { display: block; padding-top: 2px; } 22 | .ui-timepicker-div.ui-timepicker-oneLine dl { text-align: right; } 23 | .ui-timepicker-div.ui-timepicker-oneLine dl dd, 24 | .ui-timepicker-div.ui-timepicker-oneLine dl dd > div { display:inline-block; margin:0; } 25 | .ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_minute:before, 26 | .ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_second:before { content:':'; display:inline-block; } 27 | .ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_millisec:before, 28 | .ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_microsec:before { content:'.'; display:inline-block; } 29 | .ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_unit_hide, 30 | .ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_unit_hide:before{ display: none; } -------------------------------------------------------------------------------- /assets/inc/timepicker/jquery-ui-timepicker-addon.min.css: -------------------------------------------------------------------------------- 1 | /*! jQuery Timepicker Addon - v1.6.3 - 2016-04-20 2 | * http://trentrichardson.com/examples/timepicker 3 | * Copyright (c) 2016 Trent Richardson; Licensed MIT */ 4 | 5 | .ui-timepicker-div .ui-widget-header{margin-bottom:8px}.ui-timepicker-div dl{text-align:left}.ui-timepicker-div dl dt{float:left;clear:left;padding:0 0 0 5px}.ui-timepicker-div dl dd{margin:0 10px 10px 40%}.ui-timepicker-div td{font-size:90%}.ui-tpicker-grid-label{background:0 0;border:0;margin:0;padding:0}.ui-timepicker-div .ui_tpicker_unit_hide{display:none}.ui-timepicker-div .ui_tpicker_time .ui_tpicker_time_input{background:0 0;color:inherit;border:0;outline:0;border-bottom:solid 1px #555;width:95%}.ui-timepicker-div .ui_tpicker_time .ui_tpicker_time_input:focus{border-bottom-color:#aaa}.ui-timepicker-rtl{direction:rtl}.ui-timepicker-rtl dl{text-align:right;padding:0 5px 0 0}.ui-timepicker-rtl dl dt{float:right;clear:right}.ui-timepicker-rtl dl dd{margin:0 40% 10px 10px}.ui-timepicker-div.ui-timepicker-oneLine{padding-right:2px}.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_time,.ui-timepicker-div.ui-timepicker-oneLine dt{display:none}.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_time_label{display:block;padding-top:2px}.ui-timepicker-div.ui-timepicker-oneLine dl{text-align:right}.ui-timepicker-div.ui-timepicker-oneLine dl dd,.ui-timepicker-div.ui-timepicker-oneLine dl dd>div{display:inline-block;margin:0}.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_minute:before,.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_second:before{content:':';display:inline-block}.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_millisec:before,.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_microsec:before{content:'.';display:inline-block}.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_unit_hide,.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_unit_hide:before{display:none} -------------------------------------------------------------------------------- /includes/acf-post-functions.php: -------------------------------------------------------------------------------- 1 | get_page_templates( null, $post_type ); 29 | if ( $templates ) { 30 | $post_templates[ $post_type ] = $templates; 31 | } 32 | } 33 | } 34 | 35 | // Update store. 36 | acf_set_data( 'post_templates', $post_templates ); 37 | 38 | // Return templates. 39 | return $post_templates; 40 | } 41 | -------------------------------------------------------------------------------- /includes/acf-user-functions.php: -------------------------------------------------------------------------------- 1 | $user ) { 25 | $order[ $i ] = array_search( $user->ID, $args['include'] ); 26 | } 27 | 28 | // Sort results. 29 | array_multisort( $order, $users ); 30 | } 31 | 32 | // Return 33 | return $users; 34 | } 35 | 36 | /** 37 | * acf_get_user_result 38 | * 39 | * Returns a result containing "id" and "text" for the given user. 40 | * 41 | * @date 21/5/19 42 | * @since 5.8.1 43 | * 44 | * @param WP_User $user The user object. 45 | * @return array 46 | */ 47 | function acf_get_user_result( $user ) { 48 | 49 | // Vars. 50 | $id = $user->ID; 51 | $text = $user->user_login; 52 | 53 | // Add name. 54 | if ( $user->first_name && $user->last_name ) { 55 | $text .= " ({$user->first_name} {$user->last_name})"; 56 | } elseif ( $user->first_name ) { 57 | $text .= " ({$user->first_name})"; 58 | } 59 | return compact( 'id', 'text' ); 60 | } 61 | 62 | 63 | /** 64 | * acf_get_user_role_labels 65 | * 66 | * Returns an array of user roles in the format "name => label". 67 | * 68 | * @date 20/5/19 69 | * @since 5.8.1 70 | * 71 | * @param array $roles A specific array of roles. 72 | * @return array 73 | */ 74 | function acf_get_user_role_labels( $roles = array() ) { 75 | $all_roles = wp_roles()->get_names(); 76 | 77 | // Load all roles if none provided. 78 | if ( empty( $roles ) ) { 79 | $roles = array_keys( $all_roles ); 80 | } 81 | 82 | // Loop over roles and populare labels. 83 | $lables = array(); 84 | foreach ( $roles as $role ) { 85 | if ( isset( $all_roles[ $role ] ) ) { 86 | $lables[ $role ] = translate_user_role( $all_roles[ $role ] ); 87 | } 88 | } 89 | 90 | // Return labels. 91 | return $lables; 92 | } 93 | 94 | /** 95 | * acf_allow_unfiltered_html 96 | * 97 | * Returns true if the current user is allowed to save unfiltered HTML. 98 | * 99 | * @date 9/1/19 100 | * @since 5.7.10 101 | * 102 | * @param void 103 | * @return bool 104 | */ 105 | function acf_allow_unfiltered_html() { 106 | 107 | // Check capability. 108 | $allow_unfiltered_html = current_user_can( 'unfiltered_html' ); 109 | 110 | /** 111 | * Filters whether the current user is allowed to save unfiltered HTML. 112 | * 113 | * @date 9/1/19 114 | * @since 5.7.10 115 | * 116 | * @param bool allow_unfiltered_html The result. 117 | */ 118 | return apply_filters( 'acf/allow_unfiltered_html', $allow_unfiltered_html ); 119 | } 120 | -------------------------------------------------------------------------------- /includes/admin/admin-options-pages-preview.php: -------------------------------------------------------------------------------- 1 | $screen->id ); 63 | acf_get_view( 'options-page-preview', $view ); 64 | } 65 | 66 | } 67 | 68 | new ACF_Admin_Options_Preview(); 69 | endif; 70 | -------------------------------------------------------------------------------- /includes/admin/views/acf-field-group/list-empty.php: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 | 5 |

6 |

7 | field groups to group custom fields together, and then attach those fields to edit screens.', 'acf' ), 11 | acf_add_url_utm_tags( 'https://www.advancedcustomfields.com/resources/creating-a-field-group/', 'docs', 'no-field-groups' ) 12 | ); 13 | ?> 14 |

15 | 16 |

17 | getting started guide.', 'acf' ), 21 | acf_add_url_utm_tags( 'https://www.advancedcustomfields.com/resources/getting-started-with-acf/', 'docs', 'no-field-groups' ) 22 | ); 23 | ?> 24 |

25 |
26 |
27 | -------------------------------------------------------------------------------- /includes/admin/views/acf-field-group/location-group.php: -------------------------------------------------------------------------------- 1 |
2 | 3 |

4 | 5 | 6 | 7 | $rule ) : 9 | 10 | // validate rule 11 | $rule = acf_validate_location_rule( $rule ); 12 | 13 | // append id and group 14 | $rule['id'] = "rule_{$i}"; 15 | $rule['group'] = $group_id; 16 | 17 | // view 18 | acf_get_view( 19 | 'acf-field-group/location-rule', 20 | array( 21 | 'rule' => $rule, 22 | ) 23 | ); 24 | 25 | endforeach; 26 | ?> 27 | 28 |
29 | 30 |
31 | -------------------------------------------------------------------------------- /includes/admin/views/acf-field-group/location-rule.php: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 'select', 20 | 'name' => 'param', 21 | 'prefix' => $prefix, 22 | 'value' => $rule['param'], 23 | 'choices' => $choices, 24 | 'class' => 'refresh-location-rule', 25 | ) 26 | ); 27 | 28 | } 29 | 30 | ?> 31 | 32 | 33 | 'select', 45 | 'name' => 'operator', 46 | 'prefix' => $prefix, 47 | 'value' => $rule['operator'], 48 | 'choices' => $choices, 49 | ) 50 | ); 51 | 52 | // custom 53 | } else { 54 | 55 | echo $choices; 56 | 57 | } 58 | 59 | ?> 60 | 61 | 62 | 'select', 74 | 'name' => 'value', 75 | 'class' => 'location-rule-value', 76 | 'prefix' => $prefix, 77 | 'value' => $rule['value'], 78 | 'choices' => $choices, 79 | ) 80 | ); 81 | 82 | // custom 83 | } else { 84 | 85 | echo $choices; 86 | 87 | } 88 | 89 | ?> 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | -------------------------------------------------------------------------------- /includes/admin/views/acf-field-group/locations.php: -------------------------------------------------------------------------------- 1 | 7 |
8 |
9 | 10 | ? 11 |
12 |
13 |
14 | 15 | $group ) : 17 | 18 | // bail early if no group 19 | if ( empty( $group ) ) { 20 | return; 21 | } 22 | 23 | 24 | // view 25 | acf_get_view( 26 | 'acf-field-group/location-group', 27 | array( 28 | 'group' => $group, 29 | 'group_id' => "group_{$i}", 30 | ) 31 | ); 32 | 33 | endforeach; 34 | ?> 35 | 36 |

37 | 38 | 39 | 40 |
41 |
42 |
43 | 53 | -------------------------------------------------------------------------------- /includes/admin/views/acf-post-type/list-empty.php: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 | 5 |

6 |

7 | 8 |

9 | getting started guide.', 'acf' ), 13 | acf_add_url_utm_tags( 'https://www.advancedcustomfields.com/resources/getting-started-with-acf/', 'docs', 'no-post-types' ) 14 | ); 15 | ?> 16 |

17 |
18 |
19 | -------------------------------------------------------------------------------- /includes/admin/views/acf-taxonomy/list-empty.php: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 | 5 |

6 |

7 | 8 |

9 | getting started guide.', 'acf' ), 13 | acf_add_url_utm_tags( 'https://www.advancedcustomfields.com/resources/getting-started-with-acf/', 'docs', 'no-taxonomies' ) 14 | ); 15 | ?> 16 |

17 |
18 |
19 | -------------------------------------------------------------------------------- /includes/admin/views/global/header.php: -------------------------------------------------------------------------------- 1 | labels->name; 17 | } 18 | if ( $page_title ) { 19 | ?> 20 |
21 | 22 |

23 | 26 | 27 |
PRO
28 | 31 |

32 | 33 | 34 | 35 | 36 | 37 | 38 | cap->create_posts ) ) { 40 | echo ' ' . esc_html( $post_type_object->labels->add_new ) . ''; 41 | } 42 | ?> 43 | 44 |
45 | 46 | -------------------------------------------------------------------------------- /includes/admin/views/options-page-preview.php: -------------------------------------------------------------------------------- 1 | options pages are custom admin pages for managing global settings via fields. You can create multiple pages and sub-pages.', 'acf' ), 8 | acf_add_url_utm_tags( 'https://www.advancedcustomfields.com/resources/options-page/', 'docs', 'no-options-pages' ) 9 | ); 10 | 11 | $acf_getting_started = sprintf( 12 | /* translators: %s url to getting started guide */ 13 | __( 'New to ACF? Take a look at our getting started guide.', 'acf' ), 14 | acf_add_url_utm_tags( 'https://www.advancedcustomfields.com/resources/getting-started-with-acf/', 'docs', 'no-options-pages' ) 15 | ); 16 | 17 | ?> 18 |
19 | 20 | 21 | 22 | 36 | 37 | 38 |
23 |
24 |
25 | 26 |

27 |

28 |
29 | 30 | 31 |
32 |

33 |
34 |
35 |
39 |
40 | -------------------------------------------------------------------------------- /includes/admin/views/tools/tools.php: -------------------------------------------------------------------------------- 1 | 19 |
20 | 21 |

24 |

25 | 26 |
27 | 28 |
29 | 30 | 35 |
36 | -------------------------------------------------------------------------------- /includes/admin/views/upgrade/notice.php: -------------------------------------------------------------------------------- 1 | 23 |
24 |
25 |
26 | 27 |

28 |


29 | 30 |

31 | 32 |
33 |
34 | 35 |
36 | 37 |
38 |
39 | 40 | 49 | 50 | -------------------------------------------------------------------------------- /includes/admin/views/upgrade/upgrade.php: -------------------------------------------------------------------------------- 1 | 14 | 24 |
25 | 26 |

27 | 28 | 29 | 30 |

31 |

32 |

33 |

See what\'s new', 'acf' ), admin_url( 'edit.php?post_type=acf-field-group' ) ); ?>

34 | 35 | 91 | 92 | 93 | 94 |

95 | 96 | 97 |
98 | -------------------------------------------------------------------------------- /includes/ajax/class-acf-ajax-check-screen.php: -------------------------------------------------------------------------------- 1 | request, 33 | array( 34 | 'screen' => '', 35 | 'post_id' => 0, 36 | 'ajax' => true, 37 | 'exists' => array(), 38 | ) 39 | ); 40 | 41 | // vars 42 | $response = array( 43 | 'results' => array(), 44 | 'style' => '', 45 | ); 46 | 47 | // get field groups 48 | $field_groups = acf_get_field_groups( $args ); 49 | 50 | // loop through field groups 51 | if ( $field_groups ) { 52 | foreach ( $field_groups as $i => $field_group ) { 53 | 54 | // vars 55 | $item = array( 56 | 'id' => 'acf-' . $field_group['key'], 57 | 'key' => $field_group['key'], 58 | 'title' => $field_group['title'], 59 | 'position' => $field_group['position'], 60 | 'classes' => postbox_classes( 'acf-' . $field_group['key'], $args['screen'] ), 61 | 'style' => $field_group['style'], 62 | 'label' => $field_group['label_placement'], 63 | 'edit' => acf_get_field_group_edit_link( $field_group['ID'] ), 64 | 'html' => '', 65 | ); 66 | 67 | $hidden_metaboxes = get_hidden_meta_boxes( $args['screen'] ); 68 | 69 | if ( is_array( $hidden_metaboxes ) && in_array( $item['id'], $hidden_metaboxes ) ) { 70 | $item['classes'] = trim( $item['classes'] . ' hide-if-js' ); 71 | } 72 | 73 | // append html if doesnt already exist on page 74 | if ( ! in_array( $field_group['key'], $args['exists'] ) ) { 75 | 76 | // load fields 77 | $fields = acf_get_fields( $field_group ); 78 | 79 | // get field HTML 80 | ob_start(); 81 | 82 | // render 83 | acf_render_fields( $fields, $args['post_id'], 'div', $field_group['instruction_placement'] ); 84 | 85 | $item['html'] = ob_get_clean(); 86 | } 87 | 88 | // append 89 | $response['results'][] = $item; 90 | } 91 | 92 | // Get style from first field group. 93 | $response['style'] = acf_get_field_group_style( $field_groups[0] ); 94 | } 95 | 96 | // Custom metabox order. 97 | if ( $this->get( 'screen' ) == 'post' ) { 98 | $response['sorted'] = get_user_option( 'meta-box-order_' . $this->get( 'post_type' ) ); 99 | } 100 | 101 | // return 102 | return $response; 103 | } 104 | } 105 | 106 | acf_new_instance( 'ACF_Ajax_Check_Screen' ); 107 | 108 | endif; // class_exists check 109 | 110 | 111 | -------------------------------------------------------------------------------- /includes/ajax/class-acf-ajax-upgrade.php: -------------------------------------------------------------------------------- 1 | has( 'value' ) ) { 32 | return acf_update_user_setting( $this->get( 'name' ), $this->get( 'value' ) ); 33 | 34 | // get 35 | } else { 36 | return acf_get_user_setting( $this->get( 'name' ) ); 37 | } 38 | } 39 | } 40 | 41 | acf_new_instance( 'ACF_Ajax_User_Setting' ); 42 | 43 | endif; // class_exists check 44 | -------------------------------------------------------------------------------- /includes/fields/class-acf-field-output.php: -------------------------------------------------------------------------------- 1 | name = 'output'; 25 | $this->label = 'output'; 26 | $this->public = false; 27 | $this->defaults = array( 28 | 'html' => false, 29 | ); 30 | 31 | } 32 | 33 | 34 | /* 35 | * render_field() 36 | * 37 | * Create the HTML interface for your field 38 | * 39 | * @param $field (array) the $field being rendered 40 | * 41 | * @type action 42 | * @since 3.6 43 | * @date 23/01/13 44 | * 45 | * @param $field (array) the $field being edited 46 | * @return n/a 47 | */ 48 | 49 | function render_field( $field ) { 50 | 51 | // bail early if no html 52 | if ( ! $field['html'] ) { 53 | return; 54 | } 55 | 56 | // html 57 | if ( is_string( $field['html'] ) && ! function_exists( $field['html'] ) ) { 58 | 59 | echo $field['html']; 60 | 61 | // function 62 | } else { 63 | 64 | call_user_func_array( $field['html'], array( $field ) ); 65 | 66 | } 67 | 68 | } 69 | 70 | } 71 | 72 | 73 | // initialize 74 | acf_register_field_type( 'acf_field_output' ); 75 | 76 | endif; // class_exists check 77 | 78 | 79 | -------------------------------------------------------------------------------- /includes/fields/class-acf-field-password.php: -------------------------------------------------------------------------------- 1 | name = 'password'; 25 | $this->label = __( 'Password', 'acf' ); 26 | $this->description = __( 'An input for providing a password using a masked field.', 'acf' ); 27 | $this->preview_image = acf_get_url() . '/assets/images/field-type-previews/field-preview-password.png'; 28 | $this->doc_url = acf_add_url_utm_tags( 'https://www.advancedcustomfields.com/resources/password/', 'docs', 'field-type-selection' ); 29 | $this->defaults = array( 30 | 'placeholder' => '', 31 | 'prepend' => '', 32 | 'append' => '', 33 | ); 34 | 35 | } 36 | 37 | 38 | /* 39 | * render_field() 40 | * 41 | * Create the HTML interface for your field 42 | * 43 | * @param $field - an array holding all the field's data 44 | * 45 | * @type action 46 | * @since 3.6 47 | * @date 23/01/13 48 | */ 49 | 50 | function render_field( $field ) { 51 | 52 | acf_get_field_type( 'text' )->render_field( $field ); 53 | 54 | } 55 | 56 | /* 57 | * render_field_settings() 58 | * 59 | * Create extra options for your field. This is rendered when editing a field. 60 | * The value of $field['name'] can be used (like bellow) to save extra data to the $field 61 | * 62 | * @type action 63 | * @since 3.6 64 | * @date 23/01/13 65 | * 66 | * @param $field - an array holding all the field's data 67 | */ 68 | function render_field_settings( $field ) { 69 | // TODO: Delete this method? 70 | } 71 | 72 | /** 73 | * Renders the field settings used in the "Presentation" tab. 74 | * 75 | * @since 6.0 76 | * 77 | * @param array $field The field settings array. 78 | * @return void 79 | */ 80 | function render_field_presentation_settings( $field ) { 81 | acf_render_field_setting( 82 | $field, 83 | array( 84 | 'label' => __( 'Placeholder Text', 'acf' ), 85 | 'instructions' => __( 'Appears within the input', 'acf' ), 86 | 'type' => 'text', 87 | 'name' => 'placeholder', 88 | ) 89 | ); 90 | 91 | acf_render_field_setting( 92 | $field, 93 | array( 94 | 'label' => __( 'Prepend', 'acf' ), 95 | 'instructions' => __( 'Appears before the input', 'acf' ), 96 | 'type' => 'text', 97 | 'name' => 'prepend', 98 | ) 99 | ); 100 | 101 | acf_render_field_setting( 102 | $field, 103 | array( 104 | 'label' => __( 'Append', 'acf' ), 105 | 'instructions' => __( 'Appears after the input', 'acf' ), 106 | 'type' => 'text', 107 | 'name' => 'append', 108 | ) 109 | ); 110 | } 111 | 112 | } 113 | 114 | 115 | // initialize 116 | acf_register_field_type( 'acf_field_password' ); 117 | 118 | endif; // class_exists check 119 | 120 | 121 | -------------------------------------------------------------------------------- /includes/fields/class-acf-field-separator.php: -------------------------------------------------------------------------------- 1 | name = 'separator'; 25 | $this->label = __( 'Separator', 'acf' ); 26 | $this->preview_image = acf_get_url() . '/assets/images/field-type-previews/field-preview-separator.png'; 27 | $this->category = 'layout'; 28 | 29 | } 30 | 31 | 32 | /* 33 | * render_field() 34 | * 35 | * Create the HTML interface for your field 36 | * 37 | * @param $field - an array holding all the field's data 38 | * 39 | * @type action 40 | * @since 3.6 41 | * @date 23/01/13 42 | */ 43 | 44 | function render_field( $field ) { 45 | 46 | /* do nothing */ 47 | 48 | } 49 | 50 | 51 | /* 52 | * load_field() 53 | * 54 | * This filter is appied to the $field after it is loaded from the database 55 | * 56 | * @type filter 57 | * @since 3.6 58 | * @date 23/01/13 59 | * 60 | * @param $field - the field array holding all the field options 61 | * 62 | * @return $field - the field array holding all the field options 63 | */ 64 | 65 | function load_field( $field ) { 66 | 67 | // remove name to avoid caching issue 68 | $field['name'] = ''; 69 | 70 | // remove required to avoid JS issues 71 | $field['required'] = 0; 72 | 73 | // set value other than 'null' to avoid ACF loading / caching issue 74 | $field['value'] = false; 75 | 76 | // return 77 | return $field; 78 | 79 | } 80 | 81 | } 82 | 83 | 84 | // initialize 85 | acf_register_field_type( 'acf_field_separator' ); 86 | 87 | endif; // class_exists check 88 | 89 | 90 | -------------------------------------------------------------------------------- /includes/legacy/legacy-locations.php: -------------------------------------------------------------------------------- 1 | name}", array( $this, 'rule_match' ), 5, 3 ); 25 | } 26 | if ( method_exists( $this, 'rule_operators' ) ) { 27 | add_filter( "acf/location/rule_operators/{$this->name}", array( $this, 'rule_operators' ), 5, 2 ); 28 | } 29 | if ( method_exists( $this, 'rule_values' ) ) { 30 | add_filter( "acf/location/rule_values/{$this->name}", array( $this, 'rule_values' ), 5, 2 ); 31 | } 32 | } 33 | 34 | /** 35 | * Magic __call method for backwards compatibility. 36 | * 37 | * @date 10/4/20 38 | * @since 5.9.0 39 | * 40 | * @param string $name The method name. 41 | * @param array $arguments The array of arguments. 42 | * @return mixed 43 | */ 44 | public function __call( $name, $arguments ) { 45 | 46 | // Add backwards compatibility for legacy methods. 47 | // - Combine 3x legacy filters cases together (remove first args). 48 | switch ( $name ) { 49 | case 'rule_match': 50 | $method = isset( $method ) ? $method : 'match'; 51 | $arguments[3] = isset( $arguments[3] ) ? $arguments[3] : false; // Add $field_group param. 52 | case 'rule_operators': 53 | $method = isset( $method ) ? $method : 'get_operators'; 54 | case 'rule_values': 55 | $method = isset( $method ) ? $method : 'get_values'; 56 | array_shift( $arguments ); 57 | return call_user_func_array( array( $this, $method ), $arguments ); 58 | case 'compare': 59 | return call_user_func_array( array( $this, 'compare_to_rule' ), $arguments ); 60 | } 61 | } 62 | } 63 | 64 | endif; // class_exists check 65 | -------------------------------------------------------------------------------- /includes/locations/class-acf-location-attachment.php: -------------------------------------------------------------------------------- 1 | name = 'attachment'; 22 | $this->label = __( 'Attachment', 'acf' ); 23 | $this->category = 'forms'; 24 | $this->object_type = 'attachment'; 25 | } 26 | 27 | /** 28 | * Matches the provided rule against the screen args returning a bool result. 29 | * 30 | * @date 9/4/20 31 | * @since 5.9.0 32 | * 33 | * @param array $rule The location rule. 34 | * @param array $screen The screen args. 35 | * @param array $field_group The field group settings. 36 | * @return bool 37 | */ 38 | public function match( $rule, $screen, $field_group ) { 39 | 40 | // Check screen args. 41 | if ( isset( $screen['attachment'] ) ) { 42 | $attachment = $screen['attachment']; 43 | } else { 44 | return false; 45 | } 46 | 47 | // Get attachment mime type 48 | $mime_type = get_post_mime_type( $attachment ); 49 | 50 | // Allow for unspecific mim_type matching such as "image" or "video". 51 | if ( ! strpos( $rule['value'], '/' ) ) { 52 | 53 | // Explode mime_type into bits ([0] => type, [1] => subtype) and match type. 54 | $bits = explode( '/', $mime_type ); 55 | if ( $bits[0] === $rule['value'] ) { 56 | $mime_type = $rule['value']; 57 | } 58 | } 59 | return $this->compare_to_rule( $mime_type, $rule ); 60 | } 61 | 62 | /** 63 | * Returns an array of possible values for this rule type. 64 | * 65 | * @date 9/4/20 66 | * @since 5.9.0 67 | * 68 | * @param array $rule A location rule. 69 | * @return array 70 | */ 71 | public function get_values( $rule ) { 72 | $choices = array( 73 | 'all' => __( 'All', 'acf' ), 74 | ); 75 | 76 | // Get mime types and append into optgroups. 77 | $mime_types = get_allowed_mime_types(); 78 | foreach ( $mime_types as $regex => $mime_type ) { 79 | 80 | // Get type "image" from mime_type "image/jpeg". 81 | $type = current( explode( '/', $mime_type ) ); 82 | 83 | // Append group and mimetype. 84 | $choices[ $type ][ $type ] = sprintf( __( 'All %s formats', 'acf' ), $type ); 85 | $choices[ $type ][ $mime_type ] = "$regex ($mime_type)"; 86 | } 87 | 88 | // return 89 | return $choices; 90 | } 91 | } 92 | 93 | // Register. 94 | acf_register_location_type( 'ACF_Location_Attachment' ); 95 | 96 | endif; // class_exists check 97 | -------------------------------------------------------------------------------- /includes/locations/class-acf-location-comment.php: -------------------------------------------------------------------------------- 1 | name = 'comment'; 22 | $this->label = __( 'Comment', 'acf' ); 23 | $this->category = 'forms'; 24 | $this->object_type = 'comment'; 25 | } 26 | 27 | /** 28 | * Matches the provided rule against the screen args returning a bool result. 29 | * 30 | * @date 9/4/20 31 | * @since 5.9.0 32 | * 33 | * @param array $rule The location rule. 34 | * @param array $screen The screen args. 35 | * @param array $field_group The field group settings. 36 | * @return bool 37 | */ 38 | public function match( $rule, $screen, $field_group ) { 39 | 40 | // Check screen args. 41 | if ( isset( $screen['comment'] ) ) { 42 | $comment = $screen['comment']; 43 | } else { 44 | return false; 45 | } 46 | return $this->compare_to_rule( $comment, $rule ); 47 | } 48 | 49 | /** 50 | * Returns an array of possible values for this rule type. 51 | * 52 | * @date 9/4/20 53 | * @since 5.9.0 54 | * 55 | * @param array $rule A location rule. 56 | * @return array 57 | */ 58 | public function get_values( $rule ) { 59 | return array_merge( 60 | array( 61 | 'all' => __( 'All', 'acf' ), 62 | ), 63 | acf_get_pretty_post_types() // Todo: Change to post types that support comments. 64 | ); 65 | } 66 | } 67 | 68 | // Register. 69 | acf_register_location_type( 'ACF_Location_Comment' ); 70 | 71 | endif; // class_exists check 72 | -------------------------------------------------------------------------------- /includes/locations/class-acf-location-current-user-role.php: -------------------------------------------------------------------------------- 1 | name = 'current_user_role'; 22 | $this->label = __( 'Current User Role', 'acf' ); 23 | $this->category = 'user'; 24 | } 25 | 26 | /** 27 | * Matches the provided rule against the screen args returning a bool result. 28 | * 29 | * @date 9/4/20 30 | * @since 5.9.0 31 | * 32 | * @param array $rule The location rule. 33 | * @param array $screen The screen args. 34 | * @param array $field_group The field group settings. 35 | * @return bool 36 | */ 37 | public function match( $rule, $screen, $field_group ) { 38 | 39 | // Get current user. 40 | $user = wp_get_current_user(); 41 | if ( ! $user ) { 42 | return false; 43 | } 44 | 45 | // Check super_admin value. 46 | if ( $rule['value'] == 'super_admin' ) { 47 | $result = is_super_admin( $user->ID ); 48 | 49 | // Check role. 50 | } else { 51 | $result = in_array( $rule['value'], $user->roles ); 52 | } 53 | 54 | // Reverse result for "!=" operator. 55 | if ( $rule['operator'] === '!=' ) { 56 | return ! $result; 57 | } 58 | return $result; 59 | } 60 | 61 | /** 62 | * Returns an array of possible values for this rule type. 63 | * 64 | * @date 9/4/20 65 | * @since 5.9.0 66 | * 67 | * @param array $rule A location rule. 68 | * @return array 69 | */ 70 | public function get_values( $rule ) { 71 | $choices = wp_roles()->get_names(); 72 | 73 | // Prepend Super Admin choice. 74 | if ( is_multisite() ) { 75 | return array_merge( 76 | array( 77 | 'super_admin' => __( 'Super Admin', 'acf' ), 78 | ), 79 | $choices 80 | ); 81 | } 82 | return $choices; 83 | } 84 | } 85 | 86 | // Register. 87 | acf_register_location_type( 'ACF_Location_Current_User_Role' ); 88 | 89 | endif; // class_exists check 90 | -------------------------------------------------------------------------------- /includes/locations/class-acf-location-current-user.php: -------------------------------------------------------------------------------- 1 | name = 'current_user'; 22 | $this->label = __( 'Current User', 'acf' ); 23 | $this->category = 'user'; 24 | } 25 | 26 | /** 27 | * Matches the provided rule against the screen args returning a bool result. 28 | * 29 | * @date 9/4/20 30 | * @since 5.9.0 31 | * 32 | * @param array $rule The location rule. 33 | * @param array $screen The screen args. 34 | * @param array $field_group The field group settings. 35 | * @return bool 36 | */ 37 | public function match( $rule, $screen, $field_group ) { 38 | switch ( $rule['value'] ) { 39 | case 'logged_in': 40 | $result = is_user_logged_in(); 41 | break; 42 | case 'viewing_front': 43 | $result = ! is_admin(); 44 | break; 45 | case 'viewing_back': 46 | $result = is_admin(); 47 | break; 48 | default: 49 | $result = false; 50 | break; 51 | } 52 | 53 | // Reverse result for "!=" operator. 54 | if ( $rule['operator'] === '!=' ) { 55 | return ! $result; 56 | } 57 | return $result; 58 | } 59 | 60 | /** 61 | * Returns an array of possible values for this rule type. 62 | * 63 | * @date 9/4/20 64 | * @since 5.9.0 65 | * 66 | * @param array $rule A location rule. 67 | * @return array 68 | */ 69 | public function get_values( $rule ) { 70 | return array( 71 | 'logged_in' => __( 'Logged in', 'acf' ), 72 | 'viewing_front' => __( 'Viewing front end', 'acf' ), 73 | 'viewing_back' => __( 'Viewing back end', 'acf' ), 74 | ); 75 | } 76 | } 77 | 78 | // Register. 79 | acf_register_location_type( 'ACF_Location_Current_User' ); 80 | 81 | endif; // class_exists check 82 | -------------------------------------------------------------------------------- /includes/locations/class-acf-location-nav-menu-item.php: -------------------------------------------------------------------------------- 1 | name = 'nav_menu_item'; 22 | $this->label = __( 'Menu Item', 'acf' ); 23 | $this->category = 'forms'; 24 | $this->object_type = 'menu_item'; 25 | } 26 | 27 | /** 28 | * Matches the provided rule against the screen args returning a bool result. 29 | * 30 | * @date 9/4/20 31 | * @since 5.9.0 32 | * 33 | * @param array $rule The location rule. 34 | * @param array $screen The screen args. 35 | * @param array $field_group The field group settings. 36 | * @return bool 37 | */ 38 | public function match( $rule, $screen, $field_group ) { 39 | 40 | // Check screen args. 41 | if ( isset( $screen['nav_menu_item'] ) ) { 42 | $nav_menu_item = $screen['nav_menu_item']; 43 | } else { 44 | return false; 45 | } 46 | 47 | // Append "nav_menu" global data to $screen and call 'nav_menu' logic. 48 | if ( ! isset( $screen['nav_menu'] ) ) { 49 | $screen['nav_menu'] = acf_get_data( 'nav_menu_id' ); 50 | } 51 | return acf_get_location_type( 'nav_menu' )->match( $rule, $screen, $field_group ); 52 | } 53 | 54 | /** 55 | * Returns an array of possible values for this rule type. 56 | * 57 | * @date 9/4/20 58 | * @since 5.9.0 59 | * 60 | * @param array $rule A location rule. 61 | * @return array 62 | */ 63 | public function get_values( $rule ) { 64 | return acf_get_location_type( 'nav_menu' )->get_values( $rule ); 65 | } 66 | } 67 | 68 | // Register. 69 | acf_register_location_type( 'ACF_Location_Nav_Menu_Item' ); 70 | 71 | endif; // class_exists check 72 | -------------------------------------------------------------------------------- /includes/locations/class-acf-location-nav-menu.php: -------------------------------------------------------------------------------- 1 | name = 'nav_menu'; 22 | $this->label = __( 'Menu', 'acf' ); 23 | $this->category = 'forms'; 24 | $this->object_type = 'menu'; 25 | } 26 | 27 | /** 28 | * Matches the provided rule against the screen args returning a bool result. 29 | * 30 | * @date 9/4/20 31 | * @since 5.9.0 32 | * 33 | * @param array $rule The location rule. 34 | * @param array $screen The screen args. 35 | * @param array $field_group The field group settings. 36 | * @return bool 37 | */ 38 | public function match( $rule, $screen, $field_group ) { 39 | 40 | // Check screen args. 41 | if ( isset( $screen['nav_menu'] ) ) { 42 | $nav_menu = $screen['nav_menu']; 43 | } else { 44 | return false; 45 | } 46 | 47 | // Allow for "location/xxx" rule value. 48 | $bits = explode( '/', $rule['value'] ); 49 | if ( $bits[0] === 'location' ) { 50 | $location = $bits[1]; 51 | 52 | // Get the map of menu locations [location => menu_id] and update $nav_menu to a location value. 53 | $menu_locations = get_nav_menu_locations(); 54 | if ( isset( $menu_locations[ $location ] ) ) { 55 | $rule['value'] = $menu_locations[ $location ]; 56 | } 57 | } 58 | 59 | // Compare rule against $nav_menu. 60 | return $this->compare_to_rule( $nav_menu, $rule ); 61 | } 62 | 63 | /** 64 | * Returns an array of possible values for this rule type. 65 | * 66 | * @date 9/4/20 67 | * @since 5.9.0 68 | * 69 | * @param array $rule A location rule. 70 | * @return array 71 | */ 72 | public function get_values( $rule ) { 73 | $choices = array( 74 | 'all' => __( 'All', 'acf' ), 75 | ); 76 | 77 | // Append locations. 78 | $nav_locations = get_registered_nav_menus(); 79 | if ( $nav_locations ) { 80 | $cat = __( 'Menu Locations', 'acf' ); 81 | foreach ( $nav_locations as $slug => $title ) { 82 | $choices[ $cat ][ "location/$slug" ] = $title; 83 | } 84 | } 85 | 86 | // Append menu IDs. 87 | $nav_menus = wp_get_nav_menus(); 88 | if ( $nav_menus ) { 89 | $cat = __( 'Menus', 'acf' ); 90 | foreach ( $nav_menus as $nav_menu ) { 91 | $choices[ $cat ][ $nav_menu->term_id ] = $nav_menu->name; 92 | } 93 | } 94 | 95 | // Return choices. 96 | return $choices; 97 | } 98 | } 99 | 100 | // Register. 101 | acf_register_location_type( 'ACF_Location_Nav_Menu' ); 102 | 103 | endif; // class_exists check 104 | -------------------------------------------------------------------------------- /includes/locations/class-acf-location-page-parent.php: -------------------------------------------------------------------------------- 1 | name = 'page_parent'; 22 | $this->label = __( 'Page Parent', 'acf' ); 23 | $this->category = 'page'; 24 | $this->object_type = 'post'; 25 | $this->object_subtype = 'page'; 26 | } 27 | 28 | /** 29 | * Matches the provided rule against the screen args returning a bool result. 30 | * 31 | * @date 9/4/20 32 | * @since 5.9.0 33 | * 34 | * @param array $rule The location rule. 35 | * @param array $screen The screen args. 36 | * @param array $field_group The field group settings. 37 | * @return bool 38 | */ 39 | public function match( $rule, $screen, $field_group ) { 40 | 41 | // Check screen args. 42 | if ( isset( $screen['page_parent'] ) ) { 43 | $page_parent = $screen['page_parent']; 44 | } elseif ( isset( $screen['post_id'] ) ) { 45 | $post = get_post( $screen['post_id'] ); 46 | $page_parent = $post ? $post->post_parent : false; 47 | } else { 48 | return false; 49 | } 50 | 51 | // Compare rule against $page_parent. 52 | return $this->compare_to_rule( $page_parent, $rule ); 53 | } 54 | 55 | /** 56 | * Returns an array of possible values for this rule type. 57 | * 58 | * @date 9/4/20 59 | * @since 5.9.0 60 | * 61 | * @param array $rule A location rule. 62 | * @return array 63 | */ 64 | public function get_values( $rule ) { 65 | return acf_get_location_type( 'page' )->get_values( $rule ); 66 | } 67 | } 68 | 69 | // Register. 70 | acf_register_location_type( 'ACF_Location_Page_Parent' ); 71 | 72 | endif; // class_exists check 73 | -------------------------------------------------------------------------------- /includes/locations/class-acf-location-page-template.php: -------------------------------------------------------------------------------- 1 | name = 'page_template'; 22 | $this->label = __( 'Page Template', 'acf' ); 23 | $this->category = 'page'; 24 | $this->object_type = 'post'; 25 | $this->object_subtype = 'page'; 26 | } 27 | 28 | /** 29 | * Matches the provided rule against the screen args returning a bool result. 30 | * 31 | * @date 9/4/20 32 | * @since 5.9.0 33 | * 34 | * @param array $rule The location rule. 35 | * @param array $screen The screen args. 36 | * @param array $field_group The field group settings. 37 | * @return bool 38 | */ 39 | public function match( $rule, $screen, $field_group ) { 40 | 41 | // Check screen args. 42 | if ( isset( $screen['post_type'] ) ) { 43 | $post_type = $screen['post_type']; 44 | } elseif ( isset( $screen['post_id'] ) ) { 45 | $post_type = get_post_type( $screen['post_id'] ); 46 | } else { 47 | return false; 48 | } 49 | 50 | // Page templates were extended in WordPress version 4.7 for all post types. 51 | // Prevent this rule (which is scoped to the "page" post type) appearing on all post types without a template selected (default template). 52 | if ( $rule['value'] === 'default' && $post_type !== 'page' ) { 53 | return false; 54 | } 55 | 56 | // Match rule using Post Template logic. 57 | return acf_get_location_type( 'post_template' )->match( $rule, $screen, $field_group ); 58 | } 59 | 60 | /** 61 | * Returns an array of possible values for this rule type. 62 | * 63 | * @date 9/4/20 64 | * @since 5.9.0 65 | * 66 | * @param array $rule A location rule. 67 | * @return array 68 | */ 69 | public function get_values( $rule ) { 70 | $post_templates = acf_get_post_templates(); 71 | return array_merge( 72 | array( 73 | 'default' => apply_filters( 'default_page_template_title', __( 'Default Template', 'acf' ), 'meta-box' ), 74 | ), 75 | $post_templates['page'] 76 | ); 77 | } 78 | } 79 | 80 | // Register. 81 | acf_register_location_type( 'ACF_Location_Page_Template' ); 82 | 83 | endif; // class_exists check. 84 | -------------------------------------------------------------------------------- /includes/locations/class-acf-location-page.php: -------------------------------------------------------------------------------- 1 | name = 'page'; 22 | $this->label = __( 'Page', 'acf' ); 23 | $this->category = 'page'; 24 | $this->object_type = 'post'; 25 | $this->object_subtype = 'page'; 26 | } 27 | 28 | /** 29 | * Matches the provided rule against the screen args returning a bool result. 30 | * 31 | * @date 9/4/20 32 | * @since 5.9.0 33 | * 34 | * @param array $rule The location rule. 35 | * @param array $screen The screen args. 36 | * @param array $field_group The field group settings. 37 | * @return bool 38 | */ 39 | public function match( $rule, $screen, $field_group ) { 40 | return acf_get_location_type( 'post' )->match( $rule, $screen, $field_group ); 41 | } 42 | 43 | /** 44 | * Returns an array of possible values for this rule type. 45 | * 46 | * @date 9/4/20 47 | * @since 5.9.0 48 | * 49 | * @param array $rule A location rule. 50 | * @return array 51 | */ 52 | public function get_values( $rule ) { 53 | $choices = array(); 54 | 55 | // Get grouped posts. 56 | $groups = acf_get_grouped_posts( 57 | array( 58 | 'post_type' => array( 'page' ), 59 | ) 60 | ); 61 | 62 | // Get first group. 63 | $posts = reset( $groups ); 64 | 65 | // Append to choices. 66 | if ( $posts ) { 67 | foreach ( $posts as $post ) { 68 | $choices[ $post->ID ] = acf_get_post_title( $post ); 69 | } 70 | } 71 | return $choices; 72 | } 73 | } 74 | 75 | // Register. 76 | acf_register_location_type( 'ACF_Location_Page' ); 77 | 78 | endif; // class_exists check 79 | -------------------------------------------------------------------------------- /includes/locations/class-acf-location-post-category.php: -------------------------------------------------------------------------------- 1 | name = 'post_category'; 22 | $this->label = __( 'Post Category', 'acf' ); 23 | $this->category = 'post'; 24 | $this->object_type = 'post'; 25 | } 26 | 27 | /** 28 | * Matches the provided rule against the screen args returning a bool result. 29 | * 30 | * @date 9/4/20 31 | * @since 5.9.0 32 | * 33 | * @param array $rule The location rule. 34 | * @param array $screen The screen args. 35 | * @param array $field_group The field group settings. 36 | * @return bool 37 | */ 38 | public function match( $rule, $screen, $field_group ) { 39 | return acf_get_location_type( 'post_taxonomy' )->match( $rule, $screen, $field_group ); 40 | } 41 | 42 | /** 43 | * Returns an array of possible values for this rule type. 44 | * 45 | * @date 9/4/20 46 | * @since 5.9.0 47 | * 48 | * @param array $rule A location rule. 49 | * @return array 50 | */ 51 | public function get_values( $rule ) { 52 | $choices = acf_get_taxonomy_terms( array( 'category' ) ); 53 | if ( $choices ) { 54 | return reset( $choices ); 55 | } 56 | return array(); 57 | } 58 | 59 | /** 60 | * Returns the object_subtype connected to this location. 61 | * 62 | * @date 1/4/20 63 | * @since 5.9.0 64 | * 65 | * @param array $rule A location rule. 66 | * @return string|array 67 | */ 68 | public function get_object_subtype( $rule ) { 69 | return acf_get_location_type( 'post_taxonomy' )->get_object_subtype( $rule ); 70 | } 71 | } 72 | 73 | // initialize 74 | acf_register_location_rule( 'ACF_Location_Post_Category' ); 75 | 76 | endif; // class_exists check 77 | -------------------------------------------------------------------------------- /includes/locations/class-acf-location-post-format.php: -------------------------------------------------------------------------------- 1 | name = 'post_format'; 22 | $this->label = __( 'Post Format', 'acf' ); 23 | $this->category = 'post'; 24 | $this->object_type = 'post'; 25 | } 26 | 27 | /** 28 | * Matches the provided rule against the screen args returning a bool result. 29 | * 30 | * @date 9/4/20 31 | * @since 5.9.0 32 | * 33 | * @param array $rule The location rule. 34 | * @param array $screen The screen args. 35 | * @param array $field_group The field group settings. 36 | * @return bool 37 | */ 38 | public function match( $rule, $screen, $field_group ) { 39 | 40 | // Check screen args. 41 | if ( isset( $screen['post_format'] ) ) { 42 | $post_format = $screen['post_format']; 43 | } elseif ( isset( $screen['post_id'] ) ) { 44 | $post_type = get_post_type( $screen['post_id'] ); 45 | $post_format = get_post_format( $screen['post_id'] ); 46 | 47 | // Treat new posts (that support post-formats) without a saved format as "standard". 48 | if ( ! $post_format && post_type_supports( $post_type, 'post-formats' ) ) { 49 | $post_format = 'standard'; 50 | } 51 | } else { 52 | return false; 53 | } 54 | 55 | // Compare rule against $post_format. 56 | return $this->compare_to_rule( $post_format, $rule ); 57 | } 58 | 59 | /** 60 | * Returns an array of possible values for this rule type. 61 | * 62 | * @date 9/4/20 63 | * @since 5.9.0 64 | * 65 | * @param array $rule A location rule. 66 | * @return array 67 | */ 68 | public function get_values( $rule ) { 69 | return get_post_format_strings(); 70 | } 71 | } 72 | 73 | // initialize 74 | acf_register_location_type( 'ACF_Location_Post_Format' ); 75 | 76 | endif; // class_exists check 77 | -------------------------------------------------------------------------------- /includes/locations/class-acf-location-post-status.php: -------------------------------------------------------------------------------- 1 | name = 'post_status'; 22 | $this->label = __( 'Post Status', 'acf' ); 23 | $this->category = 'post'; 24 | $this->object_type = 'post'; 25 | } 26 | 27 | /** 28 | * Matches the provided rule against the screen args returning a bool result. 29 | * 30 | * @date 9/4/20 31 | * @since 5.9.0 32 | * 33 | * @param array $rule The location rule. 34 | * @param array $screen The screen args. 35 | * @param array $field_group The field group settings. 36 | * @return bool 37 | */ 38 | public function match( $rule, $screen, $field_group ) { 39 | 40 | // Check screen args. 41 | if ( isset( $screen['post_status'] ) ) { 42 | $post_status = $screen['post_status']; 43 | } elseif ( isset( $screen['post_id'] ) ) { 44 | $post_status = get_post_status( $screen['post_id'] ); 45 | } else { 46 | return false; 47 | } 48 | 49 | // Treat "auto-draft" as "draft". 50 | if ( $post_status === 'auto-draft' ) { 51 | $post_status = 'draft'; 52 | } 53 | 54 | // Compare rule against $post_status. 55 | return $this->compare_to_rule( $post_status, $rule ); 56 | } 57 | 58 | /** 59 | * Returns an array of possible values for this rule type. 60 | * 61 | * @date 9/4/20 62 | * @since 5.9.0 63 | * 64 | * @param array $rule A location rule. 65 | * @return array 66 | */ 67 | public function get_values( $rule ) { 68 | global $wp_post_statuses; 69 | 70 | // Append to choices. 71 | $choices = array(); 72 | if ( $wp_post_statuses ) { 73 | foreach ( $wp_post_statuses as $status ) { 74 | $choices[ $status->name ] = $status->label; 75 | } 76 | } 77 | return $choices; 78 | } 79 | } 80 | 81 | // initialize 82 | acf_register_location_type( 'ACF_Location_Post_Status' ); 83 | 84 | endif; // class_exists check 85 | -------------------------------------------------------------------------------- /includes/locations/class-acf-location-post-type.php: -------------------------------------------------------------------------------- 1 | name = 'post_type'; 22 | $this->label = __( 'Post Type', 'acf' ); 23 | $this->category = 'post'; 24 | $this->object_type = 'post'; 25 | } 26 | 27 | /** 28 | * Matches the provided rule against the screen args returning a bool result. 29 | * 30 | * @date 9/4/20 31 | * @since 5.9.0 32 | * 33 | * @param array $rule The location rule. 34 | * @param array $screen The screen args. 35 | * @param array $field_group The field group settings. 36 | * @return bool 37 | */ 38 | public function match( $rule, $screen, $field_group ) { 39 | 40 | // Check screen args. 41 | if ( isset( $screen['post_type'] ) ) { 42 | $post_type = $screen['post_type']; 43 | } elseif ( isset( $screen['post_id'] ) ) { 44 | $post_type = get_post_type( $screen['post_id'] ); 45 | } else { 46 | return false; 47 | } 48 | 49 | // Compare rule against $post_type. 50 | return $this->compare_to_rule( $post_type, $rule ); 51 | } 52 | 53 | /** 54 | * Returns an array of possible values for this rule type. 55 | * 56 | * @date 9/4/20 57 | * @since 5.9.0 58 | * 59 | * @param array $rule A location rule. 60 | * @return array 61 | */ 62 | public function get_values( $rule ) { 63 | 64 | // Get post types. 65 | $post_types = acf_get_post_types( 66 | array( 67 | 'show_ui' => 1, 68 | 'exclude' => array( 'attachment' ), 69 | ) 70 | ); 71 | 72 | // Return array of [type => label]. 73 | return acf_get_pretty_post_types( $post_types ); 74 | } 75 | 76 | /** 77 | * Returns the object_subtype connected to this location. 78 | * 79 | * @date 1/4/20 80 | * @since 5.9.0 81 | * 82 | * @param array $rule A location rule. 83 | * @return string|array 84 | */ 85 | public function get_object_subtype( $rule ) { 86 | if ( $rule['operator'] === '==' ) { 87 | return $rule['value']; 88 | } 89 | return ''; 90 | } 91 | 92 | } 93 | 94 | // initialize 95 | acf_register_location_type( 'ACF_Location_Post_Type' ); 96 | 97 | endif; // class_exists check 98 | -------------------------------------------------------------------------------- /includes/locations/class-acf-location-post.php: -------------------------------------------------------------------------------- 1 | name = 'post'; 22 | $this->label = __( 'Post', 'acf' ); 23 | $this->category = 'post'; 24 | $this->object_type = 'post'; 25 | } 26 | 27 | /** 28 | * Matches the provided rule against the screen args returning a bool result. 29 | * 30 | * @date 9/4/20 31 | * @since 5.9.0 32 | * 33 | * @param array $rule The location rule. 34 | * @param array $screen The screen args. 35 | * @param array $field_group The field group settings. 36 | * @return bool 37 | */ 38 | public function match( $rule, $screen, $field_group ) { 39 | 40 | // Check screen args. 41 | if ( isset( $screen['post_id'] ) ) { 42 | $post_id = $screen['post_id']; 43 | } else { 44 | return false; 45 | } 46 | 47 | // Compare rule against post_id. 48 | return $this->compare_to_rule( $post_id, $rule ); 49 | } 50 | 51 | /** 52 | * Returns an array of possible values for this rule type. 53 | * 54 | * @date 9/4/20 55 | * @since 5.9.0 56 | * 57 | * @param array $rule A location rule. 58 | * @return array 59 | */ 60 | public function get_values( $rule ) { 61 | $choices = array(); 62 | 63 | // Get post types. 64 | $post_types = acf_get_post_types( 65 | array( 66 | 'show_ui' => 1, 67 | 'exclude' => array( 'page', 'attachment' ), 68 | ) 69 | ); 70 | 71 | // Get grouped posts. 72 | $groups = acf_get_grouped_posts( 73 | array( 74 | 'post_type' => $post_types, 75 | ) 76 | ); 77 | 78 | // Append to choices. 79 | if ( $groups ) { 80 | foreach ( $groups as $label => $posts ) { 81 | $choices[ $label ] = array(); 82 | foreach ( $posts as $post ) { 83 | $choices[ $label ][ $post->ID ] = acf_get_post_title( $post ); 84 | } 85 | } 86 | } 87 | return $choices; 88 | } 89 | } 90 | 91 | // initialize 92 | acf_register_location_type( 'ACF_Location_Post' ); 93 | 94 | endif; // class_exists check 95 | -------------------------------------------------------------------------------- /includes/locations/class-acf-location-taxonomy.php: -------------------------------------------------------------------------------- 1 | name = 'taxonomy'; 22 | $this->label = __( 'Taxonomy', 'acf' ); 23 | $this->category = 'forms'; 24 | $this->object_type = 'term'; 25 | } 26 | 27 | /** 28 | * Matches the provided rule against the screen args returning a bool result. 29 | * 30 | * @date 9/4/20 31 | * @since 5.9.0 32 | * 33 | * @param array $rule The location rule. 34 | * @param array $screen The screen args. 35 | * @param array $field_group The field group settings. 36 | * @return bool 37 | */ 38 | public function match( $rule, $screen, $field_group ) { 39 | 40 | // Check screen args. 41 | if ( isset( $screen['taxonomy'] ) ) { 42 | $taxonomy = $screen['taxonomy']; 43 | } else { 44 | return false; 45 | } 46 | 47 | // Compare rule against $taxonomy. 48 | return $this->compare_to_rule( $taxonomy, $rule ); 49 | } 50 | 51 | /** 52 | * Returns an array of possible values for this rule type. 53 | * 54 | * @date 9/4/20 55 | * @since 5.9.0 56 | * 57 | * @param array $rule A location rule. 58 | * @return array 59 | */ 60 | public function get_values( $rule ) { 61 | return array_merge( 62 | array( 63 | 'all' => __( 'All', 'acf' ), 64 | ), 65 | acf_get_taxonomy_labels() 66 | ); 67 | } 68 | 69 | /** 70 | * Returns the object_subtype connected to this location. 71 | * 72 | * @date 1/4/20 73 | * @since 5.9.0 74 | * 75 | * @param array $rule A location rule. 76 | * @return string|array 77 | */ 78 | function get_object_subtype( $rule ) { 79 | if ( $rule['operator'] === '==' ) { 80 | return $rule['value']; 81 | } 82 | return ''; 83 | } 84 | 85 | } 86 | 87 | // initialize 88 | acf_register_location_type( 'ACF_Location_Taxonomy' ); 89 | 90 | endif; // class_exists check 91 | -------------------------------------------------------------------------------- /includes/locations/class-acf-location-user-form.php: -------------------------------------------------------------------------------- 1 | name = 'user_form'; 22 | $this->label = __( 'User Form', 'acf' ); 23 | $this->category = 'user'; 24 | $this->object_type = 'user'; 25 | } 26 | 27 | /** 28 | * Matches the provided rule against the screen args returning a bool result. 29 | * 30 | * @date 9/4/20 31 | * @since 5.9.0 32 | * 33 | * @param array $rule The location rule. 34 | * @param array $screen The screen args. 35 | * @param array $field_group The field group settings. 36 | * @return bool 37 | */ 38 | public function match( $rule, $screen, $field_group ) { 39 | // REST API has no forms, so we should always allow it. 40 | if ( ! empty( $screen['rest'] ) ) { 41 | return true; 42 | } 43 | 44 | // Check screen args. 45 | if ( isset( $screen['user_form'] ) ) { 46 | $user_form = $screen['user_form']; 47 | } else { 48 | return false; 49 | } 50 | 51 | // The "Add / Edit" choice (foolishly valued "edit") should match true for either "add" or "edit". 52 | if ( $rule['value'] === 'edit' && $user_form === 'add' ) { 53 | $user_form = 'edit'; 54 | } 55 | 56 | // Compare rule against $user_form. 57 | return $this->compare_to_rule( $user_form, $rule ); 58 | } 59 | 60 | /** 61 | * Returns an array of possible values for this rule type. 62 | * 63 | * @date 9/4/20 64 | * @since 5.9.0 65 | * 66 | * @param array $rule A location rule. 67 | * @return array 68 | */ 69 | public function get_values( $rule ) { 70 | return array( 71 | 'all' => __( 'All', 'acf' ), 72 | 'add' => __( 'Add', 'acf' ), 73 | 'edit' => __( 'Add / Edit', 'acf' ), 74 | 'register' => __( 'Register', 'acf' ), 75 | ); 76 | } 77 | } 78 | 79 | // Register. 80 | acf_register_location_type( 'ACF_Location_User_Form' ); 81 | 82 | endif; // class_exists check 83 | -------------------------------------------------------------------------------- /includes/locations/class-acf-location-user-role.php: -------------------------------------------------------------------------------- 1 | name = 'user_role'; 24 | $this->label = __( 'User Role', 'acf' ); 25 | $this->category = 'user'; 26 | $this->object_type = 'user'; 27 | } 28 | 29 | /** 30 | * Matches the provided rule against the screen args returning a bool result. 31 | * 32 | * @date 9/4/20 33 | * @since 5.9.0 34 | * 35 | * @param array $rule The location rule. 36 | * @param array $screen The screen args. 37 | * @param array $field_group The field group settings. 38 | * @return bool 39 | */ 40 | public function match( $rule, $screen, $field_group ) { 41 | 42 | // Check screen args. 43 | if ( isset( $screen['user_role'] ) ) { 44 | $user_role = $screen['user_role']; 45 | } elseif ( isset( $screen['user_id'] ) ) { 46 | $user_id = $screen['user_id']; 47 | $user_role = ''; 48 | 49 | // Determine $user_role from $user_id. 50 | if ( $user_id === 'new' ) { 51 | $user_role = get_option( 'default_role' ); 52 | 53 | // Check if user can, and if so, set the value allowing them to match. 54 | } elseif ( user_can( $user_id, $rule['value'] ) ) { 55 | $user_role = $rule['value']; 56 | } 57 | } else { 58 | return false; 59 | } 60 | 61 | // Compare rule against $user_role. 62 | return $this->compare_to_rule( $user_role, $rule ); 63 | } 64 | 65 | /** 66 | * Returns an array of possible values for this rule type. 67 | * 68 | * @date 9/4/20 69 | * @since 5.9.0 70 | * 71 | * @param array $rule A location rule. 72 | * @return array 73 | */ 74 | public function get_values( $rule ) { 75 | global $wp_roles; 76 | return array_merge( 77 | array( 78 | 'all' => __( 'All', 'acf' ), 79 | ), 80 | $wp_roles->get_names() 81 | ); 82 | } 83 | } 84 | 85 | // initialize 86 | acf_register_location_type( 'ACF_Location_User_Role' ); 87 | 88 | endif; // class_exists check 89 | -------------------------------------------------------------------------------- /includes/locations/class-acf-location-widget.php: -------------------------------------------------------------------------------- 1 | name = 'widget'; 22 | $this->label = __( 'Widget', 'acf' ); 23 | $this->category = 'forms'; 24 | $this->object_type = 'widget'; 25 | } 26 | 27 | /** 28 | * Matches the provided rule against the screen args returning a bool result. 29 | * 30 | * @date 9/4/20 31 | * @since 5.9.0 32 | * 33 | * @param array $rule The location rule. 34 | * @param array $screen The screen args. 35 | * @param array $field_group The field group settings. 36 | * @return bool 37 | */ 38 | public function match( $rule, $screen, $field_group ) { 39 | 40 | // Check screen args. 41 | if ( isset( $screen['widget'] ) ) { 42 | $widget = $screen['widget']; 43 | } else { 44 | return false; 45 | } 46 | 47 | // Compare rule against $widget. 48 | return $this->compare_to_rule( $widget, $rule ); 49 | } 50 | 51 | /** 52 | * Returns an array of possible values for this rule type. 53 | * 54 | * @date 9/4/20 55 | * @since 5.9.0 56 | * 57 | * @param array $rule A location rule. 58 | * @return array 59 | */ 60 | public function get_values( $rule ) { 61 | global $wp_widget_factory; 62 | 63 | // Populate choices. 64 | $choices = array( 65 | 'all' => __( 'All', 'acf' ), 66 | ); 67 | if ( $wp_widget_factory->widgets ) { 68 | foreach ( $wp_widget_factory->widgets as $widget ) { 69 | $choices[ $widget->id_base ] = $widget->name; 70 | } 71 | } 72 | return $choices; 73 | } 74 | } 75 | 76 | // initialize 77 | acf_register_location_type( 'ACF_Location_Widget' ); 78 | 79 | endif; // class_exists check 80 | -------------------------------------------------------------------------------- /includes/rest-api.php: -------------------------------------------------------------------------------- 1 | hook_link_handlers(); 25 | } 26 | 27 | /** 28 | * Hook into all REST-enabled post type, taxonomy, and the user controllers in order to prepare links. 29 | */ 30 | private function hook_link_handlers() { 31 | foreach ( get_post_types( array( 'show_in_rest' => true ) ) as $post_type ) { 32 | add_filter( "rest_prepare_{$post_type}", array( $this, 'load_item_links' ), 10, 3 ); 33 | } 34 | 35 | foreach ( get_taxonomies( array( 'show_in_rest' => true ) ) as $taxonomy ) { 36 | add_filter( "rest_prepare_{$taxonomy}", array( $this, 'load_item_links' ), 10, 3 ); 37 | } 38 | 39 | add_filter( 'rest_prepare_user', array( $this, 'load_item_links' ), 10, 3 ); 40 | } 41 | 42 | /** 43 | * Add links to internal property for subsequent use in \ACF_Rest_Embed_Links::load_item_links(). 44 | * 45 | * @param $post_id 46 | * @param array $field 47 | */ 48 | public function prepare_links( $post_id, array $field ) { 49 | $links = acf_get_field_rest_links( $post_id, $field ); 50 | if ( ! $links ) { 51 | return; 52 | } 53 | 54 | foreach ( $links as $link ) { 55 | // If required array keys are not provided, skip. 56 | if ( empty( $link['rel'] ) or empty( $link['href'] ) ) { 57 | continue; 58 | } 59 | 60 | // Use the 'rel' and 'href' to for a key. The key only prevents against the same object 61 | // appearing more than once within the same 'rel' property. 62 | $this->links[ $link['rel'] . ':' . $link['href'] ] = $link; 63 | } 64 | } 65 | 66 | /** 67 | * Hook into the rest_prepare_{$type} filters and add links for the object being prepared. 68 | * 69 | * @param WP_REST_Response $response 70 | * @param WP_Post|WP_User|WP_Term $item 71 | * @param WP_REST_Request $request 72 | * @return WP_REST_Response 73 | */ 74 | public function load_item_links( $response, $item, $request ) { 75 | if ( empty( $this->links ) ) { 76 | return $response; 77 | } 78 | 79 | while ( $attributes = array_pop( $this->links ) ) { 80 | $response->add_link( 81 | acf_extract_var( $attributes, 'rel' ), 82 | acf_extract_var( $attributes, 'href' ), 83 | $attributes 84 | ); 85 | } 86 | 87 | // Reset the links prop. 88 | $this->links = array(); 89 | 90 | return $response; 91 | } 92 | 93 | } 94 | -------------------------------------------------------------------------------- /lang/acf-ar.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-ar.mo -------------------------------------------------------------------------------- /lang/acf-bg_BG.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-bg_BG.mo -------------------------------------------------------------------------------- /lang/acf-ca.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-ca.mo -------------------------------------------------------------------------------- /lang/acf-cs_CZ.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-cs_CZ.mo -------------------------------------------------------------------------------- /lang/acf-de_CH.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-de_CH.mo -------------------------------------------------------------------------------- /lang/acf-de_DE.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-de_DE.mo -------------------------------------------------------------------------------- /lang/acf-de_DE_formal.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-de_DE_formal.mo -------------------------------------------------------------------------------- /lang/acf-el.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-el.mo -------------------------------------------------------------------------------- /lang/acf-en_CA.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-en_CA.mo -------------------------------------------------------------------------------- /lang/acf-en_GB.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-en_GB.mo -------------------------------------------------------------------------------- /lang/acf-en_ZA.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-en_ZA.mo -------------------------------------------------------------------------------- /lang/acf-es_CO.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-es_CO.mo -------------------------------------------------------------------------------- /lang/acf-es_CR.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-es_CR.mo -------------------------------------------------------------------------------- /lang/acf-es_EC.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-es_EC.mo -------------------------------------------------------------------------------- /lang/acf-es_ES.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-es_ES.mo -------------------------------------------------------------------------------- /lang/acf-es_MX.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-es_MX.mo -------------------------------------------------------------------------------- /lang/acf-es_VE.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-es_VE.mo -------------------------------------------------------------------------------- /lang/acf-fa_IR.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-fa_IR.mo -------------------------------------------------------------------------------- /lang/acf-fi.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-fi.mo -------------------------------------------------------------------------------- /lang/acf-fr_CA.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-fr_CA.mo -------------------------------------------------------------------------------- /lang/acf-fr_FR.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-fr_FR.mo -------------------------------------------------------------------------------- /lang/acf-gl_ES.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-gl_ES.mo -------------------------------------------------------------------------------- /lang/acf-gu.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-gu.mo -------------------------------------------------------------------------------- /lang/acf-he_IL.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-he_IL.mo -------------------------------------------------------------------------------- /lang/acf-hr.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-hr.mo -------------------------------------------------------------------------------- /lang/acf-hu_HU.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-hu_HU.mo -------------------------------------------------------------------------------- /lang/acf-id_ID.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-id_ID.mo -------------------------------------------------------------------------------- /lang/acf-it_IT.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-it_IT.mo -------------------------------------------------------------------------------- /lang/acf-ja.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-ja.mo -------------------------------------------------------------------------------- /lang/acf-ko_KR.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-ko_KR.mo -------------------------------------------------------------------------------- /lang/acf-nb_NO.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-nb_NO.mo -------------------------------------------------------------------------------- /lang/acf-nl_BE.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-nl_BE.mo -------------------------------------------------------------------------------- /lang/acf-nl_NL.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-nl_NL.mo -------------------------------------------------------------------------------- /lang/acf-nl_NL_formal.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-nl_NL_formal.mo -------------------------------------------------------------------------------- /lang/acf-pl_PL.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-pl_PL.mo -------------------------------------------------------------------------------- /lang/acf-pt_AO.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-pt_AO.mo -------------------------------------------------------------------------------- /lang/acf-pt_BR.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-pt_BR.mo -------------------------------------------------------------------------------- /lang/acf-pt_PT.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-pt_PT.mo -------------------------------------------------------------------------------- /lang/acf-ro_RO.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-ro_RO.mo -------------------------------------------------------------------------------- /lang/acf-ru_RU.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-ru_RU.mo -------------------------------------------------------------------------------- /lang/acf-sk_SK.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-sk_SK.mo -------------------------------------------------------------------------------- /lang/acf-sv_SE.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-sv_SE.mo -------------------------------------------------------------------------------- /lang/acf-tr_TR.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-tr_TR.mo -------------------------------------------------------------------------------- /lang/acf-uk.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-uk.mo -------------------------------------------------------------------------------- /lang/acf-zh_CN.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-zh_CN.mo -------------------------------------------------------------------------------- /lang/acf-zh_TW.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geoclaps/advanced-custom-fields-pro/0dc4d8c1a71e3d242325a0a1450c06ab83365563/lang/acf-zh_TW.mo -------------------------------------------------------------------------------- /pro/admin/views/acf-ui-options-page/basic-settings.php: -------------------------------------------------------------------------------- 1 | __( 'Page Title', 'acf' ), 7 | /* translators: example options page name */ 8 | 'placeholder' => __( 'Site Settings', 'acf' ), 9 | 'type' => 'text', 10 | 'name' => 'page_title', 11 | 'key' => 'page_title', 12 | 'class' => 'acf_options_page_title acf_slugify_to_key', 13 | 'prefix' => 'acf_ui_options_page', 14 | 'value' => $acf_ui_options_page['page_title'], 15 | 'required' => true, 16 | ), 17 | 'div', 18 | 'field' 19 | ); 20 | 21 | acf_render_field_wrap( 22 | array( 23 | 'label' => __( 'Menu Slug', 'acf' ), 24 | 'type' => 'text', 25 | 'name' => 'menu_slug', 26 | 'key' => 'menu_slug', 27 | 'class' => 'acf-options-page-menu_slug acf_slugified_key', 28 | 'prefix' => 'acf_ui_options_page', 29 | 'value' => $acf_ui_options_page['menu_slug'], 30 | 'required' => true, 31 | ), 32 | 'div', 33 | 'field' 34 | ); 35 | 36 | acf_render_field_wrap( 37 | array( 38 | 'label' => __( 'Parent Page', 'acf' ), 39 | 'type' => 'select', 40 | 'name' => 'parent_slug', 41 | 'key' => 'parent_slug', 42 | 'class' => 'acf-options-page-parent_slug', 43 | 'prefix' => 'acf_ui_options_page', 44 | 'value' => $acf_ui_options_page['parent_slug'], 45 | 'choices' => ACF_Admin_UI_Options_Page::get_parent_page_choices( $acf_ui_options_page['menu_slug'] ), 46 | 'required' => true, 47 | ), 48 | 'div', 49 | 'field' 50 | ); 51 | 52 | do_action( 'acf/post_type/basic_settings', $acf_ui_options_page ); 53 | 54 | acf_render_field_wrap( array( 'type' => 'seperator' ) ); 55 | 56 | acf_render_field_wrap( 57 | array( 58 | 'label' => __( 'Advanced Configuration', 'acf' ), 59 | 'instructions' => __( 'I know what I\'m doing, show me all the options.', 'acf' ), 60 | 'type' => 'true_false', 61 | 'name' => 'advanced_configuration', 62 | 'key' => 'advanced_configuration', 63 | 'prefix' => 'acf_ui_options_page', 64 | 'value' => $acf_ui_options_page['advanced_configuration'], 65 | 'ui' => 1, 66 | 'class' => 'acf-advanced-settings-toggle', 67 | ) 68 | ); 69 | 70 | ?> 71 |
72 | 73 |
74 | 2 | __( 'Page Title', 'acf' ), 17 | /* translators: example options page name */ 18 | 'placeholder' => __( 'Site Settings', 'acf' ), 19 | 'value' => $acf_options_page_prefilled_title, 20 | 'type' => 'text', 21 | 'name' => 'page_title', 22 | 'key' => 'page_title', 23 | 'class' => 'acf_options_page_title acf_slugify_to_key', 24 | 'prefix' => 'acf_ui_options_page', 25 | 'required' => true, 26 | ), 27 | 'div', 28 | 'field' 29 | ); 30 | 31 | acf_render_field_wrap( 32 | array( 33 | 'label' => __( 'Menu Slug', 'acf' ), 34 | 'type' => 'text', 35 | 'name' => 'menu_slug', 36 | 'key' => 'menu_slug', 37 | 'class' => 'acf-options-page-menu_slug acf_slugified_key', 38 | 'prefix' => 'acf_ui_options_page', 39 | 'required' => true, 40 | ), 41 | 'div', 42 | 'field' 43 | ); 44 | 45 | acf_render_field_wrap( 46 | array( 47 | 'label' => __( 'Parent Page', 'acf' ), 48 | 'type' => 'select', 49 | 'name' => 'parent_slug', 50 | 'key' => 'parent_slug', 51 | 'class' => 'acf-options-page-parent_slug', 52 | 'prefix' => 'acf_ui_options_page', 53 | 'choices' => $acf_parent_page_choices, 54 | 'required' => true, 55 | ), 56 | 'div', 57 | 'field' 58 | ); 59 | ?> 60 | 61 |
62 | 63 | 64 |
65 | 66 | 67 | -------------------------------------------------------------------------------- /pro/admin/views/acf-ui-options-page/list-empty.php: -------------------------------------------------------------------------------- 1 | options pages are custom admin pages for managing global settings via fields. You can create multiple pages and sub-pages.', 'acf' ), 5 | acf_add_url_utm_tags( 'https://www.advancedcustomfields.com/resources/options-page/', 'docs', 'no-options-pages' ) 6 | ); 7 | 8 | $acf_getting_started = sprintf( 9 | /* translators: %s url to getting started guide */ 10 | __( 'New to ACF? Take a look at our getting started guide.', 'acf' ), 11 | acf_add_url_utm_tags( 'https://www.advancedcustomfields.com/resources/getting-started-with-acf/', 'docs', 'no-options-pages' ) 12 | ); 13 | ?> 14 | 15 |
16 |
17 | 18 |

19 |

20 | 21 |

22 |
23 |
24 | -------------------------------------------------------------------------------- /pro/admin/views/html-options-page.php: -------------------------------------------------------------------------------- 1 |
2 | 3 |

4 | 5 |
6 | 7 | 'options', 13 | 'post_id' => $post_id, 14 | ) 15 | ); 16 | 17 | wp_nonce_field( 'meta-box-order', 'meta-box-order-nonce', false ); 18 | wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false ); 19 | 20 | ?> 21 | 22 |
23 | 24 |
25 | 26 |
27 | 28 | 29 | 30 |
31 | 32 |
33 | 34 | 35 | 36 |
37 | 38 |
39 | 40 |
41 | 42 |
43 | 44 |
45 | 46 |
47 | -------------------------------------------------------------------------------- /pro/locations/class-acf-location-block.php: -------------------------------------------------------------------------------- 1 | name = 'block'; 22 | $this->label = __( 'Block', 'acf' ); 23 | $this->category = 'forms'; 24 | $this->object_type = 'block'; 25 | } 26 | 27 | /** 28 | * Matches the provided rule against the screen args returning a bool result. 29 | * 30 | * @date 9/4/20 31 | * @since 5.9.0 32 | * 33 | * @param array $rule The location rule. 34 | * @param array $screen The screen args. 35 | * @param array $field_group The field group settings. 36 | * @return bool 37 | */ 38 | public function match( $rule, $screen, $field_group ) { 39 | 40 | // Check screen args. 41 | if ( isset( $screen['block'] ) ) { 42 | $block = $screen['block']; 43 | } else { 44 | return false; 45 | } 46 | 47 | // Compare rule against $block. 48 | return $this->compare_to_rule( $block, $rule ); 49 | } 50 | 51 | /** 52 | * Returns an array of possible values for this rule type. 53 | * 54 | * @date 9/4/20 55 | * @since 5.9.0 56 | * 57 | * @param array $rule A location rule. 58 | * @return array 59 | */ 60 | public function get_values( $rule ) { 61 | $choices = array(); 62 | 63 | // Append block types. 64 | $blocks = acf_get_block_types(); 65 | if ( $blocks ) { 66 | $choices['all'] = __( 'All', 'acf' ); 67 | foreach ( $blocks as $block ) { 68 | $choices[ $block['name'] ] = $block['title']; 69 | } 70 | } else { 71 | $choices[''] = __( 'No block types exist', 'acf' ); 72 | } 73 | 74 | // Return choices. 75 | return $choices; 76 | } 77 | } 78 | 79 | // initialize 80 | acf_register_location_type( 'ACF_Location_Block' ); 81 | 82 | endif; // class_exists check 83 | -------------------------------------------------------------------------------- /pro/locations/class-acf-location-options-page.php: -------------------------------------------------------------------------------- 1 | name = 'options_page'; 22 | $this->label = __( 'Options Page', 'acf' ); 23 | $this->category = 'forms'; 24 | $this->object_type = 'option'; 25 | } 26 | 27 | /** 28 | * Matches the provided rule against the screen args returning a bool result. 29 | * 30 | * @date 9/4/20 31 | * @since 5.9.0 32 | * 33 | * @param array $rule The location rule. 34 | * @param array $screen The screen args. 35 | * @param array $field_group The field group settings. 36 | * @return bool 37 | */ 38 | public function match( $rule, $screen, $field_group ) { 39 | 40 | // Check screen args. 41 | if ( isset( $screen['options_page'] ) ) { 42 | $options_page = $screen['options_page']; 43 | } else { 44 | return false; 45 | } 46 | 47 | // Compare rule against $nav_menu. 48 | return $this->compare_to_rule( $options_page, $rule ); 49 | } 50 | 51 | /** 52 | * Returns an array of possible values for this rule type. 53 | * 54 | * @date 9/4/20 55 | * @since 5.9.0 56 | * 57 | * @param array $rule A location rule. 58 | * @return array 59 | */ 60 | public function get_values( $rule ) { 61 | $choices = array(); 62 | 63 | // Append pages. 64 | $pages = acf_get_options_pages(); 65 | if ( $pages ) { 66 | foreach ( $pages as $page ) { 67 | $choices[ $page['menu_slug'] ] = $page['page_title']; 68 | } 69 | } else { 70 | $choices[''] = __( 'Select options page...', 'acf' ); 71 | } 72 | 73 | if ( acf_get_setting( 'enable_options_pages_ui' ) ) { 74 | $choices['add_new_options_page'] = __( 'Add New Options Page', 'acf' ); 75 | } 76 | 77 | // Return choices. 78 | return $choices; 79 | } 80 | } 81 | 82 | // initialize 83 | acf_register_location_type( 'ACF_Location_Options_Page' ); 84 | 85 | endif; // class_exists check 86 | -------------------------------------------------------------------------------- /vendor/polyfill-unserialize/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016-2019 Denis Brumann 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /vendor/polyfill-unserialize/src/Unserialize.php: -------------------------------------------------------------------------------- 1 | = 70000) { 18 | return \unserialize($serialized, $options); 19 | } 20 | if (!array_key_exists('allowed_classes', $options) || true === $options['allowed_classes']) { 21 | return \unserialize($serialized); 22 | } 23 | $allowedClasses = $options['allowed_classes']; 24 | if (false === $allowedClasses) { 25 | $allowedClasses = array(); 26 | } 27 | if (!is_array($allowedClasses)) { 28 | $allowedClasses = array(); 29 | trigger_error( 30 | 'unserialize(): allowed_classes option should be array or boolean', 31 | E_USER_WARNING 32 | ); 33 | } 34 | 35 | $worker = new DisallowedClassesSubstitutor($serialized, $allowedClasses); 36 | 37 | return \unserialize($worker->getSubstitutedSerialized()); 38 | } 39 | } 40 | --------------------------------------------------------------------------------