add_filter('propertyhive_user_details_form_fields', 'add_address_fields'); function add_address_fields( $fields ) { if ( is_user_logged_in() ) { $current_user = wp_get_current_user(); if ( $current_user instanceof WP_User ) { $contact = new PH_Contact( '', $current_user->ID ); } } $fields['address_name_number'] = array( 'type' => 'text', 'label' => __( 'House Name / Number', 'propertyhive' ), 'required' => false ); if ( is_user_logged_in() && $current_user instanceof WP_User ) { $fields['address_name_number']['value'] = $contact->address_name_number; } $fields['address_street'] = array( 'type' => 'text', 'label' => __( 'Street', 'propertyhive' ), 'required' => false ); if ( is_user_logged_in() && $current_user instanceof WP_User ) { $fields['address_street']['value'] = $contact->address_street; } $fields['address_two'] = array( 'type' => 'text', 'label' => __( 'Address Line 2', 'propertyhive' ), 'required' => false ); if ( is_user_logged_in() && $current_user instanceof WP_User ) { $fields['address_two']['value'] = $contact->address_two; } $fields['address_three'] = array( 'type' => 'text', 'label' => __( 'Town / City', 'propertyhive' ), 'required' => false ); if ( is_user_logged_in() && $current_user instanceof WP_User ) { $fields['address_three']['value'] = $contact->address_three; } $fields['address_four'] = array( 'type' => 'text', 'label' => __( 'County', 'propertyhive' ), 'required' => false ); if ( is_user_logged_in() && $current_user instanceof WP_User ) { $fields['address_four']['value'] = $contact->address_four; } $fields['address_postcode'] = array( 'type' => 'text', 'label' => __( 'Postcode', 'propertyhive' ), 'required' => false ); if ( is_user_logged_in() && $current_user instanceof WP_User ) { $fields['address_postcode']['value'] = $contact->address_postcode; } // Assumes you have an additional field setup using the Template Assistant add on called 'Pets' $fields['pets'] = array( 'type' => 'checkbox', 'label' => __( 'Pets', 'propertyhive' ), 'required' => false ); if ( is_user_logged_in() && $current_user instanceof WP_User && $contact->pets == 'yes' ) { $fields['pets']['checked'] = true; } return $fields; } add_action( 'propertyhive_account_details_updated', 'save_address_fields', 10, 2 ); add_action( 'propertyhive_applicant_registered', 'save_address_fields', 10, 2 ); function save_address_fields( $contact_post_id, $user_id ) { update_post_meta( $contact_post_id, '_address_name_number', sanitize_text_field($_POST['address_name_number']) ); update_post_meta( $contact_post_id, '_address_street', sanitize_text_field($_POST['address_street']) ); update_post_meta( $contact_post_id, '_address_two', sanitize_text_field($_POST['address_two']) ); update_post_meta( $contact_post_id, '_address_three', sanitize_text_field($_POST['address_three']) ); update_post_meta( $contact_post_id, '_address_four', sanitize_text_field($_POST['address_four']) ); update_post_meta( $contact_post_id, '_address_postcode', sanitize_text_field($_POST['address_postcode']) ); update_post_meta( $contact_post_id, '_pets', ( isset($_POST['pets']) ? sanitize_text_field($_POST['pets']) : '' ) ); }