WordPress

WordPressでカテゴリーを取得するための関数を解説

WordPressでは投稿記事をカテゴリー毎に分類することができます。特にブログサイトではよくカテゴリーが使われます。カテゴリーを利用するメリットは、ユーザーが記事を見つけやすい、投稿の内容がわかりやすい、SEO対策などです。

WordPressではPHPのコードを使ってカテゴリーの情報を取得することができます。カテゴリーの情報が取得できれば、サイドバーやヘッダーにカテゴリー一覧を表示させたり、記事に割り当てられたカテゴリーからカテゴリー一覧ページを作れます。

本記事ではWordPressでカテゴリーを取得するための関数を解説します。

WordPressでカテゴリーを取得するための関数

get_categories

get_categoriesは登録されているカテゴリーの情報を取得することができます。サイドバーにカテゴリー一覧を作る時にはget_categoriesを使うと便利です。また、順番を並べ替えたり、記事のないカテゴリーを隠したりできます。

get_categoriesはPHPのコードとして使います。使い方は以下の通りです。

<?php 
    $categories = get_categories(); 
    foreach($categories as $ category){
        echo ‘<li>’.category->取得したい情報のパラメータ’</li>’;
?>

上記のコードではWordPress内で設定したカテゴリーの情報をリスト形式で表示させるためのコードです。取得したい情報にnameと入れれば記事の名前を取得し、表示させることができます。

例えば、「HTML/CSS」「JavaScript」「PHP」という名前のカテゴリーがあれば、HTMLのコードにすると以下のようになります。

<li>HTML/CSS</li>
<li>JavaScript</li>
<li>PHP</li>

取得できる情報は以下の通りです。

取得したい情報パラメータ
term_idタームID
nameカテゴリー名
slugスラッグ名
term_groupグループID
taxonomyタクソノミー
descriptionカテゴリーの説明文
count記事の数
parent直接の親カテゴリー
term_taxonomy_idタクソノミーID

get_categories()に$argsという引数を設定することで、パラメータを設定することができます。パラメータを設定することでカテゴリーの表示順や空のカテゴリーを非表示にすることができます。パラメーターを設定するには以下のコードを書きます。パラメータについてはWordPress Codexを参照してください。

<?php 
$args = array(
	'設定したいパラメータ’  = >  値;
); 
?>

また、get_categoriesで取得したカテゴリー名にはリンクがありません。つまり、リンクからカテゴリー一覧へ飛ぶような設定はできません。そのため、リンクをつけたいときは以下のコードになります。

<?php
    $categories = get_categories(); 
    foreach($categories as $ category){
    <a href="'.get_category_link($category->term_id).'">’.category->取得したい情報のパラメータ’</a>
?>

wp_list_categories

wp_list_categoriesはリンク付きのカテゴリーリストを作るための関数です。get_categoriesではaタグを使ってリンクを作りました。しかし、wp_list_categoriesではaタグが必要ないため、コードがシンプルになります。

コードは以下の通りです。

<?php wp_list_categories( $args ); ?>

$argsはget_categoriesと同様にパラメータの設定ができます。カテゴリーの順番を変更したり、カテゴリーにある記事の数を表示させる設定があり、欲しいパラメータを設定することがおすすめです。

the_category

the_categoryは記事に割り当てられたカテゴリーを取得するための関数です。そのため、the_categoryが使えるのは投稿ページのみです。関数が使われた記事のカテゴリーを1つ取得します。

表示しているページがどんなカテゴリーに属しているかを書くことでユーザーが記事の内容を理解しやすくなります。また、リンクをつけることで同じカテゴリーに属する記事一覧のページに飛べます。そのため、ユーザーがもっと知りたいと思った内容の記事を見つけることが簡単です。

コードは以下の通りです。

<?php
$category = get_the_category();
echo $category[0]->name;
?>

また、リンクをつける場合はget_category_linkを使います。コードは以下の通りです。

<?php
$category = get_the_category();
echo '<a href="'.get_category_link($category[0]->term_id).'">'.$category[0]->name.'</a>';
?>

まとめ

カテゴリーを取得することでサイドバーやカテゴリー別の記事一覧ページを簡単に作ることができます。また、記事からカテゴリー一覧へ飛べることで、ユーザーがあなたのWebサイトの様々な記事を見ることができます。

カテゴリーはユーザー目線では非常に大切な役割を持ちます。カテゴリーを使うことでユーザーが記事の内容を理解したり、記事を見つけやすくなります。また、SEO対策にもなるため、集客を目的とするのであれば設定したすることがおすすめです。