カテゴリーにACF

情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。

カテゴリーにAdvanced Custom Field でタイトル画像、サイドバナー、グローバルナビの設定欄を付けて一覧と詳細ページに表示。子カテゴリーに設定がない場合は親カテゴリーの設定を表示する。
以下はグローバルナビのタグ。後半はメニューの数を取得して幅を均等にするため。メニューの選択はAdvanced Custom Fields: Nav Menu Fieldで。

<?php if (is_category()) { $ccat = get_query_var('cat'); $ccate = 'category_'.$ccat; $pcat = $wpdb->get_var("SELECT parent FROM ".$wpdb->prefix."term_taxonomy WHERE term_id = $ccat"); $pcate = 'category_'.$pcat; } elseif (is_single()) { $cats = get_the_category(); if ( $cats && !is_wp_error( $cats ) ) { $cat = array_pop($cats); } $ccat = $cat; $ccate = 'category_'.$ccat->cat_ID; $pcat = $ccat->category_parent; $pcate = 'category_'.$pcat; } ?>
<?php if (get_field('global',$ccate)) { $gid = get_field('global',$ccate); $menu = wp_get_nav_menu_object($gid)->name; } elseif (get_field('global',$pcate)) { $gid = get_field('global',$pcate); $menu = wp_get_nav_menu_object($gid)->name; } else { $menu = 'Gridglobal'; } ?>
<?php $gm = wp_get_nav_menu_object($menu); $mw = 97/$gm->count; ?>
<style type="text/css">
nav#global li {width:<?php echo round($mw,5); ?>%;}
</style>

その他のAdvanced Custom Fields に関する記事一覧

Advanced Custom Fields に関する記事一覧ページへ