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

Beaches

Gualala Point ParkSee map for the following:

1. Black Point Beach (mile marker 50.85): Trail .3 miles

2. Pebble Beach (52.29): Trail .3 miles

(not pictured on map) The Hot Spot: (Sea Ranch Guests Only) This tucked away haven is located right on the south fork of the Gualala River and boasts a wide rocky beach, picnic areas, ample parking and portable restrooms.  A pretty place surrounded by trees and much calmer than the ocean beaches, the wind doesn’t blow as hard, but the sun is just as present—and so is the wildlife!  Take Annapolis Rd east to Timber Ridge Rd, turn left, then turn right onto River Beach Rd and continue until you see the signs for The Hot Spot.  Take your lunch, a blanket, and enjoy!

3. Stengel Beach: Just north of the White Barn, the stables, and the Olson Recreation Center.

4. Shell Beach (55.24): Trail .6 miles

5. Walk-On Beach: Just north of mile marker 56.08

6. Gualala Point Regional Park (58.19): South side of the Gualala River bridge.  Visitor’s center (west side of the highway) has displays, maps, information counter.  Wonderful long, sandy beach that stretches into the Gualala River as well as many trails along the bluffs and meadows above.  River and surf fishing here, river and ocean beaches here.

Please note: The above beaches are Sonoma County Regional Park beaches and require a small fee.  Gates are open from sunup to sundown.  The beaches on the Sea Ranch (Walk-On, Shell, Stengel, Pebble, and Black Point) are open to the public, however, wandering off the trails is prohibited.

7. Anchor Bay Beach (4.64): Did you know it’s really called Fish Rock Gulch Beach?  An excellent diving and walking beach here—access for a small fee.

8. Schooner Gulch (11.41): Find the “PARK FACING SOUTH” sign.  Parking is on the north side of the concrete bridge.  There are two trails here: one down through the gulch, and the other beginning a few feet up the highway, crossing the bluff, and descending onto a section of the beach just south of Bowling Ball Beach (a phenomenon not to be missed)!

9. Bowling Ball Beach (Whiskey Shoals): (11.41): Find the “PARK FACING SOUTH” sign.  Parking is on the north side of the concrete bridge.  There are two trails here: one down through the gulch, and the other beginning a few feet up the highway, crossing the bluff, and descending onto a section of the beach just south of Bowling Ball Beach (a phenomenon not to be missed)!

10. Mote Creek (12.88): Just down the hill from Bowling Ball Beach with easy access to the same beach – a tide pooler’s dream.

11. Point Arena Pier (near 14.85): turn west onto Iverson Avenue at the bottom of the hill in Point Arena.  This 100 year old wharf replaced in 1990 now provides public fishing facilities (no fishing license required) – as well as boat launching, toilets, and coin- operated showers.  Fresh fish is often available off local commercial fishing boats.  A trail-views-1popular spot for local surfers and divers – but tide-pooling and beachcombing are also excellent here.  There is also a lot of parking, bait and tackle shop, and two restaurants: the Point Arena Bar & Grill and Pizzas and Cream.  

12. Manchester State Beach (21.48): Drive a mile or so past the KOA to the parking area and walk across the dunes to the beach.  This is the closes point to Hawaii in North America!  And the site of AT&T’s Hawaii One telephone cable.  The five mile stretch of sandy beach is excellent for beachcombing, bird-watching, kite-flying, and surf-fishing.  The Garcia River provides salmon and steelhead fishing during the winter.

And further north:

Glass Beach: Fort Bragg, explore tide pools and comb the beach for trash turned into treasure by the waves.  What was once a dumping ground has now become a preserve.  /glass_beachwww.fortbragg.com

beachaccessmap

Sea Ranch, Gualala Vacation Rentals