web-dev-qa-db-ja.com

私の投稿/ページが私のWordPressテーマに表示されないのはなぜですか?

私はカスタムワードプレスのテーマを作成しました、そして、何らかの理由で投稿/ページがテーマに表示されない理由を知りません、しかしそれらは他のすべてのテーマに表示されます。これがindex.phpのコードです。

<?php get_header( ); ?>         
<div id = "contentwrapper"> 
<div id = "content" role = "main">
    <div id = "leftcolumn">

        <?php if ( have_posts() ) : ?>
            <?php /* Start the Loop */ ?>
            <?php while ( have_posts() ) : the_post(); ?>
                <?php get_template_part( 'content', 'page' ); ?>
            <?php endwhile; ?>
            <?php twentyeleven_content_nav( 'nav-below' ); ?>
        <?php endif; ?> 
        <div id = "locationimageslider">
        </div>  
        <div id = "locations"> 
            <div class = "location" name = "loc1">
                <p class = "title"> Cafe Coyote </p>
                <p class = "phone"> (619)291-4695 </p>
                <p class = "description"> <span>3:30PM to 6PM:    </span>  $2 tacos, $3 beers & $4 margaritas. </p>
                <div id = "ratings">
                </div> 
                <div id = "imthere">
                </div>  
            </div>  
            <div class = "location" name = "loc1">
                <p class = "title"> Cafe Coyote </p>
                <p class = "phone"> (619)291-4695 </p>
                <p class = "description"> <span>3:30PM to 6PM:    </span>  $2 tacos, $3 beers & $4 margaritas. </p>
                <div id = "ratings">
                </div> 
                <div id = "imthere">
                </div> 
            </div>
        </div>
    </div>
    <?php get_sidebar( ); ?>
</div>  
</div> 
<?php get_footer( ); ?>
</body>
</html>

これがpage.phpのコードです。

<?php get_header( ); ?>         
<div id = "contentwrapper"> 
<div id = "content" role = "main">
    <?php the_post(); ?>
    <?php get_template_part( 'content', 'page' ); ?>
    <?php get_sidebar( ); ?>
</div>  
</div> 
<?php get_footer( ); ?>
</body>
</html>
1
dave

この基本的なテンプレートレイアウトを試してください

<?php
    get_header();                           # gets header.php contents

    if (have_posts()):                      # checks if there are any post available for this url
        while(have_posts()):                # starts loop
            the_post();                     # assigns $posts global

            the_title();                    # outputs post title
            the_content();                  # outputs post content
        endwhile;                           # ends loop
    endif;                                  # ends conditional check

    get_footer();                           # gets footer.php contents
1
Alex Sancho

index.phppage.phpの両方で、あなたは呼び出しています:

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

あなたのテーマはcontent-page.phpまたはcontent.phpファイルを持っていますか?

(注:おそらくcontent.php内でindex.phpファイルを使用しているはずです。そしてget_template_part( 'content' )を呼び出してください。

page.phpでは、ループを正しく呼び出していません。あなたが持っている:

<?php the_post(); ?>

...の代わりに:

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

それは問題を起こすかもしれないし起こさないかもしれません。

0
Chip Bennett