WordPressのループ外でカテゴリーページのURLを取得する方法

2017.11.27 WordPress
WordPressのループ外でカテゴリーページのURLを取得する方法

WordPressシングルページでカテゴリーページへのリンクを取得する場合、ループ内であればthe_categoryというテンプレートタグを使えば大丈夫です。

しかし、レイアウト上の都合など何らかの理由で、ループ外でカテゴリーページへリンクしたい場合には、以下のような形でカテゴリーページURLを取得する必要があります。

<?php
$cat = get_the_category(); //現在のページのカテゴリ―を取得
$cat_id = $cat[0]->cat_ID; //取得したカテゴリーのIDを取り出す
$cat_link = get_category_link($cat_id); //取り出したカテゴリーIDをget_category_linkに指定
echo $cat_link; //指定したカテゴリーページのURLを出力
?>

get_the_categoryとget_the_category

使用しているのはget_the_categoryとget_category_linkという2つのテンプレートタグです。

get_the_categoryは現在のシングルページが属するカテゴリーの配列を返すもので、投稿IDを渡すことでループ外でも使うことができます。

あまりないかもしれませんが、ある投稿(シングルページ)で別の投稿IDを渡せば、その別の投稿の属するカテゴリーURLを取得することができるようになっています。

get_the_categoryは、カテゴリーIDを指定することでそのカテゴリーのURLを返すテンプレートタグです。

上で紹介したコードでは、まずget_the_categoryで現在のページが属するカテゴリーの情報を取得し、そこからカテゴリーIDを取り出す。次に取り出したカテゴリーIDをget_category_linkで指定することでカテゴリーページURLを出力しているというような流れです。

出力するのはあくまでもURLだけですので、実際リンクするときには下記のような感じになります。

<a href="&lt;?php
$cat = get_the_category(); //現在のページのカテゴリ―を取得
$cat_id = $cat[0]-&gt;cat_ID; //取得したカテゴリーのIDを取り出す
$cat_link = get_category_link($cat_id); //取り出したカテゴリーIDをget_category_linkに指定
echo $cat_link; //指定したカテゴリーページのURLを出力
?&gt;"></a>

WordPressテーマ『HIGHLAND』公開しました

WordPressテーマ『HIGHLAND』を公開しました

このブログで紹介しているカスタマイズを、これでもかと盛り込んだ高性能なテーマになっております。商用・非商用問わず無料、是非ご利用ください。

ブログ集客メール講座登録フォーム

「売上が不安定で、月末になるといつも不安……」
「営業が苦手で新規開拓がうまくいかない……」
「Webが苦手でブログをうまく活用できない……」

個人起業家・フリーランスのあなた、こんなお悩みはありませんか?

実は僕も、独立して最初に直面したのが「集客」の壁でした。

しかし今は、1年の大半をベトナムで過ごしながら、フリーランスのWebディベロッパーとして生計を立てています。

僕がなぜ、時間・場所・人間関係に縛られずに暮らせるようになったのか?

その答えは「ブログ」にあります。

今なら、「初心者の人が成果を上げるため」のブログ集客ノウハウを、メール講座限定でお伝えします。

興味のある人は、今すぐ以下から登録【無料】を!

ブログ初心者が生き残るためのブログ集客メール講座

柴田竹思

柴田竹思

日本&ベトナム二拠点生活中のWeb系フリーランス。最近は育児6:仕事4のバランスで生活してます。これでもかってくらい奥さんの尻に敷かれてる座布団系男子です。

プロフィールはこちら