サポート » 使い方全般 » 企業サイトで複数ページで投稿を表示したい。

  • 解決済 seijo31

    (@seijo31)


    WordPress初心者です。

    企業サイトでCMSとしてWordPressを活用したいと思っています。

    以下のような構成のサイトを作りたいと思っています。

    —————————————————————–

    サイト構成

    ページ       ページ内容

    TOPページ    各ページへのナビゲーション
              新着情報の最新5件のタイトル、投稿年、日を表示する。

    ABOUTページ   静的ページ

    新着情報     新着情報として投稿されたページを表示する

    ブログ      ブログとして投稿されたページを表示する。

    ——————————————————————

    上記のような構成を考えていますが、実現方法がわかりません。

    イメージとしては、投稿記事のカテゴリーを「新着情報」と「ブログ」に分けて、
    TOPページには、「新着情報」で投稿にフィルタをかて、タイトルの最新5件を、新着情報ページ、ブログページには、それぞれ、「新着情報」「ブログ」カテゴリーでフィルタをかけた投稿を表示するようにすれば可能かなと思っていたのですが、問題に直面しました。

    表示設定の「投稿ページ」にて指定できるページが一つしかないため、
    複数のページに投稿内容を出力することが出来ないのでは?と現在考えております。
    (実際、複数のページに投稿を出力出来ていない状況です。)

    複数のページに投稿を出力する方法はありますでしょうか?ご教示お願いします。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • 「複数のページ」のページは
    http://wpdocs.sourceforge.jp/管理パネル#Pages
    の「ページ – 静的コンテンツ」の事ですか?

    「新着情報ページ、ブログページ」も普通の扱いではWeblog(ブログ)なのですが。
    「新着情報ページ」を「ページ – 静的コンテンツ」で扱いたいと言うことですか?

    トピック投稿者 seijo31

    (@seijo31)

    >rockhopper2000

    説明がわかりづらくて申し訳ありません。

    現状、「新着情報」「ブログ」ともにWordPressの管理画面にて追加するページで作成しています。ページを追加して、それぞれ違ったテンプレートを当てています。
    「toppage.php」「news.php」「blog.php」

    静的コンテンツとは投稿が反映されないページのことでしょうか?

    ③新着情報     カテゴリー「新着情報」として投稿されたページを表示する

    ④ブログ      カテゴリー「ブログ」として投稿されたページを表示する。

    上記のようなイメージですので
    「静的コンテンツ」ではないと思います。

    それぞれ違ったテンプレートを当てています。

    管理画面→ページ→属性→テンプレート

    「toppage.php」「news.php」「blog.php」

    などのpage.phpを改変したテンプレートを適用していると言うことでしょうか?
    であれば

    カテゴリー「新着情報」として投稿されたページを表示する

    ページにはカテゴリーという概念がないのでどうなんでしょう?

    ③新着情報     カテゴリー「新着情報」として投稿されたpost(一般的なブログ記事)を条件分岐で表示する。
    ④ブログ      カテゴリー「ブログ」として投稿されたpost(一般的なブログ記事)を条件分岐で表示する。

    と言うイメージなのでしょうか?

    The Dynamic Nature of WordPress “Pages”
    このあたりでしょうか?

    トピック投稿者 seijo31

    (@seijo31)

    >rockhopper2000さん

    >「toppage.php」「news.php」「blog.php」
    >などのpage.phpを改変したテンプレートを適用していると言うことでしょうか?

    はい。デザインが微妙に異なるので違ったテンプレートを適用しています。

    >カテゴリー「新着情報」として投稿されたページを表示する
    >ページにはカテゴリーという概念がないのでどうなんでしょう?

    ×「カテゴリー「新着情報」として投稿されたページを表示する」
    ◯「カテゴリー「新着情報」として投稿された記事をページに表示する」

    またしても、説明が誤っておりました。混乱させるような文章で申し訳ありません。

    >③新着情報     カテゴリー「新着情報」として投稿されたpost(一般的なブログ記事)を条件分岐で表示する。
    >④ブログ      カテゴリー「ブログ」として投稿されたpost(一般的なブログ記事)を条件分岐で表示する。
    >と言うイメージなのでしょうか?

    はい。まさにその通りです。

    現在の私の状況は、ページに対して、記事を出力するには、設定>表示設定>投稿ページにて設定されたページにしか記事を出力できない状態です。

    この投稿ページを複数指定することができれば、各ページのテンプレートファイルに

    <?php if(have_posts()): while(have_posts()): the_post(); ?>
    <p><?php the_content(); ?></p>
    <?php endwhile; endif; ?>

    上記のようなコードで、記事の内容を出力できると考えておりましたが、
    実際には、1ページしか指定出来なかったため、何か方法はないかと模索していました。

    なにか方法はありますでしょうか?改めてご教授お願いします。

    (1)TOPページ 

    <?php
    query_posts('posts_per_page=5');
    if(have_posts()): while(have_posts()): the_post();
    ?><p><?php the_content(); ?></p><?php
    endwhile; endif;
    wp_reset_query();
    ?>

    (3)新着情報,(4)ブログ  

    <?php
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    query_posts('cat=123&paged=' . $paged);
    if(have_posts()): while(have_posts()): the_post();
    ?><p><?php the_content(); ?></p><?php
    endwhile; endif;
    wp_reset_query();
    ?>

    cat=123 の 123 を 「新着情報」カテゴリーID,ブログカテゴリーIDに置換してください。
    こちらでも表示件数を個別に指定したいなら query_posts で
    posts_per_page=10 など指定してください。
    参照:query_posts(本家)、query_posts(日本語)

    トピック投稿者 seijo31

    (@seijo31)

    >kzさん

    ご回答ありがとうございます。

    ご提示してもらった、コードを参考にして、
    投稿ページに指定しているページ以外でも投稿を出力する事が出来ました。
    query_postsを使って、投稿記事の情報をDBから持ってこないと駄目だったんですね。
    その辺の仕組みが全くわかっていませんでした。。。

    つまり、「設定>表示設定>投稿ページ」にて設定されたページは
    あらかじめ投稿記事情報を取得した状態に設定するという意味あいなのですね。
    (間違ってるかもしれませんが・・・)

    ご回答ありがとうございました。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「企業サイトで複数ページで投稿を表示したい。」には新たに返信することはできません。