コード例 #1
0
function colabs_display_location_meta_box()
{
    global $post, $key;
    ?>
<div>	
	<?php 
    wp_nonce_field(plugin_basename(__FILE__), $key . '_wpnonce', false, true);
    ?>
	
	<div id="geolocation_box">
	
		<?php 
    $geo_address = get_post_meta($post->ID, 'geo_address', true);
    $colabs_geo_latitude = get_post_meta($post->ID, '_colabs_geo_latitude', true);
    $colabs_geo_longitude = get_post_meta($post->ID, '_colabs_geo_longitude', true);
    if (isset($geo_address) && $geo_address != '') {
    } else {
        $geo_address = '';
    }
    if ($colabs_geo_latitude && $colabs_geo_longitude) {
        $colabs_address = colabs_reverse_geocode($colabs_geo_latitude, $colabs_geo_longitude);
        $colabs_address = $colabs_address['address'];
    } else {
        $colabs_address = 'Anywhere';
    }
    ?>
	
		<div>
		<input type="text" class="text" name="colabs_address" id="geolocation-address" autocomplete="off" value="<?php 
    echo $geo_address;
    ?>
" /><label><input id="geolocation-load" type="button" class="button geolocationadd" value="<?php 
    _e('Find', 'colabsthemes');
    ?>
" /></label>
		<input type="hidden" class="text" name="colabs_geo_latitude" id="geolocation-latitude" value="<?php 
    echo $colabs_geo_latitude;
    ?>
" />
		<input type="hidden" class="text" name="colabs_geo_longitude" id="geolocation-longitude" value="<?php 
    echo $colabs_geo_longitude;
    ?>
" />
		</div>

		<div id="map_wrap" style="margin-top:5px; border:solid 2px #ddd;"><div id="geolocation-map" style="width:100%;min-height:200px;" ></div></div>
	
	</div>
	
	<p><strong><?php 
    _e('Current location:', 'colabsthemes');
    ?>
</strong><br/><?php 
    echo $colabs_address;
    if ($colabs_geo_latitude && $colabs_geo_longitude) {
        echo '<br/><em>Latitude:</em> ' . $colabs_geo_latitude;
        echo '<br/><em>Longitude:</em> ' . $colabs_geo_longitude;
    }
    ?>
</p>
</div>	
	<?php 
}
コード例 #2
0
function colabs_child_save_meta_box($post_id)
{
    global $post, $property_details_child, $key;
    //if ( !isset($_POST[ $key . '_wpnonce' ] ) ) return $post_id;
    //if ( !wp_verify_nonce( $_POST[ $key . '_wpnonce' ], 'colabs_property_details_nounce' ) ) return $post_id;
    if (!current_user_can('edit_post', $post_id)) {
        return $post_id;
    }
    if (isset($_POST['action']) && 'editpost' == $_POST['action'] && COLABS_POST_TYPE == $post->post_type) {
        colabs_custom_meta_save_handler($post_id, $property_details_child);
        $attachment_ids = array_filter(explode(',', sanitize_text_field($_POST['property_image_gallery'])));
        update_post_meta($post_id, '_property_image_gallery', implode(',', $attachment_ids));
        update_post_meta($post_id, 'property_unique_key', $_POST['property_unique_key']);
        $property_status = empty($_POST['property-status']) ? 'sale' : sanitize_title(stripslashes($_POST['property-status']));
        wp_set_object_terms($post_id, $property_status, COLABS_TAX_STATUS);
        if ('rent' == $property_status || 'rented' == $property_status) {
            update_post_meta($post_id, 'property_price_periode', $_POST['property_price_periode']);
            update_post_meta($post_id, 'property_price_day_low', $_POST['property_price_day_low']);
            update_post_meta($post_id, 'property_price_day_med', $_POST['property_price_day_med']);
            update_post_meta($post_id, 'property_price_day_high', $_POST['property_price_day_high']);
        }
    }
    // Update location
    if (!empty($_POST['colabs_address'])) {
        $latitude = colabs_clean_coordinate($_POST['colabs_geo_latitude']);
        $longitude = colabs_clean_coordinate($_POST['colabs_geo_longitude']);
        update_post_meta($post_id, '_colabs_geo_latitude', $latitude);
        update_post_meta($post_id, '_colabs_geo_longitude', $longitude);
        if ($latitude && $longitude) {
            $address = colabs_reverse_geocode($latitude, $longitude);
            update_post_meta($post_id, 'geo_address', $address['address']);
            update_post_meta($post_id, 'geo_country', $address['country']);
            update_post_meta($post_id, 'geo_short_address', $address['short_address']);
            update_post_meta($post_id, 'geo_short_address_country', $address['short_address_country']);
            update_post_meta($post_id, 'geo_long_address', $address['long_address']);
        }
    } else {
        // They left the field blank so we assume the property is for 'anywhere'
        delete_post_meta($post_id, '_colabs_geo_latitude');
        delete_post_meta($post_id, '_colabs_geo_longitude');
        delete_post_meta($post_id, 'geo_address');
        delete_post_meta($post_id, 'geo_country');
        delete_post_meta($post_id, 'geo_short_address');
        delete_post_meta($post_id, 'geo_short_address_country');
        delete_post_meta($post_id, 'geo_long_address');
    }
}