【wordpress】カスタム投稿タイプをトップページにお知らせ表示

2017年10月10日

カスタム投稿タイプ

                        <div class="common_post_panel">
                            <?php
                            $args = array(
                                'posts_per_page' => 4,
                                'post_type' => 'report',
                                'post_status' => 'publish'
                            );
                            $my_posts = get_posts($args);
                            ?>
                            <?php foreach ($my_posts as $post): setup_postdata($post); ?>
                                <div class="article">
                                    <dl>
                                        <dt>
                                            <span class="date"><?php the_time('Y/n/j'); ?></span>
                                        </dt>
                                        <dd>
                                            <h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
                                        </dd>
                                    </dl>
                                </div>
                            <?php endforeach; ?>
                            <?php wp_reset_postdata(); ?>
                        </div>

toolsetで作ったpost_typeの時に使ったもの。

post_typeをpostにすると(’post_type’ => 'post’)通常投稿もこの方法で表示可能。

posts_per_page:このページに表示させる投稿数
post_type:カスタム投稿タイプのスラッグ
post_status:’publish’は公開ステータスのものという意味。

publish以外‥‥‥使うの?

公開済 (publish)、予約済 (future)、下書き (draft)、承認待ち (pending)
非公開 (private)、ゴミ箱 (trash)、自動保存 (auto-draft)、継承 (inherit)

https://wpdocs.osdn.jp/%E6%8A%95%E7%A8%BF%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9

カテゴリでしぼる

<?php
      $args = array(
      'posts_per_page' => 4,
      'post_type' => 'post',
      'cat' => -3,
      'post_status' => 'publish'
      );
 $my_posts = get_posts($args);
 ?>

↑これは、カテゴリIDが3以外の時。

<?php
      $args = array(
      'posts_per_page' => 4,
      'post_type' => 'post',
      'cat' => 3,
      'post_status' => 'publish'
      );
 $my_posts = get_posts($args);
 ?>

↑こっちなら、カテゴリIDが3の時だけ。