サポート » テーマ » カスタムメニュー(画像)の各ページへのリンクについて

  • 解決済 keina

    (@keina)


    現在、無料テンプレートをお借りして勉強しているのですが
    そのテンプレートはグローバルナビゲーションになっているのですが
    (例) |トップページ|料金プラン|サービス内容|問い合わせ| となっています。
    料金プランを固定ページで作りましたので、メニューの|料金プラン|をクリックするとページへ飛ぶようにしたいのですが、(header.php)を見てみるとこのようになっています。

    <?php wp_nav_menu(array('theme_location' => 'nav')); ?>
    
    	<ul id="topnav" class="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>
    <li><a href="#">ネットショップ</a></li>
    <li><a href="#">ブログ</a></li>

    <a href=”#” の#はこのままでよろしいのでしょうか?
    id=”about”>となっているのですが それぞれの固定ページにリンクするには
    どのように記述すればいいのかとても頭を悩ませております。
    どうか宜しくお願い致します。

    無料テンプレートはこちらになります。
    ttp://c-tpl.com/wp_f002.php

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • モデレーター Takayuki Miyoshi

    (@takayukister)

    • 本スレッドの投稿カテゴリーを『【重要】 お読みください』から『テーマ』に移動しました。『【重要】 お読みください』のカテゴリーはフォーラム運営上の周知事項を掲示するためのものですので、一般の質問にはこれを使わず、他の適切なカテゴリーを選んで投稿してください。
    • 投稿コンテンツに HTML や PHP のコードが含まれており、それらが適切に扱われていなかったため、ページの表示が崩れていましたので、こちらで修正を行いました。コードはバッククォート(`)で囲むか、入力フィールドの上にある「code」ボタンを使ってください。
    • お使いの「無料テンプレート」は WordPress.org のテーマディレクトリから配布されたものではなく、また残念なことですが WordPress のライセンスに違反した不適切な利用規約の下で配布されているようです。速やかに他のテーマに移行されることをお勧めします。そのテーマを使わざるを得ない場合でも、サポートは配布元の窓口にご相談ください。

    こんにちは、

    <a href=”#” の#はこのままでよろしいのでしょうか?
    id=”about”>となっているのですが それぞれの固定ページにリンクするには
    どのように記述すればいいのかとても頭を悩ませております。

    wp_nav_menu()

    の学習中とのことですが、この関数は、管理画面 / 外観 / メニューのページで作成したメニューを表示するためにあります。これを使うと、テンプレートにメニューのhtmlを記述しなくても管理パネルから簡単に変更が出来るというのがメリットです。

    しかし、テンプレートに単に、 wp_nav_menu() を記述しただけでは、メニューが表示されるようにはなりません。

    理由は、wp_nav_menu()は、テンプレートの中で1回だけ使われるわけではなく、headerやフッター、ソーシャルアイコンの表示などでも使われるので、

    functions.phpで、テーマで使うメニューの登録をしておく必要があります。

    // This theme uses wp_nav_menu() in two locations.
    	register_nav_menus( array(
    		'primary' => __( 'Primary Menu',      'twentyfifteen' ),
    		'social'  => __( 'Social Links Menu', 'twentyfifteen' ),
    	) );

    その上で、テンプレートに

    <?php
    	// Primary navigation menu.
    	wp_nav_menu( array(
    		'menu_class'     => 'nav-menu',
    		'theme_location' => 'primary',
    	) );
    ?>

    と書くことで、利用できるようになります。

    現在ご利用のテーマは、かなり古いタイプの記述が使われているようで、学習テーマの見直しが必要と思います。

    完成形に問題がなくても、記述の仕方によって安全でないものになる事があるためです。

    学習目的であれば、デフォルトテーマ(twentyfifteenや、レイアウトの好みでTwenty2010-1016等から選ぶといいかも、[出来るだけ新しいやつ])

    又は、

    http://underscores.me/

    スターターテーマという、一通りの設定を含んで、CSSは自分でカスタマイズするといったものもあります。
    (フォームに自分のテーマ名を入力してgenerateボタンを押すと、テーマがダウンロードされます)

    で学ぶと、最新の記述を学ぶことが出来ます。

    どんな書き方が問題になるのかをチェックするツールに

    https://wordpress.org/plugins/theme-check/

    という便利プラグインがありますので、使ってみるのもよいと思います。
    (すべての問題をチェックできるわけではありませんが、役に立つと思います)

    トピック投稿者 keina

    (@keina)

    親切に教えてくださりありがとうございました。
    nobita様の教えてくださったサイトで勉強に励みたいと思います。
    本当に勉強になりました感謝しております。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「カスタムメニュー(画像)の各ページへのリンクについて」には新たに返信することはできません。