Hello!'; echo '

This plugin to select the Zip-code for the state and city.

'; ?>


' . $postType . '
'; } } $rest = substr($str_val, 0, strlen($str_val)-2); } ?>
prefix . "zipcodes"; if($wpdb->get_var("show tables like '$table_name'") != $table_name) { $sql = "CREATE TABLE " . $table_name . " ( `zip` char(5) NOT NULL, `city` varchar(64) DEFAULT NULL, `state` char(2) DEFAULT NULL, `latitude` float DEFAULT NULL, `longitude` float NOT NULL, `timezone` int(11) DEFAULT NULL, `dst` int(20) NOT NULL, PRIMARY KEY (`zip`) );"; require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); dbDelta($sql); } $file_db = plugins_url('zip-codes/wpm_zip.sql'); $input_data_to_table = file_get_contents($file_db); $rows_affected = $wpdb->query( $input_data_to_table ); } /* Add Zip-codes rows to post */ add_action('add_meta_boxes', 'add_zips_blocks_to_post'); function add_zips_blocks_to_post() { $postTypes = get_post_types( '', 'names' ); foreach ( $postTypes as $postType ) { if ( get_option($postType) == 'yes' ) { add_meta_box( 'savesZip', 'Your zip-codes', 'get_data_from_db', $postType ); } } } /* Get states from db */ function get_data_from_db() { global $wpdb; $currentPost = get_the_id(); $data = array('-- Select State --'); $states = $wpdb->get_results( 'SELECT DISTINCT state FROM wp_zipcodes' ); ?>
'; echo '
'; echo ''; echo '
'; error_log( print_R( $zipFields, true ) ); if ($zipFields[0]) { foreach ($zipFields[0] as $key => $value) { $draw_state_block = '
'; $draw_city_block = '
'; $draw_zip_block = '
'; $draw_btn = ''; echo '
' . $draw_state_block . $draw_city_block . $draw_zip_block . $draw_btn . '
'; } } echo '
'; } /* Get cities from db */ add_action( 'wp_ajax_addCities', 'prefix_ajax_addCities' ); add_action( 'wp_ajax_nopriv_addCities', 'prefix_ajax_addCities' ); function prefix_ajax_addCities() { global $wpdb; $currentState = $_POST['state']; $cities = $wpdb->get_results( 'SELECT DISTINCT city FROM wp_zipcodes WHERE state = "' . $currentState . '"' ); if ($cities) { echo ''; foreach ($cities as $city) { echo ''; } } } /* Get zip from db */ add_action( 'wp_ajax_addZip', 'prefix_ajax_addZip' ); add_action( 'wp_ajax_nopriv_addZip', 'prefix_ajax_addZip' ); function prefix_ajax_addZip() { global $wpdb; $currentState = $_POST['city']; $zips = $wpdb->get_results( 'SELECT DISTINCT zip FROM wp_zipcodes WHERE city = "' . $currentState . '"' ); if ($zips) { echo ''; foreach ($zips as $zip) { echo ''; } } } /* Save zip meta*/ add_action( 'save_post', 'save_zip_meta', 10, 3 ); function save_zip_meta( $post_id, $post, $update ) { $zipFields = $_REQUEST['data']; update_post_meta( $post_id, 'zipFields', $zipFields ); } /* Cleaning db after delete plugin */ register_deactivation_hook( __FILE__, 'clean_after_deactivate' ); function clean_after_deactivate( ) { global $wpdb; $wpdb->query('DROP TABLE IF EXISTS wp_zipcodes'); }