taxonomy; $action = $pagenow === 'edit-tags.php' ? 'term_footer_list' : 'term_footer_edit'; // Remove ACF Render acfe_remove_class_action("{$taxonomy}_edit_form", 'acf_form_taxonomy', 'edit_term'); // Add Metaboxes add_action("{$taxonomy}_term_edit_form_top", array($this, 'term_add_metaboxes'), 10, 2); add_action("{$taxonomy}_term_edit_form_top", array($this, 'term_do_metaboxes_top'), 99, 2); add_action("{$taxonomy}_edit_form", array($this, 'term_do_metaboxes'), 99, 2); // Footer add_action('acf/admin_footer', array($this, $action)); // Enqueue $enqueue = true; } /* * User * source: /advanced-custom-fields-pro/includes/forms/form-user.php */ elseif(acf_is_screen(array('profile', 'user-edit')) || (acf_is_screen('user') && !is_multisite())){ // vars $acf_form_user = acf_get_instance('ACF_Form_User'); $action = acf_is_screen('user') ? 'user_footer_new' : 'user_footer_edit'; // Remove ACF Render remove_action('show_user_profile', array($acf_form_user, 'render_edit')); remove_action('edit_user_profile', array($acf_form_user, 'render_edit')); remove_action('user_new_form', array($acf_form_user, 'render_new')); // Add Metaboxes add_action('show_user_profile', array($this, 'user_screen_edit')); add_action('edit_user_profile', array($this, 'user_screen_edit')); add_action('user_new_form', array($this, 'user_screen_new')); // Do Metaboxes add_action('show_user_profile', array($this, 'user_do_metaboxes'), 99); add_action('edit_user_profile', array($this, 'user_do_metaboxes'), 99); add_action('user_new_form', array($this, 'user_do_metaboxes'), 99); // Footer add_action('acf/admin_footer', array($this, $action)); // Enqueue $enqueue = true; } /* * Settings */ elseif(acf_is_screen(array('options-general', 'options-writing', 'options-reading', 'options-discussion', 'options-media', 'options-permalink'))){ // Add Metaboxes add_action('admin_footer', array($this, 'settings_add_metaboxes')); add_action('admin_footer', array($this, 'settings_do_metaboxes')); // Settings add_action('acf/admin_footer', array($this, 'settings_footer')); // Enqueue $enqueue = true; } /* * Enqueue */ if($enqueue){ // ACF Enqueue acf_enqueue_scripts(); // ACF Extended UI wp_enqueue_style('acf-extended-ui'); wp_enqueue_script('acf-extended-ui'); } } /* * Term: Add Metaboxes */ function term_add_metaboxes($term, $taxonomy){ // post id $post_id = 'term_' . $term->term_id; // screen $screen = "edit-{$taxonomy}"; // field groups $field_groups = acf_get_field_groups(array( 'taxonomy' => $taxonomy )); if($field_groups){ // form data acf_form_data(array( 'screen' => 'taxonomy', 'post_id' => $post_id, )); $this->add_metaboxes($field_groups, $post_id, $screen); } // Sidebar submit add_meta_box('submitdiv', __('Edit'), array($this, 'render_metabox_submit'), $screen, 'side', 'high'); } /* * Term: Do Metaboxes */ function term_do_metaboxes_top($term, $taxonomy){ do_meta_boxes(get_current_screen(), 'acf_after_title', $term); } /* * Term: Do Metaboxes */ function term_do_metaboxes($term, $taxonomy){ do_meta_boxes(get_current_screen(), 'normal', $term); do_meta_boxes(get_current_screen(), 'side', $term); } /* * Term: Footer List */ function term_footer_list(){ global $tax; $can_edit_terms = current_user_can($tax->cap->edit_terms); ?>
user_add_metaboxes(array( 'user_id' => $user->ID, 'view' => 'edit' )); } /* * User: Screen New */ function user_screen_new(){ // Multisite uses a different 'user-new.php' form. Don't render fields here if(is_multisite()){ return; } // render $this->user_add_metaboxes(array( 'user_id' => 0, 'view' => 'add' )); } /* * User: Add Metaboxes */ function user_add_metaboxes($args = array()){ // Native ACF Form user $acf_form_user = acf_get_instance('ACF_Form_User'); // Allow $_POST data to persist across form submission attempts. if(isset($_POST['acf'])){ add_filter('acf/pre_load_value', array($acf_form_user, 'filter_pre_load_value'), 10, 3); } // args $args = wp_parse_args($args, array( 'user_id' => 0, 'view' => 'edit' )); // screen $screen = 'user'; // new if($args['view'] == 'edit'){ $screen = IS_PROFILE_PAGE ? 'profile' : 'user-edit'; } // post id $post_id = 'user_' . $args['user_id']; // field groups $field_groups = acf_get_field_groups(array( 'user_id' => $args['user_id'] ? $args['user_id'] : 'new', 'user_form' => $args['view'] )); if($field_groups){ // form data acf_form_data(array( 'screen' => 'user', 'post_id' => $post_id, 'validation' => ($args['view'] == 'register') ? 0 : 1 )); $this->add_metaboxes($field_groups, $post_id, $screen); // actions add_action('acf/input/admin_footer', array($acf_form_user, 'admin_footer'), 10, 1); } // Sidebar submit add_meta_box('submitdiv', __('Edit'), array($this, 'render_metabox_submit'), $screen, 'side', 'high'); } /* * User: Do Metaboxes */ function user_do_metaboxes($user){ do_meta_boxes(get_current_screen(), 'acf_after_title', $user); do_meta_boxes(get_current_screen(), 'normal', $user); do_meta_boxes(get_current_screen(), 'side', $user); } /* * User: Footer New */ function user_footer_new(){ ?>