Hello!';
echo '
This plugin to select the Zip-code for the state and city.
';
?>
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');
}