サポート » 使い方全般 » page.phpは存在するが、固定ページが全てindex.phpで表示される

  • 解決済 mahuyu0529

    (@mahuyu0529)


    よろしくお願いします。

    Windows8.1
    php 5.4.39
    Apache 2.2.14
    localでの実行です。

    home.phpをフロントページとし(表示設定は行っていない)、
    index.phpを投稿ページのトップとして使用したいと考えています。

    home.php
    |
    |-index.php(投稿ページトップ)
    |-page.ph

    上記のような構造にしたいです。

    現状、表示設定の投稿ページで固定ページを指定してもしなくてもですが、
    固定ページは全てindex.phpで表示されてしまっていると考えています。
    理由は、固定ページへ飛んだ際にURLが
    ttp://localhost:1024/wordpress/index.php/%E3%81%A6%E3%81%99%E3%81%A8/
    となっている為です。(先頭の”h”はあえて消してあります。)

    page.phpの存在は確認しています。

    以下、index.phpとpage.phpのコードです。

    index.php

    <?php get_header(); ?>
    
    <!-- main -->
    
    <article>
    	<section>
    <div id="content_view_2">
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    	<div class="post">
    		<div class="img_tr">
    			<img class="attachment-post-thumbnail" src="#" alt="サムネ画像" width="200px" heigth="150px">
    		</div>
    		<div class="content_info">
    			<h2 class="title">
    				<a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>">
    					<?php the_title(); ?>
    				</a>
    			</h2>
                <ul>
                	<li class="cal"><?php the_time('Y年m月j日') ?></li>
                    <li class="cat"><?php the_category(', ') ?></li>
    			</ul>
    
    			<?php if(has_post_thumbnail()) { echo the_post_thumbnail(); } ?>
    
    			<?php the_content(); ?>
    		</div> <!-- content_info -->
    	</div>	<!-- post -->
    
    	<?php endwhile; ?>
    
        <div class="nav-below">
           	<span class="nav-previous"><?php next_posts_link('古い記事へ') ?></span>
            <span class="nav-next"><?php previous_posts_link('新しい記事へ') ?></span>
        </div>
    
    	<?php else : ?>
    
        <h2 class="title">記事が見つかりませんでした。</h2>
        <p>検索で見つかるかもしれません。</p><br />
        <?php get_search_form(); ?>
    
        <?php endif; ?>
    
    </div>
    	</section>
    </article>
    
    		<?php get_sidebar('right'); ?>
    
    <?php get_footer(); ?>

    page.php

    <?php get_header(); ?>
    
    <!-- main -->
    
    <article>
    	<section>
    <div id="content_view_2">
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    	<div class="post">
    		<div class="img_tr">
    			<img class="attachment-post-thumbnail" src="#" alt="サムネ画像" width="200px" heigth="150px">
    		</div>
    		<div class="content_info">
    			<h1 class="title"><?php the_title(); ?></h1>
    
    			<?php if(has_post_thumbnail()) { echo the_post_thumbnail(); } ?>
    
    			<?php the_content("続きを読む"); ?>
    		</div> <!-- content_info -->
    	</div>	<!-- post -->
    
        <?php endwhile; ?>
    
    	<?php else : ?>
    
        <h2 class="title">記事が見つかりませんでした。</h2>
        <p>検索で見つかるかもしれません。</p><br />
        <?php get_search_form(); ?>
    
        <?php endif; ?>
    
    </div>
    	</section>
    </article>
    
    		<?php get_sidebar('right'); ?>
    
    <?php get_footer(); ?>

    以上がコードになります。

    img
    <h1>タグ
    日付
    カテゴリ
    内容

    これらが表示されています。

    原因及び解決方法をご教授願いたいです。
    よろしくお願いします。

    /*************************/
    追加で確認しました。
    投稿記事をいくつか作りましたが、どれもindex.phpの内容しか表示されません。
    URLはttp://localhost:1024/wordpress/index.php/2016/01/15/%E3%82%A2%E3%83%AB%E3%83%90%E3%83%A0%EF%BC%91/
    このような形です。

    index.phpのコードを全て消した状態で試しました。
    しかし、全く変化がありませんでした。

    さらに、page.phpに追加で
    <h2>testtestes</h2>
    と、<h1>タグのすぐ下に記述してみましたが表示されませんでした。

    これはつまり、URLにはindex.phpと書かれているが、実際にはpage.phpを出力しているということなのでしょうか?
    しかし日付が表示されている事を考えると、日付を出力する記述の無いpage.phpよりも、記述のあるindex.phpが表示されているのではないかと思いもしています。

    /***************************/
    index.phpのコードですが、ファイルを直接いじって全て消したところ、
    画面が真っ白な状態になりました。
    これはindex.phpが表示されていると考えて間違いないと思っています。

    なので問題は、
    「page.phpが存在するにも関わらず固定ページが全てindex.phpで表示されている」
    となります。(タイトルと変更無し)

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • パーマリンクがカスタムにチェックが入っており、そこでindex.php~が指定されていました。
    基本にチェックを入れたところ、しっかり固定ページが表示されましたが、
    投稿ページトップはhome.phpの表示でした。

    ここはもう優先度の問題だと思いますので、home.phpを削除することで解決とします。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「page.phpは存在するが、固定ページが全てindex.phpで表示される」には新たに返信することはできません。