More Related Content
Similar to メニューは管理画面で設定できるようにしよう (20)
メニューは管理画面で設定できるようにしよう
- 9. <ul>
<li>
<a href="http://local.dev/">
いっこめ
</a>
</li>
<li>
<a href="http://local.dev/">
にこめ
</a>
</li>
<li>
<a href="http://local.dev/">
さんこめ
</a>
<ul>
<li>
<a href="http://local.dev/">
さんこめの子いっこめ
</a>
</li>
<li>
<a href="http://local.dev/">
さんこめの子にこめ
</a>
</li>
<li>
<a href="http://local.dev/">
さんこめの子さんこめ
</a>
</li>
</ul>
</li>
<li>
<a href="http://local.dev/">
よんこめ
</a>
<ul>
<li>
<a href="http://local.dev/">
よんこめの子いっこめ
</a>
</li>
<li>
<a href="http://local.dev/">
よんこめの子にこめ
</a>
</li>
<li>
<a href="http://local.dev/">
よんこめの子さんこめ
</a>
</li>
</ul>
</li>
<li>
<a href="http://local.dev/">
ごこめ
</a>
</li>
<li>
<a href="http://local.dev/">
ろっこめ
</a>
</li>
</ul>
入れ子になったら
もういやだ
- 14. <ul>
<li>
<a href="http://local.dev/">
いっこめ
</a>
</li>
<li>
<a href="http://local.dev/">
にこめ
</a>
</li>
<li>
<a href="http://local.dev/">
さんこめ
</a>
<ul>
<li>
<a href="http://local.dev/">
さんこめの子いっこめ
</a>
</li>
<li>
<a href="http://local.dev/">
さんこめの子にこめ
</a>
</li>
<li>
<a href="http://local.dev/">
さんこめの子さんこめ
</a>
</li>
</ul>
</li>
<li>
<a href="http://local.dev/">
よんこめ
</a>
<ul>
<li>
<a href="http://local.dev/">
よんこめの子いっこめ
</a>
</li>
<li>
<a href="http://local.dev/">
よんこめの子にこめ
add_action( 'after_setup_theme', 'register_my_menu' );
function register_my_menu() {
register_nav_menu( 'primary', __( 'Primary Menu', 'theme-slug' ) );
}
wp_nav_menu();
header.php
functions.phpheader.php
\設定は簡単/
これで、管理画面での設定に基づいて
リストタグを生成してくれます!
- 18. いろいろなカスタマイズ
1. クラスや ID を指定しよう
2. 項目ごとに異なるアイコンをつけよう
3. 入れ子がないメニューをつくろう
4. 複数のメニューを登録しよう
5. 日英表記してみよう
6. ぜんぶカスタマイズしよう
\どんどんいくぞ/
- 20. こんなときに便利
• 使いたい CSS フレームワークや、JavaScript のライブラリなど
で、すでにつけたい ID やクラスが決まっている。
• clearfix を追加したい
- 22. <?php
wp_nav_menu( array(
'menu_class' => ‘', // ulタグのクラスを追加
'menu_id' => ‘{slug}-1’, // ulタグの id を変更
'container' => ‘div‘, // 変更すると、div タグを nav タグや無しに変更できる
'container_class' => ‘menu-{menu slug}-container‘, // div タグのクラスを変更
'container_id' => ‘', // div タグの id を追加
) );
?>
<?php wp_nav_menu(); ?>
これで、まわりの div タグや
ul タグのクラスが指定できます
クラスや id の追加
- 34. <?php
wp_nav_menu( array(
'menu_class' => ‘menu', // ulタグのクラスを追加
'menu_id' => ‘{slug}-1’, // ulタグの id を変更
'container' => ‘div‘, // 変更すると、div タグを nav タグや無しに変更できる
'container_class' => ‘menu-{menu slug}-container‘, // div タグのクラスを変更
'container_id' => ‘', // div タグの id を追加
'depth' => ‘1',
) );
?>
さきほどのメニューに
追加する場合
- 36. add_action( 'after_setup_theme', 'register_my_menu' );
function register_my_menu() {
register_nav_menus( array(
'primary' => __( 'Primary Menu', 'theme-slug' ),
'secondary' => __( 'Secondary Menu', 'theme-slug' ),
) );
}
functions.phpheader.php
register_nav_menus で配列を設定
add_action( 'after_setup_theme', 'register_my_menu' );
function register_my_menu() {
register_nav_menu(
'primary', __( 'Primary Menu', 'theme-slug' )
);
}
functions.php
- 37. <?php
wp_nav_menu( array(
'theme_location' => ‘primary’,
) );
?>
header.phpheader.php
theme_location に明示的に指定
<?php
wp_nav_menu();
?>
header.php
<?php
wp_nav_menu( array(
'theme_location' => ‘secondary’,
) );
?>
footer.php
- 47. Walker Class という方法も
<?php
wp_nav_menu( array(
'walker' => new Custom_Walker_Nav_Menu(),
) );
?>
<?php
class Custom_Walker_Nav_Menu extends Walker {
(ここにかわりの動きをかく)
}
?>
header.php
functions.php