サポート » 使い方全般 » カスタム投稿の記事をトップページの新着情報一覧にリスト化したいので

  • 解決済 tkj_tkj

    (@tkj_tkj)


    お世話になっております。
    当方、まだワードプレスを始めてまもないため、
    未熟な質問で申し訳ございません。

    表題の件、
    トップページに
    投稿記事と3種類のカスタム投稿記事のタイトルを5件表示しようと考えております。
    ※カスタム投稿のpost_typeは hoge1 hoge2 hoge3と仮置き致します。

    ところが投稿しかトップページに反映されない状態でございます。

    ○コード
    トップページの該当部分のコード

     <div id=”news”>

    • <?php $myset = array(
      ‘post_type’ => array(‘post’,’hoge1′,’hoge2′,’hoge3′),
      ‘posts_per_page’ => 5,
      ); ?>
      <?php query_posts($myset); ?>
      <?php if(have_posts()): while(have_posts()):
      the_post(); ?>
      <?php get_template_part(‘content’,’title’); ?>
      <?php endwhile; endif; ?>

    </div>

    ちなみに
    posts_per_page
    の5を数字変更すると
    表示される記事数は変化するのですが

    'post_type' => array('post','hoge1','hoge2','hoge3'),
    のコードを消したり、パラメータを減らしたりしても
    表示に変化はなくpostのみが表示されております。
    ですのでここに不具合があるのではないか、と考えているのですが
    解決方法がよく分かりません。

    参考までにカスタム投稿タイプのfunction.phpの内容です。
    こちらはhoge1のみですがhoge2 hoge3も同様の記述です。
     `//hoge1の投稿タイプ
    register_post_type(
    ‘hoge1’,
    array(
    ‘label’ => ‘hoge’,
    ‘hierarchical’ => false,
    ‘public’ => true,
    ‘has_archive’ => true,
    ‘supports’ => array(
    ‘title’,
    ‘editor’
    )
    )
    );`

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック投稿者 tkj_tkj

    (@tkj_tkj)

    いろいろ試行錯誤しているのですが、
    どうにもうまくいきません。

    <?php $myset = array(
    ‘post_type’ => array(‘post’,’hoge1′,’hoge2′,’hoge3′),
    ‘posts_per_page’ => 5,
    ); ?>
    <?php query_posts($myset); ?>
    <?php if(have_posts()): while(have_posts()):
    the_post(); ?>
    <?php get_template_part(‘content’,’title’); ?>
    <?php endwhile; endif; ?>

    'post_type' => array('post','hoge1','hoge2','hoge3'),
    ポストタイプを指定しているのに
    情報が吸い上げされないケースなどございますでしょうか?

    各カスタム投稿自体も上記のようにfunction.phpにてpost_typeを指定しております。
    記述をすると情報吸い上げの障害になるコードなどあるのでしょうか?

    どなたかお知恵をお借りできれば幸甚に存じます。
    どうぞ宜しくお願い申し上げます。

    トピック投稿者 tkj_tkj

    (@tkj_tkj)

    大変お騒がせ致しました。

    よく分かりませんが、
    <?php query_posts($myset); ?>
    ではなく、
    <?php $myposts = get_posts(array(
    を使用したら表示されました。

    サイトトップページに投稿とカスタム投稿の一覧を載せようと思ったのですが
    テンプレートによって使えないループなどがあるのでしょうか・・・

    もしどなたかこの現象についてご説明頂ける方がおられましたら
    ご教授頂ければ幸いでございます。

    モデレーター jim912

    (@jim912)

    tkj_tkjさん

    query_postsとget_postsが使用するコードはほぼ同一のもので、異なる点としては、SQLに対するフィルターフックがquery_postsでは有効であるのに対し、get_postsでは無効となっています。

    結果が両者で異なる場合は、query_postsのSQLにプラグインもしくは何らかのカスタマイズによって変更が加えられているため、意図した結果が得られない可能性があります。

    トピック投稿者 tkj_tkj

    (@tkj_tkj)

    jim912さん

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

    以下、雑談レベルで申し訳ございません。

    私は今、Wordpressを学習し始めたところで、
    Wordpressの入門系の本を数冊読みながら作成をしております。

    「コードをこう書けば、
     こういう風にデータ吸い上げが行われます」
    というコードのセットが書いてある本が
    やはり入門系の本なので多いのですが

    今回のような問題にぶつかった時も
    ロジックで解決するレベルになっておりません。

    googleで検索をして
    「こうすればこういうデータ吸い上げ出来る」というコードを複数入手し、
    手当たり次第に記述して
    実装出来たもので満足する、というような感じです。

    ワードプレスのphpmyadminの中のテーブルを理解出来る様になれば
    ロジックで解決できるようになるものなのでしょうか?
    (単純にSQLやPHPについて学習を深めれば対応できるようになるものなのでしょうか?)

    もし雑談にお付き合い頂ければ幸いです。

    ご回答ありがとうございました。
    ご回答内容についていったん勉強してみます。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「カスタム投稿の記事をトップページの新着情報一覧にリスト化したいので」には新たに返信することはできません。