VWSとは フォーラム Lightning [ 解決済 ] ブログ画面に最新記事を全文表示させたい

このトピックには11件の返信が含まれ、3人の参加者がいます。1 ヶ月前 reactllc さんが最後の更新を行いました。

12件の投稿を表示中 - 1 - 12件目 (全12件中)
  • 投稿者
    投稿
  • #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の構造もよくわからず、どこをどのように設定すればよいかわからない状態です。
    ご教示のほど、よろしくお願いいたします。

    #15960

    RICK
    参加者

    下記を実行してみてください。

    ①子テーマを作成して有効化

    ②親テーマの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から拝借しています。参考になればと思います。

    • この返信は1 ヶ月、 1 週前に  RICK さんが編集しました。理由: front-page.phpの記述を追加
    • この返信は1 ヶ月、 1 週前に  RICK さんが編集しました。
    #16023

    reactllc
    参加者

    RICK様

    丁寧なご回答ありがとうございます。
    ご説明の①~④の通りやってみましたが、なぜかまったく表示が変わりません。。
    ブログのトップも、カテゴリ別を表示した時も以前と同じ一覧が表示されています。

    ほかに何か足りないものがありますでしょうか?
    ご助力お願いいたします。

    #16024

    RICK
    参加者

    ご説明の①~④の通りやってみましたが、なぜかまったく表示が変わりません。。
    ブログのトップも、カテゴリ別を表示した時も以前と同じ一覧が表示されています。

    手順5が重要なので省略していただいては困ります。

    ここで書いて説明するのもいいのですが、せっかくファイル添付機能がついたので、
    カスタマイズしたものを添付したいと思います。

    デザインはともかくとして、機能面は添付ファイルを解凍後、
    ファイルの中身を子テーマのある場所に移動すればうまくいくと思います。

    圧縮する際にBandizipを使用したので
    解凍する際もBandizipを使用すると良いでしょう。

    Attachments:
    You must be logged in to view attached files.
    #16028

    reactllc
    参加者

    RICK様

    ご回答ありがとうございます。
    添付ファイルを子テーマに置いたところ、私の望み通りの表示になりました。
    素晴らしい! どうもありがとうございます!

    実は手順5もやっていましたが、投稿するときのタイプミスで1~4にしてしまってました。どうもすみません。。
    archive.php、index.phpなども必要だったということでしょうか。

    まだまだ初心者なので、どこをどうすればどうなるか把握しきれてません。
    今後WordPressもphpも勉強して精進していきたいと思います。
    本当にありがとうございました。

    #16032

    kurudrive
    参加者

    補足ですが、”ブログのトップ” が、サイト自体のトップページの事であれば、
    外観 > カスタマイズ 画面 ウィジェット パネル > トップページコンテンツエリア上部 に
    LTG_コンテンツエリア投稿ウィジェット を配置して、そのウィジェットの設定で本文を表示するレイアウトが選択する事は可能です。

    • この返信は1 ヶ月前に  kurudrive さんが編集しました。
    #16052

    RICK
    参加者

    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構造の部分から判断するに
    おそらくトップページは固定フロントページに設定している可能性大です。

    私も最初の回答をしたときにはこのことが抜けていましたが・・・

    • この返信は1 ヶ月前に  RICK さんが編集しました。
    Attachments:
    You must be logged in to view attached files.
    #16061

    reactllc
    参加者

    kurudrive様
    アドバイスありがとうございます。

    ホームページは固定ページにしており、ブログのトップが全体のトップではありません。
    私もウィジェットでなんとかできないか試みたのですが、「トップページコンテンツエリア上部」に該当するものが無いので無理だな、と思いました。。それに近いものとして「フッター上部」にウィジェットを追加してみましたが、やっぱりフッターなので元々の記事一覧が消えなかったです。

    「ホームページ」も「投稿ページ」も同じようにウィジェットでカスタマイズできると楽なのですけどね。。

    #16069

    reactllc
    参加者

    RICK様

    追加アドバイスありがとうございます。
    添付いただいた両方のmodule_loop_home.phpで試しましたが、当方の環境ではどちらも表示は同じと思われます。。
    ソースを比較するとpanel-body、panel-footerの有無の違いなのですね。

    あと、現状はカスタム投稿タイプは使用していません。もし今後使うときがあれば留意させていただきます。

    #16072

    reactllc
    参加者

    追加で質問があります。

    RICK様のファイルを使ってブログの表示を確認していたら、全文表示の6件目以降の記事中の画像が表示されていません(画像があるべき箇所が空白)。スマホで見ても同じです。
    これは何か原因が考えられるでしょうか?

    ちなみに同じ記事をカテゴリやアーカイブから個別に表示すると画像は表示されますので、全文表示の時だけのようです。
    それが仕様ということであれば仕方ないですが。

    –追記–
    大変申し訳ありません!
    上記の現象はテスト環境でのみ起こっている現象で、本番環境では発生していませんでした。
    テスト環境はテストのためいろいろ手を入れているため本番と違っている部分があります。とりあえず本番環境で問題がないので本件は取り下げさせていただきます。お騒がせしました。

    • この返信は1 ヶ月前に  reactllc さんが編集しました。
    #16081

    RICK
    参加者

    どちらもやってることは、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 に記述することで
    カスタム投稿のインデックスを全文表示にすることが可能になります。

    これらはテンプレート階層の規則に沿って設定しています。ぜひ参考にしてみてください。

    #16086

    reactllc
    参加者

    RICK様

    大変参考になる解説ありがとうございます!
    読み込まれる順番など、クセのようなものがあるのですね。
    それを回避するために子テーマに複製を作ったりするということでしょうか。

    また、Codexのドキュメントなど読んでいなかったので、しっかり読んで勉強していこうと思います。

12件の投稿を表示中 - 1 - 12件目 (全12件中)

このトピックに返信するにはログインが必要です。