single.phpのコードをindex.phpにそのままコピーして
このやり方ではなく、single.phpのコードをis_home()などで分岐させてindex.phpに追記する方がすっきりするのではないでしょうか。
single.phpのコードをindex.phpにそのままコピーしてしまうと全ての投稿がsingle.phpで表示されている状態になってしまうわけですので、表示の方法をTOPページの場合とそうでない場合で分岐させて同居させます。
index.phpの
<?php
get_header();
?>
の下に
<?php
if (is_home()) query_posts('showposts=1');
?>
と書いてやればいいかと。
丁寧な説明ありがとうございます。
早速コード追加して試してみたのですが、確かに最新の投稿の一覧の一つだけ表示されるようになるのですが、single.phpのような表示にはなりません。
トップページの表示は今のままでいいんです、ただアーカイブを見たときに管理パネルの表示設定でのページの表示数が反映されるようにしたいわけです。(今は表示設定を1に設定してあるのでアーカイブを見ると一つだけ表示されていますが、その表示を管理パネルの表示設定に依存できるようにしたいのです。)私の説明が悪いのかお手数をかけてしまいました、良い方法を知っている方がおられましたら助言お願いします。
> kicksui さん
mick_ltc さんの提示された方法で動作するはずですよ。 mick_ltc さんのコードを追加し動作確認した際、管理ページの投稿の表示数を 1 件に設定したままテストされたのではありませんか?
まずは管理ページの投稿の表示数を、 10 件などに変更して動作確認してみてください。
それから
single.phpのような表示にはなりません。
の意味するところは、コメント欄もトップページに表示させたいということでしょうか?
>mizubeさん
mick_ltc さんの提示された方法で動作するはずですよ。 mick_ltc さんのコードを追加し動作確認した際、管理ページの投稿の表示数を 1 件に設定したままテストされたのではありませんか?
まずは管理ページの投稿の表示数を、 10 件などに変更して動作確認してみてください。
やってみたんですね、そしたら投稿の一つが確かに表示されるのですが、Gentokiテーマでは一覧のような表示の一つだけ見えるわけなんです、そこをクリックすると写真の一覧が見えるsingle.phpに飛ぶのですが、index.phpにアクセスしてもsingle.phpのような表示にはならないという意味で、アクションが一つ多いのです。
コメント欄もトップページに表示させたいということでしょうか?
トップページにはコメントがでなくてもかまいません。
ええと、すみません。実現したいことの内容をこちらが把握できているか確認です。
トップページに表示するのは最新の投稿 1 件のみで、かつその記事はシングルページと同じで、アップロードした写真がすべて表示される形式にしたい、という意味だと解釈してましたが、それで合ってますでしょうか? 違うとすれば以下は読み飛ばしてください。
おそらく何も手を入れていない状態 (テーマ入手時の状態) の index.php に
if (is_home()) query_posts('showposts=1');
を追加されたのでは? mick_ltc さんの回答は、 single.phpのコードをindex.phpにそのままコピーして ある状態の index.php に対してのもののはずです。
- メインインデックスページに最新記事を一つだけで表示し、
- 月別アーカイブにおいて
- single.phpのようなデザインのまま、
- 管理パネルでの『設定>表示設定>1ページに表示する投稿数』を反映させたい。
ということでしょうか?
もしそうであるならば、
この段階だと1と2-2はクリアしていて2-1が問題になっているように思われます。
2-1についてはarchive.phpをsingle.phpのように編集すれば可能だと思われます。
勘違いしていたらすみません。
>mizubeさん
トップページに表示するのは最新の投稿 1 件のみで、かつその記事はシングルページと同じで、アップロードした写真がすべて表示される形式にしたい、という意味だと解釈してましたが、それで合ってますでしょうか?
その通りです。
おそらく何も手を入れていない状態 (テーマ入手時の状態) の index.php に
if (is_home()) query_posts(‘showposts=1’);
を追加されたのでは?
たしかにそのようにしてしまいました。
mick_ltc さんの回答は、 single.phpのコードをindex.phpにそのままコピーして ある状態の index.php に対してのもののはずです。
ご指摘のようにsingle.phpのコードをそのままindex.phpに移した状態のソースに
if (is_home()) query_posts(‘showposts=1’);
を書き加えたところ私のやりたいことが実現できました。
ご助言本当にありがとうございます。とても助かりました。