{file}.php]if(!function_exists('get_post_templates')) {function get_post_templates() { $themes = get_themes(); //an array of all themes in the /themes directory $theme = get_current_theme(); //the current, active theme $templates = $themes[$theme]['Template Files']; //a list of all the current theme's template files $page_templates = array (); foreach ((array)$templates as $template ) { //this loop returns all the "post templates" $template_data = implode( '', file( WP_CONTENT_DIR.$template )); $name = ''; if ( preg_match( '|Single Post Template:(.*)$|mi', $template_data, $name ) ) { $name = $name[1]; } if ( !empty( $name ) ) { $post_templates[trim( $name )] = basename( $template ); } } return $post_templates; //return the array of Post Templates}}//build the dropdown itemsfunction page_templates_dropdown() { global $post; $post_templates = get_post_templates(); foreach ($post_templates as $template_name => $template_file) { //loop through templates, make them options if ($template_file == get_post_meta($post->ID, '_wp_post_template', true)) { $selected = ' selected="selected"'; } else { $selected = ''; } $opt = ''; echo $opt; }}//Filter the single template value, and replace it with//the template chosen by the user, if they chose one.add_filter('single_template', 'get_post_template');if(!function_exists('get_post_template')) {function get_post_template($template) { global $post; $custom_field = get_post_meta($post->ID, '_wp_post_template', true); if(!empty($custom_field) && file_exists(TEMPLATEPATH . "/{$custom_field}")) { $template = TEMPLATEPATH . "/{$custom_field}"; } return $template;}}//Everything below this is for adding the extra box//to the post edit screen so the user can choose a template//Adds a custom section to the Post edit screenadd_action('admin_menu', 'pt_add_custom_box');function pt_add_custom_box() { if(get_post_templates() && function_exists( 'add_meta_box' )) { add_meta_box( 'pt_post_templates', __( 'Single Post Template', 'pt' ), 'pt_inner_custom_box', 'post', 'normal', 'high' ); //add the boxes under the post }} //Prints the inner fields for the custom post/page sectionfunction pt_inner_custom_box() { global $post; // Use nonce for verification echo ''; // The actual fields for data entry echo '

'; echo '
';}//When the post is saved, saves our custom dataadd_action('save_post', 'pt_save_postdata', 1, 2); // save the custom fieldsfunction pt_save_postdata($post_id, $post) { // verify this came from the our screen and with proper authorization, // because save_post can be triggered at other times if ( !wp_verify_nonce( $_POST['pt_noncename'], plugin_basename(__FILE__) )) { return $post->ID; } // Is the user allowed to edit the post or page? if ( 'page' == $_POST['post_type'] ) { if ( !current_user_can( 'edit_page', $post->ID )) return $post->ID; } else { if ( !current_user_can( 'edit_post', $post->ID )) return $post->ID; } // OK, we're authenticated: we need to find and save the data // We'll put the data into an array to make it easier to loop though and save $mydata['_wp_post_template'] = $_POST['_wp_post_template']; // Add values of $mydata as custom fields foreach ($mydata as $key => $value) { //Let's cycle through the $mydata array! if( $post->post_type == 'revision' ) return; //don't store custom data twice $value = implode(',', (array)$value); //if $value is an array, make it a CSV (unlikely) if(get_post_meta($post->ID, $key, FALSE)) { //if the custom field already has a value... update_post_meta($post->ID, $key, $value); //...then just update the data } else { //if the custom field doesn't have a value... add_post_meta($post->ID, $key, $value);//...then add the data } if(!$value) delete_post_meta($post->ID, $key); //and delete if blank }}?> Whale Watching : Sea Ranch, Gualala Vacation Rentals
Sea Ranch, Gualala Vacation Rentals

Whale Watching

Twice each year we have the wonderful opportunity to see hundreds of whales pass by. The migration is from November through May. The best time to see a whale from one of our vacation homes is in March.

Grey whales migrate south in the fall to the warmer breeding grounds near Baja California, and then head north in early spring to the feeding grounds off Alaska. Most will appear only as puffs of steam in the blue sea, but grab a pair of binoculars and you’ll be amazed. Some will even come in close to the Gualala River Estuary. Additionally, some individual Grays are seen during the summer months off the northern California coast. Gray whales produce a distinctive V-shaped blow, and usually blow several times, at short intervals, before diving for 3-5 minutes.

Keep your eyes peeled as you walk, drive, hike, bike, fly or just sit for those tell tale blasts that look just slightly different than a wave crashing and linger in the air for just a moment.

whalespoutIf you’re looking for an up close adventure, try one of the following local crews:

All Aboard Adventures with Captain Tim: Charter out of Noyo Harbor in Fort Bragg for a whale watching tour the whole family can enjoy!www.allaboardadventures.com


Sea Ranch, Gualala Vacation Rentals