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

カスタム投稿のテーマは専用のものを作ることが出来ますが、テーマファイル数が増えると色々大変なこともあるので、なるべく効率よく作るためにbody_classにカスタム投稿タイプ名を入れる方法。
以下をfunctions に記入。

add_filter('body_class','add_posttype_classes');
function add_posttype_classes($classes) {
    $postype = get_query_var('post_type');
    $classes[] = $postype;
    if(!$postype ==""){
        $m_key = array_search('home', $classes);
        unset($classes[${'m_key'}]);
    }
    return $classes;
}

または、

class="<?php if (is_front_page()) { echo 'home'; } elseif ('post' == get_post_type() || 'page' == get_post_type()) { echo 'page'; } elseif ('post' !== get_post_type() && 'page' !== get_post_type()) { echo 'custom '; echo esc_html( get_post_type() ); } ?>"

など。これは、トップページ・ページと投稿・カスタム投稿でデザインが違い、各カスタム投稿は配色が違うという構成。

2013.12.20 投稿 2015.04.05 更新

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

Recent Articles