validate_page() ) { return; } // load acf scripts acf_enqueue_scripts(); // actions add_action('acf/input/admin_footer', array($this, 'admin_footer'), 10, 1); } /* * register_user * * description * * @type function * @date 8/10/13 * @since 5.0.0 * * @param $post_id (int) * @return $post_id (int) */ function register_user() { // update vars $this->form = '#registerform'; // render $this->render( 0, 'register', 'div' ); } /* * edit_user * * description * * @type function * @date 8/10/13 * @since 5.0.0 * * @param $post_id (int) * @return $post_id (int) */ function edit_user( $user ) { // update vars $this->form = '#your-profile'; // render $this->render( $user->ID, 'edit', 'tr' ); } /* * user_new_form * * description * * @type function * @date 8/10/13 * @since 5.0.0 * * @param $post_id (int) * @return $post_id (int) */ function user_new_form() { // update vars $this->form = '#createuser'; // render $this->render( 0, 'add', 'tr' ); } /* * render * * This function will render ACF fields for a given $post_id parameter * * @type function * @date 7/10/13 * @since 5.0.0 * * @param $user_id (int) this can be set to 0 for a new user * @param $user_form (string) used for location rule matching. edit | add | register * @param $el (string) * @return n/a */ function render( $user_id, $user_form, $el = 'tr' ) { // vars $post_id = "user_{$user_id}"; $show_title = true; // show title if( $user_form === 'register' ) $show_title = false; // args $args = array( 'user_id' => 'new', 'user_form' => $user_form ); if( $user_id ) $args['user_id'] = $user_id; // get field groups $field_groups = acf_get_field_groups( $args ); // bail early if no field groups if( empty($field_groups) ) return; // form data acf_form_data(array( 'post_id' => $post_id, 'nonce' => 'user' )); // loop foreach( $field_groups as $field_group ) { // vars $fields = acf_get_fields( $field_group ); // title if( $show_title && $field_group['style'] === 'default' ) { echo '