admin_enqueue_scripts = 'admin_enqueue_scripts'; $this->admin_head = 'admin_head'; $this->admin_footer = 'admin_footer'; $this->enqueued = false; $this->data = array(); // actions add_action('acf/save_post', array($this, 'save_post'), 10, 1); } /* * get_data * * This function will return form data * * @type function * @date 4/03/2016 * @since 5.3.2 * * @param $key (mixed) * @return (mixed) */ function get_data( $key = false ) { // vars $data = $this->data; // key if( $key && isset($data[ $key ]) ) { $data = $data[ $key ]; } // return return $data; } /* * set_data * * This function will se the form data * * @type function * @date 4/03/2016 * @since 5.3.2 * * @param $data (array) * @return (array) */ function set_data( $data ) { // defaults $data = acf_parse_args($data, array( 'post_id' => 0, // ID of current post 'nonce' => 'post', // nonce used for $_POST validation 'validation' => 1, // runs AJAX validation 'ajax' => 0, // fetches new field groups via AJAX )); // update $this->data = $data; // enqueue uploader if page allows AJAX fields to appear if( $data['ajax'] ) { add_action($this->admin_footer, 'acf_enqueue_uploader', 1); } // return return $data; } /* * enqueue * * This function will determin the actions to use for different pages * * @type function * @date 13/01/2016 * @since 5.3.2 * * @param n/a * @return n/a */ function enqueue() { // bail ealry if already enqueued if( $this->enqueued ) return; // update setting $this->enqueued = true; // global global $pagenow; // determine action hooks if( $pagenow == 'customize.php' ) { $this->admin_head = 'customize_controls_print_scripts'; $this->admin_footer = 'customize_controls_print_footer_scripts'; } elseif( $pagenow == 'wp-login.php' ) { $this->admin_enqueue_scripts = 'login_enqueue_scripts'; $this->admin_head = 'login_head'; $this->admin_footer = 'login_footer'; } elseif( !is_admin() ) { $this->admin_enqueue_scripts = 'wp_enqueue_scripts'; $this->admin_head = 'wp_head'; $this->admin_footer = 'wp_footer'; } // actions acf_maybe_add_action($this->admin_enqueue_scripts, array($this, 'admin_enqueue_scripts'), 20 ); acf_maybe_add_action($this->admin_head, array($this, 'admin_head'), 20 ); acf_maybe_add_action($this->admin_footer, array($this, 'admin_footer'), 20 ); } /* * admin_enqueue_scripts * * The acf input screen admin_enqueue_scripts * * @type function * @date 4/03/2016 * @since 5.3.2 * * @param n/a * @return n/a */ function admin_enqueue_scripts() { // scripts wp_enqueue_script('acf-input'); // styles wp_enqueue_style('acf-input'); // do action do_action('acf/input/admin_enqueue_scripts'); } /* * admin_head * * The acf input screen admin_head * * @type function * @date 4/03/2016 * @since 5.3.2 * * @param n/a * @return n/a */ function admin_head() { // do action do_action('acf/input/admin_head'); } /* * admin_footer * * The acf input screen admin_footer * * @type function * @date 4/03/2016 * @since 5.3.2 * * @param n/a * @return n/a */ function admin_footer() { // global global $wp_version; // options $o = array( 'post_id' => acf_get_form_data('post_id'), 'nonce' => wp_create_nonce( 'acf_nonce' ), 'admin_url' => admin_url(), 'ajaxurl' => admin_url( 'admin-ajax.php' ), 'ajax' => acf_get_form_data('ajax'), 'validation' => acf_get_form_data('validation'), 'wp_version' => $wp_version, 'acf_version' => acf_get_setting('version'), 'browser' => acf_get_browser(), 'locale' => get_locale(), 'rtl' => is_rtl() ); // l10n $l10n = apply_filters( 'acf/input/admin_l10n', array( 'unload' => __('The changes you made will be lost if you navigate away from this page','acf'), 'expand_details' => __('Expand Details','acf'), 'collapse_details' => __('Collapse Details','acf'), 'validation_successful' => __('Validation successful', 'acf'), 'validation_failed' => __('Validation failed', 'acf'), 'validation_failed_1' => __('1 field requires attention', 'acf'), 'validation_failed_2' => __('%d fields require attention', 'acf'), 'restricted' => __('Restricted','acf') )); ?> $v ) { // get field $field = acf_get_field( $k ); // continue if no field if( !$field ) continue; // update acf_update_value( $v, $post_id, $field ); } } } // initialize acf()->input = new acf_input(); endif; // class_exists check /* * acf_enqueue_scripts * * alias of acf()->form->enqueue() * * @type function * @date 6/10/13 * @since 5.0.0 * * @param n/a * @return n/a */ function acf_enqueue_scripts() { return acf()->input->enqueue(); } /* * acf_get_form_data * * alias of acf()->form->get_data() * * @type function * @date 6/10/13 * @since 5.0.0 * * @param n/a * @return n/a */ function acf_get_form_data( $key = false ) { return acf()->input->get_data( $key ); } /* * acf_set_form_data * * alias of acf()->form->set_data() * * @type function * @date 6/10/13 * @since 5.0.0 * * @param n/a * @return n/a */ function acf_set_form_data( $data = array() ) { return acf()->input->set_data( $data ); } /* * acf_enqueue_uploader * * This function will render a WP WYSIWYG and enqueue media * * @type function * @date 27/10/2014 * @since 5.0.9 * * @param n/a * @return n/a */ function acf_enqueue_uploader() { // bail early if doing ajax if( acf_is_ajax() ) return; // bail ealry if already run if( acf_has_done('enqueue_uploader') ) return; // enqueue media if user can upload if( current_user_can('upload_files') ) { wp_enqueue_media(); } // create dummy editor ?>
$post_id )); // hook for 3rd party customization do_action('acf/save_post', $post_id); // return return true; }