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

Client Testimonials

I wanted to take some time to write you and let you know how my experience was with Coasting Home, Inc. Recently, I contacted you regarding the rental of our family home in Gualala. From the start, your attention and thoughtfulness to our situation was very helpful. You were able to assist us by letting us know what things needed to be attended to in order to bring the house up to standard. Never having rented out a house before, this information was very valuable.
We followed your advice and did the things necessary to get the house ready. Once all the changes and upgrades were completed, the house was put on your website. Almost immediately, there was interest in the property. Kim, the rental coordinator, did an outstanding job of communicating all the activity to pursued. In a short time, one of the interested parties decide to rent our home. We were very impressed by the turn time and level of service.
I recommend Coasting Home, Cathleen and Kim, without reservation. They did all the things one would expect and a lot more. They were great!
-D. Welch

Cathleen has managed my property in The Sea Ranch for more than twenty years.
During that time she, and her organization have provided outstanding management of my property. She has overseen the rental program and provided the numerous chores necessary to faithful maintenance of property of owners who live far away from their property.
I very strongly recommend her services to anyone seeking to place his or her property on the rental market. They may rest easy knowing that a professional of the highest standards is looking after their interests.
-J. Aguiar, MD

We used the services of Coasting Home to rent our Sea Ranch home while the market conditions improve for selling it. We were very pleased that we could entrust most of the details to Cathleen, as we live out of the area. The formalities of renting are not easy these days, and we were glad to let her take care of everything, and send us checks each month. When the year was up, she took care of some repairs and painting, so our home is as before. If the house doesn’t sell again, we will put it back on the rental market with Coasting Home.
-F. Gerdes, Galleons Reach

Sea Ranch, Gualala Vacation Rentals