web-dev-qa-db-ja.com

WP 一部のページでのみ管理バー

私は私の最初のwpテーマを作成しようとしています。これまでのところそれはかなりいい経験でした、しかし今私は私が全く理解していない問題を抱えています。

管理バーは、私のページの一部でしか表示されていませんが、他のページでは白く表示されています(実際は透明)。例:ホームページでは透明です(空いているところがあるかのように)が、「会社概要」ページへのリンクをクリックすると、そのページの管理バーが表示されます。実際にはAbout usを除いてほとんどすべてのページで透過的です。

私がチェックして試したこと:

[サイトを表示するときにツールバーを表示]を選択しています。

header.phpにはwp_head()があります。

footer.phpでは、wp_footer()があります。

functions.phpに追加して表示させる

add_filter( 'show_admin_bar', '__return_true' );

しかし違いはありません。

すべてのcssをコメントアウトしようとしました:変更なし(もちろん、バーに!)

カスタムjsスクリプトを削除しようとしました:また変更なし。

コードを見ましたが、欠けている部分は見つかりませんでした( ''、;、または>など)。

バー(私たちについてページにあります)を見て、右クリック>要素を調べると、それはすべて問題ないようです。しかし、空きスペースしかないページでは、同じことをしていますが、その直前にいくつか欠けているものがあることがわかります。

  • wpadminbar

  • いくつかのスクリプト

何か案は?それ以上の情報が必要な場合は、必要な情報をお知らせください。

たぶん私は非常に単純な何かが足りない、そしてうまく行けば誰かが私を助けることができるでしょう。ありがとうございます。

これが私のindex.phpです。

<?php
get_header(); ?>
<?php get_sidebar(); ?>

<div id="primary" class="content-area">
    <main id="main" class="site-main" role="main">

    <?php if ( have_posts() ) : ?>

        <?php /* Start the Loop */ ?>
        <?php while ( have_posts() ) : the_post(); ?>

            <?php
                /* Include the Post-Format-specific template for the content.
                 * If you want to override this in a child theme, then include a file
                 * called content-___.php (where ___ is the Post Format name) and that will be used instead.
                 */
                get_template_part( 'content', get_post_format() );
            ?>

        <?php endwhile; ?>

        <?php _S_paging_nav(); ?>

    <?php else : ?>

        <?php get_template_part( 'content', 'none' ); ?>

    <?php endif; ?>

    </main><!-- #main -->
</div><!-- #primary -->

 <?php get_footer(); ?>

そして私のpage.php

<?php
get_header(); ?>
<?php get_sidebar(); ?>

<div id="primary" class="content-area">
    <main id="main" class="site-main" role="main">

        <?php while ( have_posts() ) : the_post(); ?>

            <?php get_template_part( 'content', 'page' ); ?>

            <?php
                // If comments are open or we have at least one comment, load up the comment template
                if ( comments_open() || '0' != get_comments_number() ) :
                    comments_template();
                endif;
            ?>

        <?php endwhile; // end of the loop. ?>

    </main><!-- #main -->
</div><!-- #primary -->

 <?php get_footer(); ?>

そしてfooter.php

    </div><!-- #content -->

    <footer id="colophon" class="site-footer" role="contentinfo">
        <div class="site-info">
            <?php do_action( '_S_credits' ); ?>
            <a href="http://wordpress.org/" rel="generator"><?php printf( __( 'Proudly powered by %s', '_S' ), 'WordPress' ); ?></a>
            <span class="sep"> | </span>
            <?php printf( __( 'Theme: %1$s by %2$s.', '_S' ), 'SEEMPLE', '<a href="http://AuthorURIHere" rel="designer">LUISPATO</a>' ); ?>
        </div><!-- .site-info -->
    </footer><!-- #colophon -->
</div><!-- #page -->

<?php wp_footer(); ?>
</body>
</html>
3

まず第一に私は私を助けようとしてくれてありがとうございます!

私はそれが何を引き起こしているのかを見つけました:それはfunctions.php上のエラーでした:

それが欠けていました:

require get_template_directory() . '/inc/template-tags.php';

私はfunctions.phpにそれを再び追加しました、そして今、すべてはうまく働いているようです。

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

=)

2

これはHTMLの問題のようです。テーマ内のすべてのタグを閉じなかったり、投稿コンテンツ内に開いたhtmlタグがない場合(例:htmlを含むテキストをコピーして貼り付けたときなど)、ブラウザにタグを無視させることができます。すべてのページで最後にレンダリングされた、これはおそらくそれです。

Viwe sorceを試して管理バーのhtmlを探してから、Element Inspectorのビザコードを見て、ブラウザが無視したかどうかを確認してください。

Footer.phpでは、wp_footer()関数を呼び出しますか?

0