このエントリーをはてなブックマークに追加

複数のカスタム投稿があり、投稿カテゴリーに「お知らせ」があるという構成で、1つのカスタム投稿だけ全く別のデザインで特設サイトのように見せる…というのは、カスタム投稿用のテーマを作ればいいだけの話なんだけど、そのカスタム投稿のトップで「お知らせ」を読み込んで、そこからのリンクでは同じデザインで見せたいということで…

特定の条件で別のテーマを当てる方法は、URLに付けたパラメータで分岐して解決したのだけど、「お知らせ」の個別ページで普通に前後ナビをつけるとパラメータが消えてしまうので、前後の投稿のパーマリンクだけ取得する方法を探して、get_adjacent_post で無事解決。
http://codex.wordpress.org/Function_Reference/get_adjacent_post 参照

また、この特設カスタム投稿での検索結果は特設カスタム投稿と「お知らせ」のみを検索対象としたいので、input type=”hidden” name=”type[]” value=”tokusetsu” としてパラメータを渡し、functions に

function GetCertainPostTypes($query) {
    if ($query->is_search && $_GET['type'][0] == 'tokusetsu') {
        $query->set('post_type',array('post','tokusetsu'));
        $query->set('category',1);
    }
return $query;
}
add_filter('pre_get_posts','GetCertainPostTypes');

search.php での表示は if($_GET[‘type’][0] == ‘tokusetsu’) { で分岐。

7/17追記
http://wordpress.org/plugins/jonradio-multiple-themes/ こんなプラグインもあります。
URLなどで条件をつけて(カスタム投稿・カテゴリー・ページなどドメイン/xxxx/* のように指定)テーマを変更できます。

2014.06.21 投稿 2015.04.05 更新

新しい情報を追記している場合はありますが、古い情報の修正はしていません。投稿日・文中の日付を参照してください。

Recent Articles