フロントページの最新記事一覧を別の固定ページで使いたい

Simplicityの特徴 › フォーラム › テーマファイルのカスタマイズに関する質問など › フロントページの最新記事一覧を別の固定ページで使いたい

  • このトピックには12件の返信、2人の参加者があり、最後にアべちゃんにより10年前に更新されました。
12件の返信スレッドを表示中
  • 投稿者
    投稿
    • #44991
      しとね
      ゲスト

      わいひら様、いつもお世話になっております。
      またご質問させていただきます。

      simplicityでは、デフォルトのフロントページ(トップページ)は最新記事一覧が表示になっていると思いますが、
      カスタマイズで固定ページをフロントページに設定したいと思います。

      ただ、今までフロントページで表示させてきた最新記事一覧のページも、別の固定ページに移したいのです。

      http://example.com/(最新記事一覧)→http://example.com/blog/(最新記事一覧)

      その場合はどのファイルをコピーして固定ページのテンプレートファイルとして設定をすればよかったでしょうか?
      またはオリジナルの記述が必要になりますでしょうか?
      お忙しいとは存じますが、ご返信いただけると幸いです。

    • #44998
      アバター画像わいひら
      キーマスター

      やり方については、以下のトピックの方法でいけるのではないかと思います。
      フロントページの投稿記事一覧の上に固定ページを表示したい

    • #45016
      しとね
      ゲスト

      ご返信ありがとうございます。
      上記のトピックはフロントページに追加で固定ページの内容を表示させるというトピックですね。
      自分の理解が及んでいない可能性がありますが、求めている内容と少し異なっていると思います。
      伝え方が悪く、上手く説明できなくて申し訳ありません。

      再度ご質問させていただきたいのですが、
      今smplicityにはフロントページにて最新記事一覧がデフォルトで表示されていますが、
      そちらの内容をそのまま固定ページで表示させたいです。
      フロントページで最新記事一覧を表示させているのは、どのファイルでしょうか?

      home.phpだと思い、home.php内容を固定ページでそのまま使ってみたりもしてみました。

      
      <?php get_header(); ?>
      
      <?php get_template_part('list') ?>
      
      <?php get_footer(); ?>
      

      すると、「 Archives 」一覧と出てしまい、最新記事一覧が表示されませんでした。
      度々のご質問申し訳ございませんが、ご教示頂ければ幸いです。

    • #45021
      hidekichi
      ゲスト

      結局、このSimplicity公式みたいに、トップページは普通にリストではない記事を出して、newsみたいな所で最新リスト一覧を出したいと言う意味ではないんですかね?

      任意の固定ページで最新一覧を出したいなら、ショートコードやプラグインでそれら一覧を拾って、表示がいわゆるSimplicityのリスト表示になるように別途手を入れる方向かと思うんですけれども。

      最新記事にしても、アーカイブやカテゴリにしても表示は同じものです。表示されているリストの種類が違うだけで全部list.phpから読み込まれているentry-card.php等の表示が適用されています。

      > (リストの)内容をそのまま固定ページで表示させたい

      ここにこだわる理由は何でしょうか?
      固定ページにリスト表示をする意味みたいのが伝わりにくいんです。

      Simplicity公式みたいなものなら、固定ページでトップを作ってこれを普段のリスト表示の代わりにトップページで読み込ませてあるだけで、wordpressの機能です。前レスは読んでいませんがわいひらさんが言われたのはこのことでしょう。

      なぜ、固定ページにメインループを持っていきたいのか、またトップページで何をしたいのか、その思われている構想がどういうものかをまず伝えてもらって、「それなら固定ページにメインループを持っていかないとね」となれば別ですが、普通はそうはしないわけですよ。

      メインループは投稿記事も固定記事も、それがアーカイブだろうが特定のカテゴリーだろうが、いわゆるリスト一覧はそこで表示されるわけです。固定ページでそれをしたいと言われているのか最新の記事一覧だけを表示したいと言われているのかでまた話は変わりますが、読み進めると、「最新の記事一覧だけを表示したい」わけですよね?
      そうなるとメインループを移動させたいわけではなく、「最新記事一覧を固定ページで表示する方法が知りたい」と取れます。それは世間で言う所の「サブループで最新記事一覧を表示する」と言うことです。

      そこで僕らが思うのは、そのような表示にした時にメインループはどう使われるんだろう?とか、トップページは何が表示されているんだろう?となるわけですよ。

      なので、トップページをどういうものにしたくて、かつその任意の固定ページで最新記事を表示したい状態と言うのはどういうものかという構想が知りたいわけです。
      つまりどういうことがしたいのか?と言うこちらからの質問に対して、「最新記事のリストを固定ページで使いたい」ではなく、それをする意味、そうしないとやりたい事が実現できないと言うのはどういう状態なのかをまず伝えてほしいわけです。簡単に言うと最終的にどうなって欲しいのかの目的がわからないと言うことですね。

      どこそこのページのようにしたいと言う参考サイトを書いてもらえるだけでも良いです。最終的にどうなるのが正解かがいまいちつかめないと言うのをまずクリアするべきかと思います。

    • #45027
      しとね
      ゲスト

      >hidekichi様
      おっしゃる通り、こちらがどのようなものを伝えてから質問すべきでした。
      wordpress自体をブログではなくWEBサイトとして魅せるように作りたく、
      そのためフロントページは自由にレイアウトを組み込み、記事一覧は別ページに移したかったのが理由です。

      恥ずかしいことに、メインループやサブループといった概念をhidekichi様の返信で初めて知りました。
      そちらで調べてみると、メインループを固定ページに表示させる方法ならネット上でたくさんありましたので、ここからは自分で挑戦してカスタマイズしてみたいと思います。

      hidekichi様、そしてわいひら様、ご返信ありがとうございました。

    • #45030
      hidekichi
      ゲスト

      最も簡単な方法は、wordpress自体を変更するのではなく、サブディレクトリにwordpressをインストールすることです。

      サイトドメインがsimplicity.orgとあった場合、

      simplicity.org/blog/
      # blogディレクトリは任意に設定できる

      と言うアドレスではwordpressが表示されますが、それ以外は普通のwebサイトと同じです。これはcodexの「WordPress を専用ディレクトリに配置する」を参考してもらえれば、またいちからインストールなので手間ですが、言われせていることは実現できます。
      すでにルートにインストールされている場合は、それをサブディレクトリに移動させる方法をその他のサイトや上記codexで解説されているのでそれを参考にされるとよいかと思います。

      ここで必須なのがftpが使えることと、これまでにカスタマイズした内容のバックアップです。
      全てを1からやるのであれば、ftpが使えればそれで事足りますが、すでに何かしら手を入れたwordpressがあるのであれば、必ずバックアップを取っておいてください。

      また何かしらのパスが入ったようなものは、変更する必要があるかもしれません。全部を一度に復元してしまわず順番に動作を確認しつつ戻していくことをオススメします。
      インポート・エクスポートなどのツールでは画像が移行できないものもあるので、必ず画像もバックアップを取っておいてください。

    • #45038
      アべちゃん
      ゲスト

      サブディレクトリじゃないんだよね~

      wordpress自体をブログではなくWEBサイトとして魅せるように作りたく、
      そのためフロントページは自由にレイアウトを組み込み、記事一覧は別ページに移したかったのが理由です。

      結構、需要が多いですよね
      「メインループを固定ページに表示させる方法」が分かったら
      教えてねー

    • #45040
      technote
      ゲスト

      最新記事を表示したいページを無理やりトップページと認識させることで実現可能かと思います。
      子テーマのfunctions.phpなどに以下のコードを記述します。
      下の72を最新記事を表示したいページの記事IDに置き換えます。

      add_filter('pre_get_posts', function($query){
      	if ( $query->get_queried_object_id() == 72 ) {
      		$paged = $query->query_vars['paged'];
      		$query->init();
      		$query->is_home = true;
      		$query->query_vars['paged'] = $paged;
      	}
      } );
    • #45041
      hidekichi
      ゲスト

      #45030 の 意味が伝わらないとあれなので、書いときます。

      wordpress関数を外から使うにはwp_load.phpを読み込む

      制限はありますが、別ページからwordpressの関数は使えるので、自由にトップページなりその他ページを作っておいてブログ部分はwordpressを使えばいいじゃないって話です。
      自在に作れるならwordpress自体も必要ない場合もありますが、wordpressをいじるより自分仕様のページの中でwordpresssの機能を使うほうがまだ簡単だろうと言うことです。

      ルートにおいてもできますが、トップページをいじりたいならルートに置かないほうが良いこともあります。ただそのせいで構造がわかりにくくなるかもしれませんけどね。
      デザインを統一すれば、どこにwordpressが使われているかとかはパッと見た目にはわかりませんよ。

      簡単には設置はできますが、運用は難しくなるかもしれませんので諸刃の剣かもしれません。

    • #45048
      アべちゃん
      ゲスト

      technoteさん
      スゴイ!

      コピペ一発!!

    • #45049
      hidekichi
      ゲスト

      #45040

      この方法だと、home.phpを改造したらその内容が擬似的に表示した固定ページの方に表示され、index.phpを改造してもhome.phpがあればwordpressはhome.phpを探すので結局home.phpが表示されることになったりして、サイトアドレスでアクセスする場合、設定するトップページにリダイレクトが必要になったりしませんか?

      任意の固定ページでhome表示されると言うことについては問題ないと思うんですが、上記がちょっと気になる所。

    • #45051
      technote
      ゲスト

      設定=>表示設定の「フロントページの表示」の設定を固定ページにした場合、トップページと認識させたページも固定ページが表示されるバグが有りました。
      修正版です。

      add_filter('pre_get_posts', function($query){
      	if ( $query->get_queried_object_id() == 72 ) {
      		$paged = $query->query_vars['paged'];
      		$query->init();
      		$query->is_home = true;
      		$query->query_vars['paged'] = $paged;
      		$query->query = true;
      	}
      } );
    • #45058
      アべちゃん
      ゲスト

      GJ!

12件の返信スレッドを表示中
  • フォーラム「テーマファイルのカスタマイズに関する質問など」には新規投稿および返信を追加できません。
スポンサーリンク
アドセンス(大)
アドセンス(大)