[不動産プラグイン]物件詳細ページにキャッチコピーなど項目を追加!

以前の記事で「詳細情報の項目数の追加と変更」と言うのを記事にしましたが、
今回は物件詳細ページのタイトル下などに、「駅チカ物件!」や「地下街居抜物件!」など任意のキャッチコピーを表示したい場合の項目追加について
自分の健忘録を含めて書きたいと思います。

■ 完成形はこんな感じです。
millelog

■ カスタマイズ作業は。。。

前置き。。。
今回は物件キャッチコピーとして「slogan」と言うnameにて登録をしました。
また、物件登録画面にて建物名と物件詳細の間に入力項目を追加しました。

fudo-functions.php 内にて4箇所ほど項目を追加します。

① 45行目辺りに、下記のタグを追加しました。

// 物件キャッチコピー
add_action('admin_menu', 'my_custom_slogan');  
add_action('save_post', 'custom_save_slogan');

② その下の function my_custom_***() のタグ集合体の中の // 建物名(物件名) の次に下記のタグを追加します。

// 物件キャッチコピー
function my_custom_slogan() {
	add_meta_box('my_custom_slogan_area', '物件キャッチコピー', 'my_custom_slogan_in', 'fudo', 'advanced' );
}

③ そして、管理画面での表示タグ項目の、function my_custom_***_in() 集合体の中の同じく // 建物名(物件名) の次に下記のタグを追加します。

// 物件キャッチコピー
function my_custom_slogan_in() {
	global $post;
	global $wpdb;

	echo '<input type="hidden" name="mycustom_slogan_name" id="mycustom_slogan_name" value="' .wp_create_nonce( plugin_basename(__FILE__) ) . '" />';

	echo '<label for="sloganmeisho">物件キャッチコピー ( ※ なるべく記号は使用しないでください。1行全角25文字で改行する際は <br> タグを挿入してください。 )</label> ';
	echo '<textarea rows="2" cols="60" name="slogan" id="slogan" style="width:100%" >'. esc_textarea(get_post_meta($post->ID,'slogan',true)) .'</textarea>';

}

※ 上記の入力欄は、物件によって表示したい文字数なども考慮し、textareaにて改行入力できるようにしておりますが、input で一行入力にしても良いと思います。
※ 文字数が25文字なのは後にCSSでfontsizeを25pxにしている事などを考慮していますのでここはご自由に。。。

④ 最後に、function custom_save_*** ( $post_id ) の集合体の中の同じく // 建物名(物件名) の次に下記のタグを追加します。

// 物件キャッチコピー
function custom_save_slogan ( $post_id ) {
	if ( isset($_POST['mycustom_slogan_name']) ){
		if ( !wp_verify_nonce( $_POST['mycustom_slogan_name'], plugin_basename(__FILE__) )) {
			return $post_id;
		}
		if ( isset($_POST['post_type']) && 'fudo' == $_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;
		}

		// 所在地名称
		$my_custom_slogan_data = isset($_POST['slogan']) ? $_POST['slogan'] : '';
		if( strcmp($my_custom_slogan_data,get_post_meta($post_id, 'slogan', true)) != 0 )
			update_post_meta($post_id, 'slogan',$my_custom_slogan_data);
		elseif($my_custom_slogan_data == "")
			update_post_meta($post_id, 'slogan','');

	}else{
			return $post_id;
	}
}

これで、物件登録画面での項目追加と登録ができるようになります。

そして、残るは物件詳細画面での表示です。。。

物件詳細画面での表示は、single-fudo.php 内に項目を追加します。

自分の場合は、貸し物件、貸しビルなど項目ごとにテンプレート分をしていますが、皆さんにもわかるように標準ファイルでの記述を以下のように。。。

ファイルの200行目辺りに、 とありますのでその直ぐ上辺りに、下記のタグを追加してください。

<div class="list_slogan">
 <?php do_action( 'single-fudo2' ); ?>
 <h3 class="slogan_h3"><?php echo get_post_meta($post_id, 'slogan', true); ?></h3>
</div>

※ divに対するcssタグは任意で構いません。

以上で参考画像のような場所に任意の入力した文字が表示されるようになります。
簡単ではありますが、表示される文字の大きさや色などはご自身でcssを弄って調整してください。