ブログ画面に最新記事を全文表示させたい
ブログ画面に最新記事を全文表示させたい
-
投稿者投稿
-
2019年4月19日 4:43 PM #15958
reactllc参加者お世話になります。
Lightning Pro 1.1.1 + JPNSTYLE で運用しております。
WordPress、php共に詳しくないので的はずれなことを聞いてしまうかもしれないことご容赦願います。■やりたいこと
ブログのトップページ(アーカイブページ?)を開いたときに、記事の一覧ではなく、最新記事数件分の記事を全文表示したい■試したこと
(1)カスタマイズ>アーカイブページレイアウト で設定できないか試したが、一覧の形式が変わるだけだった
(2)ネットの記事を参考にmodule_loop_post.phpのthe_excerptをthe_contentに書き換えてみたが何も変わらなかった
(3)ネットの記事を参考にarchive.phpを探したが見つからなかったので新たに作り、以下を記述した<?php get_header(); ?> <?php while ( have_posts() ) : the_post(); ?> <article id="post-<?php the_ID(); ?>" <?php post_class(); ?> > <h1 class="entry-title"><?php the_title() ?></h1> <div> <?php the_content(); ?> </div> </article> <hr/> <?php endwhile; ?> <?php get_footer(); ?>
結果、アーカイブページ(www.hoge.com/stuff_blog)の表示は変わらないがカテゴリを指定(www.hoge.com/stuff_blog/info)すると最新記事だけ全文表示になる
私としてはこの逆でアーカイブページのトップに最新記事数件を全文表示させ、カテゴリが指定されたら一覧画面が表示されるようにしたいのです。
phpも弱いのでソースが追えなくてLightningの構造もよくわからず、どこをどのように設定すればよいかわからない状態です。
ご教示のほど、よろしくお願いいたします。2019年4月19日 8:08 PM #15960
DRILL LANCERモデレーター下記を実行してみてください。
①子テーマを作成して有効化
②親テーマのfront-page.phpを子テーマにコピー
③作成したarchive.phpを削除(邪魔になるため)
④子テーマにmodule_loop_home.phpを作成し下記のように記述
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> <header> <?php get_template_part('module_loop_post_meta');?> <h1 class="entry-title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1> </header> <div class="entry-body"> <?php the_content();?> </div><!-- [ /.entry-body ] --> </article>
⑤子テーマのfront-page.phpの63行目あたりを下記のように変更
変更前
<?php get_template_part( 'module_loop_post' ); ?>
変更後
<?php get_template_part( 'module_loop_home' ); ?>
デザインはともかくとして、これで、記事全文(ページャー以下は除外)を表示できると思います。
あと、私は一顧客であり、JPNSTYLEを持っていないのでデザインについては保証できかねます。
この点はご了承ください。P.S.
ちなみに、module_loop_home.phpの中身はsingle.phpから拝借しています。参考になればと思います。- この返信は5年、 7ヶ月前にDRILL LANCERが編集しました。理由: front-page.phpの記述を追加
- この返信は5年、 7ヶ月前にDRILL LANCERが編集しました。
2019年4月22日 3:35 PM #16023
reactllc参加者RICK様
丁寧なご回答ありがとうございます。
ご説明の①~④の通りやってみましたが、なぜかまったく表示が変わりません。。
ブログのトップも、カテゴリ別を表示した時も以前と同じ一覧が表示されています。ほかに何か足りないものがありますでしょうか?
ご助力お願いいたします。2019年4月22日 4:00 PM #16024
DRILL LANCERモデレーターご説明の①~④の通りやってみましたが、なぜかまったく表示が変わりません。。
ブログのトップも、カテゴリ別を表示した時も以前と同じ一覧が表示されています。手順5が重要なので省略していただいては困ります。
ここで書いて説明するのもいいのですが、せっかくファイル添付機能がついたので、
カスタマイズしたものを添付したいと思います。デザインはともかくとして、機能面は添付ファイルを解凍後、
ファイルの中身を子テーマのある場所に移動すればうまくいくと思います。圧縮する際にBandizipを使用したので
解凍する際もBandizipを使用すると良いでしょう。Attachments:
You must be logged in to view attached files.2019年4月22日 5:43 PM #16028
reactllc参加者RICK様
ご回答ありがとうございます。
添付ファイルを子テーマに置いたところ、私の望み通りの表示になりました。
素晴らしい! どうもありがとうございます!実は手順5もやっていましたが、投稿するときのタイプミスで1~4にしてしまってました。どうもすみません。。
archive.php、index.phpなども必要だったということでしょうか。まだまだ初心者なので、どこをどうすればどうなるか把握しきれてません。
今後WordPressもphpも勉強して精進していきたいと思います。
本当にありがとうございました。2019年4月22日 6:10 PM #16032補足ですが、”ブログのトップ” が、サイト自体のトップページの事であれば、
外観 > カスタマイズ 画面 ウィジェット パネル > トップページコンテンツエリア上部 に
LTG_コンテンツエリア投稿ウィジェット を配置して、そのウィジェットの設定で本文を表示するレイアウトが選択する事は可能です。- この返信は5年、 7ヶ月前に石川@Vektor,Inc.が編集しました。
2019年4月23日 9:30 AM #16052
DRILL LANCERモデレーターmodule_loop_home.phpの別バージョンを用意してみました。(module_loop_home-1.zip)
LTG_コンテンツエリア投稿ウィジェットの全文版とほぼ同じ(?)表示になるはずです。あと、もし、カスタム投稿を使用する場合、
例えばイベントというカスタム投稿を作成し、スラッグ(投稿タイプID)がevent
の場合は
index.php
を複製してarchive-event.php
を作成すればうまくいくと思われます。
(↑index.php
は削除&リネームしてはいけません。あくまで”複製”してください。)>> @kurudrive さん
結果、アーカイブページ(www.hoge.com/stuff_blog)の表示は変わらないがカテゴリを指定(www.hoge.com/stuff_blog/info)すると最新記事だけ全文表示になる
こう述べていることから、URL構造の部分から判断するに
おそらくトップページは固定フロントページに設定している可能性大です。私も最初の回答をしたときにはこのことが抜けていましたが・・・
- この返信は5年、 7ヶ月前にDRILL LANCERが編集しました。
Attachments:
You must be logged in to view attached files.2019年4月23日 1:48 PM #16061
reactllc参加者kurudrive様
アドバイスありがとうございます。ホームページは固定ページにしており、ブログのトップが全体のトップではありません。
私もウィジェットでなんとかできないか試みたのですが、「トップページコンテンツエリア上部」に該当するものが無いので無理だな、と思いました。。それに近いものとして「フッター上部」にウィジェットを追加してみましたが、やっぱりフッターなので元々の記事一覧が消えなかったです。「ホームページ」も「投稿ページ」も同じようにウィジェットでカスタマイズできると楽なのですけどね。。
2019年4月24日 12:57 PM #16069
reactllc参加者RICK様
追加アドバイスありがとうございます。
添付いただいた両方のmodule_loop_home.phpで試しましたが、当方の環境ではどちらも表示は同じと思われます。。
ソースを比較するとpanel-body、panel-footerの有無の違いなのですね。あと、現状はカスタム投稿タイプは使用していません。もし今後使うときがあれば留意させていただきます。
2019年4月24日 2:47 PM #16072
reactllc参加者追加で質問があります。RICK様のファイルを使ってブログの表示を確認していたら、全文表示の6件目以降の記事中の画像が表示されていません(画像があるべき箇所が空白)。スマホで見ても同じです。
これは何か原因が考えられるでしょうか?ちなみに同じ記事をカテゴリやアーカイブから個別に表示すると画像は表示されますので、全文表示の時だけのようです。
それが仕様ということであれば仕方ないですが。–追記–
大変申し訳ありません!
上記の現象はテスト環境でのみ起こっている現象で、本番環境では発生していませんでした。
テスト環境はテストのためいろいろ手を入れているため本番と違っている部分があります。とりあえず本番環境で問題がないので本件は取り下げさせていただきます。お騒がせしました。- この返信は5年、 7ヶ月前にreactllcが編集しました。
2019年4月25日 6:33 AM #16081
DRILL LANCERモデレーターどちらもやってることは、single.phpの
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
から
</article>
までの(必要そうな)部分をそのまま module_loop_home.php コピ&ペーストし保存。module_loop_home.php を投稿のインデックスページで使われる index.php で読み込ませようとうすると、
なぜか module_loop_post.php が優先して読み込まれたので
index.php に記述された余計な部分を削除して無理やり module_loop_home.php で読み込ませました。archive.php は改変前の index.php と同じ内容をそのまま記述したものです。
カスタム投稿云々は現状だと archive.php を読み込みに行くので、
それを阻止すべく、改変後の index.php と同じ内容を archive-xxxx.php に記述することで
カスタム投稿のインデックスを全文表示にすることが可能になります。これらはテンプレート階層の規則に沿って設定しています。ぜひ参考にしてみてください。
2019年4月25日 2:09 PM #16086
reactllc参加者RICK様
大変参考になる解説ありがとうございます!
読み込まれる順番など、クセのようなものがあるのですね。
それを回避するために子テーマに複製を作ったりするということでしょうか。また、Codexのドキュメントなど読んでいなかったので、しっかり読んで勉強していこうと思います。
-
投稿者投稿
- このトピックに返信するにはログインが必要です。