サポート » 使い方全般 » 固定ページのページを切換えるごとにヘッダを変えたい

  • 解決済 h-pine-h

    (@h-pine-h)


    page-works.phpという固定ページにプラグインのPageNaviでページング機能をつけました。
    その後、問題に気づきました。

    ヘッダーのメニュー部分にjsを使っていて現在表示されているページがハイライトされるように設定されています。下記のように「リンクのURLとページのURLが完全一致」した場合のみ、画像がハイライトされるようになっています。

    <li id="works"><a href="<?php echo home_url('/'); ?>works/"><img src="<?php bloginfo('template_url'); ?>/images/works.jpg" alt="works 制作実績"></a></li>

    ところが、ページング機能をつけたことによって、
    ●●.com/●●/works/page/2/
    のようにmページを追加する度に固定ページのページのURLは変化し、メニューがハイライトしなくなります。

    一応調べたのですが、固定ページ毎、投稿記事ごとにヘッダを変える等の解説はあったのですが、今回のケースはわかりません。

    何か解決法はあるでしょうか?

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • 「リンクのURLとページのURLが完全一致」なので、ページングするとその条件を満たせなくなるのではないでしょうか?

    works/の後にリンクがつくとURLが一致しません。
    JSを部分一致にするか、PHPのget_query_varやget_queried_objectでページの情報を取得して比較するか、の方法になるかと。

    もしくは、カスタムメニューにしてしまうか、ですね。
    カスタムメニューにすればliタグにclassが付加されるので、CSSで画像置換、もしくはプラグインを使ってナビ自体に画像を使えるようにすればよいかと思います。

    wp_nav_menu

    トピック投稿者 h-pine-h

    (@h-pine-h)

    >mel_chaさん
    解答ありがとうございます!
    get_query_varやget_queried_objectをヘッダーのメニューのURLを呼び出す部分に使ってみたのですが、PHPに疎いので、参考例を見て変えてみました。
    メニューがハイライトされないので、ソースを表示してみると、URLを取得できていないようでした。ソースの書き方が間違っているのでしょうか?

    <li id="works"><a href="<?php $value = get_query_var( 'paged' ); ?>"><img src="<?php bloginfo('template_url'); ?>/images/works.jpg" alt="works 制作実績"></a></li>

    <li id="works"><a href=<?php $obj = get_queried_object(); ?>"><img src="<?php bloginfo('template_url'); ?>/images/works.jpg" alt="works 制作実績"></a></li>

    はい、間違っていますね・・・。先述の記述はひとまずおいておいて、
    よくよく考えるとis_page()の振り分けで十分だったかもしれません。

    <?php
    $worksCur = '';
    if( is_page('works') ) :
    	$worksCur = '-on';
    endif;
    ?>
    <li id="works"><a href="<?php echo home_url('/'); ?>works/"><img src="<?php bloginfo('template_url'); ?>/images/works<?php echo $worksCur; ?>.jpg" alt="works 制作実績"></a></li>

    上記のコードはworksの固定ページのときにimgタグの拡張子前に-onをつける、という書き方をしています。
    こちらではいかがでしょうか?

    トピック投稿者 h-pine-h

    (@h-pine-h)

    >mel_chaさん
    できました!-onではなく切り替えの画像の拡張子前は_crにしていたので、そこだけいじって2ページ目以降もハイライトされました。

    ありがとうございました!

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「固定ページのページを切換えるごとにヘッダを変えたい」には新たに返信することはできません。