• 解決済 virjin

    (@virjin)


    php初心者ですいません。
    限りなくミニマルなデザインを構築中ですが、条件分岐タグを使って

    トップ(Home)ページのみメニューを非表示にして
    コンテンツ内の画像リンクから→2ページ目、3ページ目ALLメニューを表示したいのですが
    調べても、条件分岐タグの書き方がいまいちよくわかりません。

    <?php if (!is_page(‘表示したくないページのID’)) {?>
    としてもエラーが起きてしまいます。

    やりたいこと
    Home(トップページのheader→メニューのみを非表示
    2ページ目About→pege1→pege2など全てのページ→メニューナビを表示

    条件分岐タグの書き方や簡単な方法などアドバイス的なことありましたらご教授のほう宜しくお願いします。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • nobita

    (@nobita)

    こんにちは

    例えば、メニュー が以下の設定だったら

    <?php
    wp_nav_menu( array('container_class' => 'menu-header', 'theme_location' => 'primary') ); ?>

    テンプレートワークで、トップページでだけ、表示しない。

    <?php
    if( ! is_home() and ! is_front_page() ){
    wp_nav_menu( array('container_class' => 'menu-header', 'theme_location' => 'primary') );
    }
    ?>

    スタイルルールで、トップページだけ、表示しない

    .home .menu,/* wp_page_menu */
    .home .menu-header{
    	display:none;
    }

    PHPなら、フィルタワークで表示しなくする事も出来ます

    wp_nav_menu hook を調べてみてください。

    やり方は、いろいろあります。

    トピック投稿者 virjin

    (@virjin)

    nobitaさん
    <?php
    if( ! is_home() and ! is_front_page() ){
    wp_nav_menu( array(‘container_class’ => ‘menu-header’, ‘theme_location’ => ‘primary’) );
    }
    ?>
    これでばっちりでした。
    ありがとうございました。

    トピック投稿者 virjin

    (@virjin)

    ちなみに今現在、php bloginfo(‘name’)を画像に置き換えているんですが
    こちらも同じ方法でトップページのみ条件分岐を使った画像を非表示にすることは可能なのでしょうか?
    ググってみたり、http://wpdocs.sourceforge.jp/こちらで調べてたり
    まだまだ勉強不足ですいません。

    テーマはjc-one-liteを使っています。

    <<?php echo $heading_tag; ?> id="site-title"><span><a href="<?php echo esc_url(home_url('/')); ?>" title="<?php echo esc_attr(get_bloginfo('name', 'display')); ?>" rel="home"><?php bloginfo('name'); ?></a></span></<?php echo $heading_tag; ?>>
    <?php
    }

    この部分を条件分岐を使った方法があればアドバイスのほう宜しくお願いします。

    nobita

    (@nobita)

    こんにちは、
    同じように出来ます。

    条件分岐を多用すると、テンプレートが複雑になるので、cssでトライするといいと思います。

    ポイントは、トップページのbody要素には、homeというクラスが自動付加される点です。

    なので、

    背景画像をどの要素の背景にしているのか解らないので、

    記述されたhtmlコードの、変更点とスタイルについて書いておきます。

    htmlを以下のように変更したほうがいいと、個人的には思います。
    (テキストの非表示、表示コントロールのため)

    <<?php echo $heading_tag; ?> id="site-title">
    <a href="<?php echo esc_url(home_url('/')); ?>" title="<?php echo esc_attr(get_bloginfo('name', 'display')); ?>" rel="home"><span><?php bloginfo('name'); ?></span></a></<?php echo $heading_tag; ?>>

    a タグの外側にあるspan要素を、aタグの内側に移動させます。

    で、スタイルルールは

    #site-title{
    	width:300px;/*背景画像サイズ*/
    	height:100px;
    	background:url(http://www.example.com/sample.jpg);
    }
    
    #site-title a{
    	display:block;
    	width:100%;
    	height:100%;
    }
    #site-title span{
    	visibility:hidden;
    }
    .home #site-title span,
    .home #site-title{
    	background:none;
    	visibility:visible;
    }
    トピック投稿者 virjin

    (@virjin)

    nobitaさん

    完璧です!
    とてもわかりやすいレスポンスで助かりました。
    条件分岐がダブルとよくないと思いつつ
    やってしまうところでした…
    Wordpressは奥が深いことをしみじみ感じています。
    勉強になりました。ありがとうございます。m(__)m

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「トップの固定ページのみメニュー非表示にしたい」には新たに返信することはできません。