Or, embed this snippet using GenerateWP WordPress Plugin.

Download

Clone

stam_state_city

State and city with population

class Service_Area_Market_Meta {

	public function __construct() {

		if ( is_admin() ) {

			add_action( 'service_area_add_form_fields',  array( $this, 'create_screen_fields'), 10, 1 );
			add_action( 'service_area_edit_form_fields', array( $this, 'edit_screen_fields' ),  10, 2 );

			add_action( 'created_service_area', array( $this, 'save_data' ), 10, 1 );
			add_action( 'edited_service_area',  array( $this, 'save_data' ), 10, 1 );

		}

	}

	public function create_screen_fields( $taxonomy ) {

		// Set default values.
		$samm_office = '';
		$samm_state = 'Texas';
		$samm_county = '';
		$samm_market = '';
		$samm_distance = '';
		$samm_population = '';

		// Form fields.
		echo '<div class="form-field term-samm_office-wrap">';
		echo '	<label for="samm_office">' . __( 'Office', 'text_domain' ) . '</label>';
		echo '	<select id="samm_office" name="samm_office">';
		echo '		<option value="" ' . selected( $samm_office, '', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Gatesville" ' . selected( $samm_office, 'Gatesville', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Killeen" ' . selected( $samm_office, 'Killeen', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Hewitt" ' . selected( $samm_office, 'Hewitt', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Round Rock" ' . selected( $samm_office, 'Round Rock', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Temple" ' . selected( $samm_office, 'Temple', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '	</select>';
		echo '	<p class="description">' . __( 'Market home office', 'text_domain' ) . '</p>';
		echo '</div>';

		echo '<div class="form-field term-samm_state-wrap">';
		echo '	<label for="samm_state">' . __( 'State', 'text_domain' ) . '</label>';
		echo '	<input type="text" id="samm_state" name="samm_state" placeholder="' . esc_attr__( 'Texas', 'text_domain' ) . '" value="' . esc_attr( $samm_state ) . '">';
		echo '	<p class="description">' . __( 'State', 'text_domain' ) . '</p>';
		echo '</div>';

		echo '<div class="form-field term-samm_county-wrap">';
		echo '	<label for="samm_county">' . __( 'County', 'text_domain' ) . '</label>';
		echo '	<select id="samm_county" name="samm_county">';
		echo '		<option value="" ' . selected( $samm_county, '', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Bell" ' . selected( $samm_county, 'Bell', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Coryell" ' . selected( $samm_county, 'Coryell', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="McLennan" ' . selected( $samm_county, 'McLennan', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Williamson" ' . selected( $samm_county, 'Williamson', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '	</select>';
		echo '	<p class="description">' . __( 'Target market county', 'text_domain' ) . '</p>';
		echo '</div>';

		echo '<div class="form-field term-samm_market-wrap">';
		echo '	<label for="samm_market">' . __( 'Market', 'text_domain' ) . '</label>';
		echo '	<select id="samm_market" name="samm_market">';
		echo '		<option value="" ' . selected( $samm_market, '', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Austin" ' . selected( $samm_market, 'Austin', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Bartlett" ' . selected( $samm_market, 'Bartlett', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Bellmead" ' . selected( $samm_market, 'Bellmead', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Belton" ' . selected( $samm_market, 'Belton', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Bruceville-Eddy" ' . selected( $samm_market, 'Bruceville-Eddy', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Cedar Park" ' . selected( $samm_market, 'Cedar Park', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Copperas Cove" ' . selected( $samm_market, 'Copperas Cove', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Florence" ' . selected( $samm_market, 'Florence', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Georgetown" ' . selected( $samm_market, 'Georgetown', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Golinda" ' . selected( $samm_market, 'Golinda', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Harker Heights" ' . selected( $samm_market, 'Harker Heights', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Holland" ' . selected( $samm_market, 'Holland', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Hutto" ' . selected( $samm_market, 'Hutto', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Jarrell" ' . selected( $samm_market, 'Jarrell', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Killeen" ' . selected( $samm_market, 'Killeen', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Lacy-Lakeview" ' . selected( $samm_market, 'Lacy-Lakeview', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Leander" ' . selected( $samm_market, 'Leander', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Liberty Hill" ' . selected( $samm_market, 'Liberty Hill', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Little River-Academy" ' . selected( $samm_market, 'Little River-Academy', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Lorena" ' . selected( $samm_market, 'Lorena', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Mart" ' . selected( $samm_market, 'Mart', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="McGregor" ' . selected( $samm_market, 'McGregor', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Moody" ' . selected( $samm_market, 'Moody', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Nolanville" ' . selected( $samm_market, 'Nolanville', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Pflugerville" ' . selected( $samm_market, 'Pflugerville', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Robinson" ' . selected( $samm_market, 'Robinson', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Salado" ' . selected( $samm_market, 'Salado', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Taylor" ' . selected( $samm_market, 'Taylor', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Temple" ' . selected( $samm_market, 'Temple', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Troy" ' . selected( $samm_market, 'Troy', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Waco" ' . selected( $samm_market, 'Waco', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Woodway" ' . selected( $samm_market, 'Woodway', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '	</select>';
		echo '	<p class="description">' . __( 'Market city name', 'text_domain' ) . '</p>';
		echo '</div>';

		echo '<div class="form-field term-samm_distance-wrap">';
		echo '	<label for="samm_distance">' . __( 'Distance', 'text_domain' ) . '</label>';
		echo '	<input type="number" id="samm_distance" name="samm_distance" placeholder="' . esc_attr__( '', 'text_domain' ) . '" value="' . esc_attr( $samm_distance ) . '">';
		echo '	<p class="description">' . __( 'Approximate distance from home office', 'text_domain' ) . '</p>';
		echo '</div>';

		echo '<div class="form-field term-samm_population-wrap">';
		echo '	<label for="samm_population">' . __( 'Population', 'text_domain' ) . '</label>';
		echo '	<input type="number" id="samm_population" name="samm_population" placeholder="' . esc_attr__( '', 'text_domain' ) . '" value="' . esc_attr( $samm_population ) . '">';
		echo '	<p class="description">' . __( 'Estimated population of target market', 'text_domain' ) . '</p>';
		echo '</div>';

	}

	public function edit_screen_fields( $term, $taxonomy ) {

		// Retrieve an existing value from the database.
		$samm_office = get_term_meta( $term->term_id, 'samm_office', true );
		$samm_state = get_term_meta( $term->term_id, 'samm_state', true );
		$samm_county = get_term_meta( $term->term_id, 'samm_county', true );
		$samm_market = get_term_meta( $term->term_id, 'samm_market', true );
		$samm_distance = get_term_meta( $term->term_id, 'samm_distance', true );
		$samm_population = get_term_meta( $term->term_id, 'samm_population', true );

		// Set default values.
		if( empty( $samm_office ) ) $samm_office = '';
		if( empty( $samm_state ) ) $samm_state = 'Texas';
		if( empty( $samm_county ) ) $samm_county = '';
		if( empty( $samm_market ) ) $samm_market = '';
		if( empty( $samm_distance ) ) $samm_distance = '';
		if( empty( $samm_population ) ) $samm_population = '';

		// Form fields.
		echo '<tr class="form-field term-samm_office-wrap">';
		echo '<th scope="row">';
		echo '	<label for="samm_office">' . __( 'Office', 'text_domain' ) . '</label>';
		echo '</th>';
		echo '<td>';
		echo '	<select id="samm_office" name="samm_office">';
		echo '		<option value="" ' . selected( $samm_office, '', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Gatesville" ' . selected( $samm_office, 'Gatesville', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Killeen" ' . selected( $samm_office, 'Killeen', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Hewitt" ' . selected( $samm_office, 'Hewitt', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Round Rock" ' . selected( $samm_office, 'Round Rock', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Temple" ' . selected( $samm_office, 'Temple', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '	</select>';
		echo '	<p class="description">' . __( 'Market home office', 'text_domain' ) . '</p>';
		echo '</td>';
		echo '</tr>';

		echo '<tr class="form-field term-samm_state-wrap">';
		echo '<th scope="row">';
		echo '	<label for="samm_state">' . __( 'State', 'text_domain' ) . '</label>';
		echo '</th>';
		echo '<td>';
		echo '	<input type="text" id="samm_state" name="samm_state" placeholder="' . esc_attr__( 'Texas', 'text_domain' ) . '" value="' . esc_attr( $samm_state ) . '">';
		echo '	<p class="description">' . __( 'State', 'text_domain' ) . '</p>';
		echo '</td>';
		echo '</tr>';

		echo '<tr class="form-field term-samm_county-wrap">';
		echo '<th scope="row">';
		echo '	<label for="samm_county">' . __( 'County', 'text_domain' ) . '</label>';
		echo '</th>';
		echo '<td>';
		echo '	<select id="samm_county" name="samm_county">';
		echo '		<option value="" ' . selected( $samm_county, '', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Bell" ' . selected( $samm_county, 'Bell', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Coryell" ' . selected( $samm_county, 'Coryell', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="McLennan" ' . selected( $samm_county, 'McLennan', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Williamson" ' . selected( $samm_county, 'Williamson', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '	</select>';
		echo '	<p class="description">' . __( 'Target market county', 'text_domain' ) . '</p>';
		echo '</td>';
		echo '</tr>';

		echo '<tr class="form-field term-samm_market-wrap">';
		echo '<th scope="row">';
		echo '	<label for="samm_market">' . __( 'Market', 'text_domain' ) . '</label>';
		echo '</th>';
		echo '<td>';
		echo '	<select id="samm_market" name="samm_market">';
		echo '		<option value="" ' . selected( $samm_market, '', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Austin" ' . selected( $samm_market, 'Austin', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Bartlett" ' . selected( $samm_market, 'Bartlett', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Bellmead" ' . selected( $samm_market, 'Bellmead', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Belton" ' . selected( $samm_market, 'Belton', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Bruceville-Eddy" ' . selected( $samm_market, 'Bruceville-Eddy', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Cedar Park" ' . selected( $samm_market, 'Cedar Park', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Copperas Cove" ' . selected( $samm_market, 'Copperas Cove', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Florence" ' . selected( $samm_market, 'Florence', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Georgetown" ' . selected( $samm_market, 'Georgetown', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Golinda" ' . selected( $samm_market, 'Golinda', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Harker Heights" ' . selected( $samm_market, 'Harker Heights', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Holland" ' . selected( $samm_market, 'Holland', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Hutto" ' . selected( $samm_market, 'Hutto', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Jarrell" ' . selected( $samm_market, 'Jarrell', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Killeen" ' . selected( $samm_market, 'Killeen', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Lacy-Lakeview" ' . selected( $samm_market, 'Lacy-Lakeview', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Leander" ' . selected( $samm_market, 'Leander', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Liberty Hill" ' . selected( $samm_market, 'Liberty Hill', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Little River-Academy" ' . selected( $samm_market, 'Little River-Academy', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Lorena" ' . selected( $samm_market, 'Lorena', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Mart" ' . selected( $samm_market, 'Mart', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="McGregor" ' . selected( $samm_market, 'McGregor', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Moody" ' . selected( $samm_market, 'Moody', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Nolanville" ' . selected( $samm_market, 'Nolanville', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Pflugerville" ' . selected( $samm_market, 'Pflugerville', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Robinson" ' . selected( $samm_market, 'Robinson', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Salado" ' . selected( $samm_market, 'Salado', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Taylor" ' . selected( $samm_market, 'Taylor', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Temple" ' . selected( $samm_market, 'Temple', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Troy" ' . selected( $samm_market, 'Troy', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Waco" ' . selected( $samm_market, 'Waco', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '		<option value="Woodway" ' . selected( $samm_market, 'Woodway', false ) . '> ' . __( '', 'text_domain' ) . '</option>';
		echo '	</select>';
		echo '	<p class="description">' . __( 'Market city name', 'text_domain' ) . '</p>';
		echo '</td>';
		echo '</tr>';

		echo '<tr class="form-field term-samm_distance-wrap">';
		echo '<th scope="row">';
		echo '	<label for="samm_distance">' . __( 'Distance', 'text_domain' ) . '</label>';
		echo '</th>';
		echo '<td>';
		echo '	<input type="number" id="samm_distance" name="samm_distance" placeholder="' . esc_attr__( '', 'text_domain' ) . '" value="' . esc_attr( $samm_distance ) . '">';
		echo '	<p class="description">' . __( 'Approximate distance from home office', 'text_domain' ) . '</p>';
		echo '</td>';
		echo '</tr>';

		echo '<tr class="form-field term-samm_population-wrap">';
		echo '<th scope="row">';
		echo '	<label for="samm_population">' . __( 'Population', 'text_domain' ) . '</label>';
		echo '</th>';
		echo '<td>';
		echo '	<input type="number" id="samm_population" name="samm_population" placeholder="' . esc_attr__( '', 'text_domain' ) . '" value="' . esc_attr( $samm_population ) . '">';
		echo '	<p class="description">' . __( 'Estimated population of target market', 'text_domain' ) . '</p>';
		echo '</td>';
		echo '</tr>';

	}

	public function save_data( $term_id ) {

		// Sanitize user input.
		$samm_new_office = isset( $_POST[ 'samm_office' ] ) ? $_POST[ 'samm_office' ] : '';
		$samm_new_state = isset( $_POST[ 'samm_state' ] ) ? sanitize_text_field( $_POST[ 'samm_state' ] ) : '';
		$samm_new_county = isset( $_POST[ 'samm_county' ] ) ? $_POST[ 'samm_county' ] : '';
		$samm_new_market = isset( $_POST[ 'samm_market' ] ) ? $_POST[ 'samm_market' ] : '';
		$samm_new_distance = isset( $_POST[ 'samm_distance' ] ) ? floatval( $_POST[ 'samm_distance' ] ) : '';
		$samm_new_population = isset( $_POST[ 'samm_population' ] ) ? floatval( $_POST[ 'samm_population' ] ) : '';

		// Update the meta field in the database.
		update_term_meta( $term_id, 'samm_office', $samm_new_office );
		update_term_meta( $term_id, 'samm_state', $samm_new_state );
		update_term_meta( $term_id, 'samm_county', $samm_new_county );
		update_term_meta( $term_id, 'samm_market', $samm_new_market );
		update_term_meta( $term_id, 'samm_distance', $samm_new_distance );
		update_term_meta( $term_id, 'samm_population', $samm_new_population );

	}

}

new Service_Area_Market_Meta;