4
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[WordPress]カテゴリの「スラッグ」から識別して該当カテゴリ一覧を表示する方法

Posted at

WordPress、「あるカテゴリの記事」だけを表示したい場合に、カテゴリの「スラッグ」から識別して一覧を表示する方法を紹介します。

例えば、WordPressのトップページでお知らせ記事一覧を表示したり、カテゴリ毎に一覧を表示する場合に使えます。

cat_IDでもいいのですが、cat_IDは指定することができないため、指定できる「スラッグ」の方が何かと便利です。

ではソースです。

ソース

<?php
// スラッグからカテゴリ情報を取得
$hoge = get_category_by_slug('hoge');
// 該当するカテゴリIDのもの5件表示
query_posts('cat='.$hoge_cat->cat_ID.'&posts_per_page=5');
?>

▲まずは、スラッグからカテゴリ情報を取得する部分から。

<ul>
<?php
if (have_posts()) :
    while (have_posts()) : 
        the_post();
?>
    <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
    <?php endwhile; ?>
<?php endif; ?>
</ul>

▲ほんでHTML部分。

結果

<ul>
<li><a href="カテゴリ「hoge」のURL1">カテゴリ「hoge」のタイトル1</a></li>
<li><a href="カテゴリ「hoge」のURL2">カテゴリ「hoge」のタイトル2</a></li>
<li><a href="カテゴリ「hoge」のURL3">カテゴリ「hoge」のタイトル3</a></li>
<li><a href="カテゴリ「hoge」のURL4">カテゴリ「hoge」のタイトル4</a></li>
<li><a href="カテゴリ「hoge」のURL5">カテゴリ「hoge」のタイトル5</a></li>
</ul>

WordPress関数

get_category_by_slug()
https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/get_category_by_slug

query posts()
https://wpdocs.osdn.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/query_posts

the permalink()
https://wpdocs.osdn.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/the_permalink

the_title()
https://wpdocs.osdn.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/the_title

まとめ

WordPressの制作が多い割には、関数名を記憶していないので、一応メモとして残しておくことにしました。

4
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?