デイトラweb制作上級編  DAY31~44⑭

卒業制作課題 14日目

メニューを動的にする

赤枠の部分をwordpressの管理画面で編集できるようにする

変更前

HTML

<!-- PC -->
<ul class="header__nav">
    <li><a href="#">トップ</a></li>
    <li><a href="#">当社について</a></li>
    <li><a href="#">サービス</a></li>
    <li><a href="#">導入事例</a></li>
    <li><a href="#">お知らせ</a></li>
</ul>
<!-- PC ここまで -->

<!-- ドロワー -->
<ul class="drawer-content__items">
    <li><a href="#">トップ</a></li>
    <li><a href="#">当社について</a></li>
    <li><a href="#">サービス</a></li>
    <li><a href="#">導入事例</a></li>
    <li><a href="#">お知らせ</a></li>
</ul>
<!-- ドロワー ここまで -->

SCSS

// PC
.header__nav {
    display: flex;
    align-items: center;

    li {
        position: relative;

        &:not(:first-child) {
            margin-left: 46px;

            &::after {
                content: "/";
                position: absolute;
                left: -30px;
            }
        }
    }
}

// ドロワー
.drawer-content__nav {
    text-align: center;

    li {
        font-size: 16px;

        &:not(:first-child) {
            margin-top: 40px;
        }

        a {
            display: block;
            color: #fff;
        }
    }
}

変更後

functions.php(自作フォルダ直下)
→ メニューの登録

function my_menu_init() {
  register_nav_menus(
    array(
      // 'キー' => '対応する値'
      'global' => 'ヘッダーメニュー',
      'drawer' => 'ドロワーメニュー',
      'footer' => 'フッターメニュー',
    )
  );
}
add_action('init', 'my_menu_init');

固定ページ、投稿ページ、ホームページの作成

スラッグは

 → about

 → service

 → case

①⑤は 外観 > メニュー のカスタムリンクで作成する

※スラッグで反映されるファイルが決まる(aboutならpage-about.phpが反映)

設定 > 表示設定から

 → ホームページ

 → 投稿ページ 

にすることでスラッグに関わらず指定したphpファイルを表示できる

メニューの構成
→ 外観 > メニュー

コードを動的に変更

<!-- PC -->
<?php
wp_nav_menu(
    array(
        'depth' => 1,
        'theme_location' => 'global',
        'container' => 'false',
        'menu_class' => 'header__nav',
        'ul' => 'header__nav',
    )
);
?>
<!-- PC ここまで -->

<!-- ドロワー -->
<?php
wp_nav_menu(
    array(
        'depth' => 1,
        'theme_location' => 'drawer',
        'container' => 'false',
        'menu_class' => 'drawer-content__items',
        'ul' => 'drawer-content__items',
    )
);
?>
<!-- ドロワー ここまで -->

ロゴとボタンも動的にする

<!-- ロゴ ホームページだけh1で表示 -->
<?php if (is_front_page()) : ?>
    <h1 class="header__logo font-en"><a href="<?php echo home_url('/'); ?>"><?php bloginfo('name'); ?></a></h1>
<?php else : ?>
    <div class="header__logo font-en"><a href="<?php echo home_url('/'); ?>"><?php bloginfo('name'); ?></a></div>
<?php endif; ?>

<!-- ボタン -->
<div class="header__download">
    <a href="<?php $page = get_page_by_path('download');
        echo esc_url(get_permalink($page->ID)); ?>">資料ダウンロード
    </a>
</div>

※get_page_by_path('移動させたいページのスラッグ')

まとめ

今回も卒業制作課題を進めました。

やはりwordpressを扱うことに慣れていないので大変です。。。

何から手を付けるべきかいまいちわからず、気づいたら作業に取り掛かっていないのに時間がたっていました。

とはいっても全く進んでいないわけではないので、引き続き卒業に向けて頑張りたいです!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です