[WP 3.8] トップページにカスタム投稿タイプの投稿を含む記事を出力する

twentyfourteen の index.php に、デフォルトの投稿一覧表示ブロックとは別に、
デフォルトの投稿記事とカスタム投稿タイプの投稿記事を、
混ぜて表示したい場合という想定で書いてみました。

post_type in (‘post’, ‘staff’) というところはカスタム投稿タイプ名を追加してください。
今回は post (デフォルトの投稿)の他に、staff (任意で作成するカスタム投稿タイプ名)を
追加した場合です。

<?php
// post_type の括弧内は編集が必要
$arrRet = $wpdb->get_results("select * from wp_posts where post_status = 'publish' and post_type in ('post', 'staff') order by post_date desc ");
foreach($arrRet as $post):
?>

<article id="post-<?php echo $post->ID; ?>" class="post-<?php echo $post->ID; ?> post type-post status-publish format-standard hentry category-1">
    <header class="entry-header">
        <h1 class="entry-title"><a href="<?php echo $post->guid; ?>" rel="bookmark"><?php echo $post->post_title; ?></a></h1>
        <div class="entry-meta">
            <span class="entry-date"><a href="<?php echo $post->guid; ?>" rel="bookmark"><time class="entry-date" datetime="<?php echo $post->post_date; ?>"><?php echo esc_html( get_the_date() ) ?></time></a></span> <span class="byline"><span class="author vcard"><a class="url fn n" href="<?php echo home_url(); ?>?author=<?php echo $post->post_author; ?>" rel="author"><?php echo the_author(); ?></a></span></span>            <span class="comments-link"><a href="<?php echo $post->guid; ?>#comments" title="<?php echo $post->post_title; ?> へのコメント"><?php echo $post->comment_count; ?>件のコメント</a></span>
            <span class="edit-link"><a class="post-edit-link" href="<?php echo home_url(); ?>/wp-admin/post.php?post=<?php echo $post->ID; ?>&amp;action=edit">編集</a></span>      </div><!-- .entry-meta -->
    </header><!-- .entry-header -->

    <div class="entry-content">
        <p><?php echo $post->post_content; ?></p>
    </div><!-- .entry-content -->

</article><!-- #post-## -->

<?php endforeach; ?>

短時間でちゃっちゃと書いたので、細かいところは修正アリだと思いますが、ご参考まで。

カテゴリー: 未分類   パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

* Copy This Password *

* Type Or Paste Password Here *

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>