2011/2/8

WordPressでもナビゲーションぽいメニューとかはタイトル名で管理したほうが楽だと思うという話

WordPressをCMS的に使っていると、サブナビゲーションぽいメニューとかもタイトル名で管理したほうが楽だと思うんですよね。

<a href=" echo get_permalink(get_page_id_by_title('サイトマップ')); ">

get_page_id_by_titleってのはWordPressの関数じゃないので、functions.phpに追加します。

function get_page_id_by_title($page_title) {
	global $wpdb;
	return $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_title = %s AND post_type='page'", $page_title ));
}

パスでリンク先を書いちゃうと、テスト環境から本番環境に移す時などに書き換えなければいけなくなるから、ページのタイトルで管理するようにした方がいいかなあと思い。

あ、勿論、get_permalinkまでを含めて関数にしちゃってもいいわけですが、他で使わないなら。

加藤 康祐 / 企画・設計

プランナー、デザイナー。加藤康祐企画設計代表。Webデザインを入り口に、2005年よりフリーランスとしてのキャリアスタート。主な仕事としてベンチャー企業でのサービスのUXデザイン、独法との防災メディアの運営、社会的養護の子どもたちの自立を支援するNPOのサポート。ラグビーと料理、最近イラスト。

加藤康祐企画設計

是非、フォローしてください!
Twitter / Instagram

(2012-10-5)
売り上げランキング: 14,705
100円