サポート » 使い方全般 » タグ別アーカイブで、カスタムメニューが表示されなくなる

  • 解決済 pyonko

    (@pyonko)


    よろしくお願いします。
    twentytenの子テーマを作っております。
    WP3.01ではこの症状は発生していません。
    タグアーカイブのソースを見たところ、

    <div id="access" role="navigation">
    <div class="skip-link screen-reader-text"><a href="#content" title="コンテンツへ移動">コンテンツへ移動</a></div>
    <div class="menu-header">
    <ul id="menu-global-nav" class="menu"></ul>
    </div>
    </div><!-- #access -->

    となっており、データが読み込まれていないようです。
    症状はタグアーカイブのみです。
    何が原因なのでしょうか?

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • それだけだとなにもわからないかも・・・
    子テーマじゃなく、純粋なTwentyTenで表示させるとどうなりますか?

    ちなみに、今、うちの環境で確認したら問題なかったです。

    トピック投稿者 pyonko

    (@pyonko)

    kvexさま
    ありがとうございます。
    TwentyTenで表示させたところ、上記のような症状は発生しませんでした。
    WP3.01の時点と、3.1の現時点の間に実施したことを思いだしたところ、
    header.phpに加工した部分がありました。しかし、タグアーカイブでカスタムメニューをスキップするような変更ではないと思うのです。書かせていただきますと、`
    <div id=”site-description”><?php bloginfo( ‘description’ ); ?></div>

    <?php
    $cate = get_the_category();
    $cate = $cate[0];
    $cateid = $cate -> cat_ID;
    // Check if this is a post or page, if it has a thumbnail, and if it’s a big one
    if ( is_singular() &&
    has_post_thumbnail( $post->ID ) &&
    ( /* $src, $width, $height */ $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), ‘post-thumbnail’ ) ) &&
    $image[1] >= HEADER_IMAGE_WIDTH ) :
    // Houston, we have a new header image!
    echo get_the_post_thumbnail( $post->ID, ‘post-thumbnail’ ); ?>
    <?php // added to customise for categories respectivery
    elseif ( is_category(array(11,4,5,6,7,8))) : ?>
    <div class=”cat-headimg”><img class=”logo-img” src=”http://****.jp/wordpress/wp-content/uploads/2011/02/logo.gif&#8221; alt=”****” /><img class=”header-img” src=”http://****.jp/wordpress/wp-content/uploads/2011/02/***.jpg&#8221; alt=”****” /></div>
    <?php
    elseif ( is_category(array(12,13,14,15,16,17))) : ?>
    <div class=”cat-headimg”><img class=”logo-img” src=”http://****.jp/wordpress/wp-content/uploads/2011/02/logo.gif&#8221; alt=”****” /><img class=”header-img” src=”http://****.jp/wordpress/wp-content/uploads/2011/01/****.jpg&#8221; alt=”****” /></div>
    <?php
    elseif ( is_single() && ($cateid == 11 || $cateid == 4 || $cateid == 5 || $cateid == 6 || $cateid == 7 || $cateid == 8)) : ?>
    <div class=”cat-headimg”><img class=”logo-img” src=”http://****.jp/wordpress/wp-content/uploads/2011/02/logo.gif&#8221; alt=”****” /><img class=”header-img” src=”http://****.jp/wordpress/wp-content/uploads/2011/02/***.jpg&#8221; alt=”****” /></div>
    <?php
    elseif ( is_single() && ($cateid == 12 || $cateid == 13 || $cateid == 14 || $cateid == 15 || $cateid == 16 || $cateid == 17)) : ?>
    <div class=”cat-headimg”><img class=”logo-img” src=”http://****.jp/wordpress/wp-content/uploads/2011/02/logo.gif&#8221; alt=”****” /><img class=”header-img” src=”http://****.jp/wordpress/wp-content/uploads/2011/01/****.jpg&#8221; alt=”****” /></div>
    <?php else : ?>
    <img src=”<?php header_image(); ?>” width=”<?php echo HEADER_IMAGE_WIDTH; ?>” height=”<?php echo HEADER_IMAGE_HEIGHT; ?>” alt=”” />
    <?php endif; ?>
    </div><!– #branding –>

    <div id=”access” role=”navigation”>
    <?php /* Allow screen readers / text browsers to skip the navigation menu and get right to the good stuff */ ?>
    <div class=”skip-link screen-reader-text”><a href=”#content” title=”<?php esc_attr_e( ‘Skip to content’, ‘twentyten’ ); ?>”><?php _e( ‘Skip to content’, ‘twentyten’ ); ?></a></div>
    <?php /* Our navigation menu. If one isn’t filled out, wp_nav_menu falls back to wp_page_menu. The menu assiged to the primary position is the one used. If none is assigned, the menu with the lowest ID is used. */ ?>
    <?php wp_nav_menu( array( ‘container_class’ => ‘menu-header’, ‘theme_location’ => ‘primary’ ) ); ?>
    </div><!– #access –>
    `
    という感じです。#accessをスキップするようなロジックにはなっていないと思うのですが。どうぞよろしくお願いします。

    3.1でfunctions.phpの読み込みが変わったんでしょうかねえ…(未確認)

    ひとまず子テーマのfunctions.phpに
    register_nav_menu('primary', 'カスタムメニュー');
    と追加してみてはどうでしょうか。

    トピック投稿者 pyonko

    (@pyonko)

    kurosquareさま
    アドバイスありがとうございます。
    残念ながら、変化はありませんでした。

    WP3.1では、管理画面にログインした状態で、同じブラウザの別のウィンドウでサイトを表示すると、最上段に管理メニューみたいなのが表示されます。kれはWP3.01には見たことがなかったので、これとの関係はあるのでしょうか?

    トピック投稿者 pyonko

    (@pyonko)

    その後、更に判明したことを書かせていただきます。
    表示されるタグ別アーカイブにおいて、
    (1)リストされるpostの一番上が、投稿記事である場合には、リストされた全部のpostが、entry-contentの中にentry-titleが埋没したようにデザイン崩れが発生する
    (2)また(1)の場合、ある固定ページのカスタムメニューで読み込んだjavascriptによるブロックが挿入されてくる
    (3)リストされるpostの一番上が、固定ページであれば(1),(2)の症状は発生しないが、いずれの場合にも、header.phpで出力されるはずのカスタムメニューが表示されないのは前回までに書いたとおり。また、(2)で書いた「特定ページのカスタムフィールドで読み込んだavascript」を外したところ、ブロックは消えたが、タグ別アーカイブでカスタムメニューが表示されない状況は変化しなかった

    以上が追加してお伝えできる内容です。何か、抜け出せる糸口になるような情報があれば、どうかよろしくお願い致します。

    トピック投稿者 pyonko

    (@pyonko)

    書き忘れてしまいました。前記(1)は、崩れたページのソースを確認すると、各postともに、

    <div id="post-1439" class="post-1439 page type-page status-publish hentry tag-fuse-arresta tag-57 tag-forming-molding tag-56 tag-heat-accumulating-system tag-metal-welding tag-protect-lightning-surging">
    			<h2 class="entry-title"><a href="****" title="****">****</a></h2>
    			<div class="entry-meta">
    				<span class="meta-prep meta-prep-author">投稿日:</span> <a href="***" title="6:48 PM" rel="bookmark"><span class="entry-date">2011年2月27日</span></a> <span class="meta-sep">作成者:</span> <span class="author vcard"><a class="url fn n" href="****/author/admin" title="admin の投稿をすべて表示">admin</a></span>			</div><!-- .entry-meta -->
    				<div class="entry-summary">
    				**** &hellip; <a href="***">続きを読む <span class="meta-nav">&rarr;</span></a>			</div><!-- .entry-summary -->
    			<div class="entry-utility">							<span class="tag-links">
    						<span class="entry-utility-prep entry-utility-prep-tag-links">タグ:</span> <a href="***" rel="tag">***</a>, <a href="***/tag/****" rel="tag">***</a>, <a href="****" rel="tag">****</a>, <a href="****" rel="tag">***</a>, <a href="****" rel="tag">****</a>, <a href="****/tag/****" rel="tag">**</a>, <a href="****" rel="tag">****</a>					</span>
    					<span class="meta-sep">|</span>								<span class="comments-link"><span>コメントは受け付けていません。</span></span>							</div><!-- .entry-utility -->
    		</div><!-- #post-## -->

    であり、デザインが崩れるのはstyleが正常に引っかかってこないためと思われます。styleをパスしてしまうような流れで出力されてしまっているようですが、カスタムメニューの出力とstyleが同時にパスされるようなループに入ってしまうのでしょうか?

    トピック投稿者 pyonko

    (@pyonko)

    フォーラムのお蔭で解決しました。
    2年間放っておいたのですが、
    http://ja.forums.wordpress.org/topic/6408?replies=7

    に記載されていたとおり、固定ページでもタグを利用するためのコード、

    function add_page_to_tag_archive( $obj ) {
    if ( is_tag() ) {
    $obj->query_vars['post_type'] = array( 'post', 'page' );
    }
    }
    add_action( 'pre_get_posts', 'add_page_to_tag_archive' );

    を、

    function add_page_to_tag_archive( $obj ) {
    global $wp_the_query;
    if( $wp_the_query === $obj && $obj->is_tag() ) {
    $obj->query_vars['post_type'] = array( 'post', 'page' );
    }
    }
    add_action( 'pre_get_posts', 'add_page_to_tag_archive' );

    に置き換えることにより、長年放っておいた不具合がなくなりました。
    これで、タグアーカイブに更なる工夫を加えてみようというモチベーション
    も出てきたので、とても有難かったです。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「タグ別アーカイブで、カスタムメニューが表示されなくなる」には新たに返信することはできません。