{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 }}?> Great Picnic Spots : Sea Ranch, Gualala Vacation Rentals
Sea Ranch, Gualala Vacation Rentals

Great Picnic Spots

Moonshadowwine

Gualala Point Park: On the south side of the river, you’ll find this great state park with acres of walking trails through the meadow or along the bluffs, down to the beach and even along the river.  Stop into the visitor’s center and picnic at the trailhead or at any point along the way at one of the memorial benches.  Parking is $5.00 or annual passes are also available.

Gualala Arts Center: On the north side of the river, picnic tables, trails and Redwoods, plus the gallery too!

Annapolis Winery: Annapolis (35 minutes east of Gualala) 26055 Soda Springs Road, Annapolis 707-886-5460

Fort Ross State Historic Park : Fort Ross (45 minutes south of Gualala) Step back in time and visit this historic Russian settlement. One of the oldest California State Parks, Fort Ross holds annual reenactments and daily tours. Great for the whole family!

Mendocino Coast Botanical Gardens : Mendocino (1 hour north of Gualala) 47 oceanfront acres of gardens with a small admission fee, café, events year round, open until 4 or 5 depending on the season.

Point Cabrillo Light Station: Midway between Mendocino and Caspar (1 hour 5 min. north of Gualala)  Enjoy a tour on a Sunday 11am to 1pm June through September.  This Lighthouse and preserve mark some of the most beautiful land in the area as well as historic buildings including a carpentry shop.  Visit their website for more information.

Glass Beach: Fort Bragg (1.5 hours north of Gualala) Tidepool and treasure hunt!  Be sure to bring a sturdy pair of shoes as the path down to the beach isn’t easy.

Pacific Star Winery :12 miles north of Fort Bragg (1.5 hrs north of Gualala). Unique wines and the building sits above an active fault line!  Great views too!  Satellite tasting room in Fort Bragg itself at 401 N Main St at the Depot Mall (707-962-9463)

Sea Ranch, Gualala Vacation Rentals