どうも、チャーさんです。
あなたはwordpressで記事に
一覧へ戻るを表示させたいが、
urlを直接かく方法以外を探していませんか?
この記事では、phpとwordpressの関数を
使い、簡単に一覧へ戻るを表示させる方法を
書いています。
なので、wordpressで一覧へ戻るを実装したいなら
このまま下にスクロールし読んでください。
スポンサードサーチ
wordpressで一覧へ戻るを表示するには
ということで本題です。
wordpressで一覧へ戻る機能をつけたければ、
single.phpに以下の記述を書きましょう。
<?php
$cat = get_the_category();
$slug = $cat[0]->slug;
?>
<a href=”<?php home_url();?>/category/<?php echo $slug; ?>”>一覧へ戻る</a>
上記の記述を書いておくと、
各記事にその記事が属するカテゴリの
記事一覧へ戻る機能をつけることができます。
single.php内のどこに書けばいいの?
という疑問もあるかもなので書いとくと、
<?php
$cat = get_the_category();
$slug = $cat[0]->slug;
?>
は別にどこでもいいですが、
<a href=”<?php home_url();?>/category/<?php echo $slug; ?>”>一覧へ戻る</a>
よりも前に記述しましょう。
そしてaタグの部分は、
一覧へ戻るを表示させたい部分に、
記述しておけば良いです。
だいたいのサイトの作りとしては、
記事の内容が終わった後に、
一覧へ戻るを表示させるのが一般的なので、
ループの記述の後ぐらいにかくと
良いでしょう。
ちなみにループとは
if(have posts)とか
while(have posts)って書いてる部分のことです。
一覧へ戻るの記述を説明
で、ここからはこの記事で紹介した
コードの説明をしておきます。
まず一覧へ戻るの機能を実現させるには、
その記事が属するカテゴリのスラッグを、
取得する必要があります。
スラッグとは、サイトのurlのcategory/の後についてる
部分のことです。
参考例
というのもこのスラッグの部分で
各カテゴリの一覧ページを判別し
表示するからです。
で、その各記事が属するカテゴリのスラッグを取得するには、
wordpressで用意されてる、
get_the_category()という関数を使えば可能です。
get_the_categoryは、記述すると、
以下のようにカテゴリに関する情報を、
オブジェクトの配列形式で取得してくれます。
以下がget_the_categoryで取得できる、
カテゴリに関する情報一覧です。
array(1) { [0]=> object(WP_Term)#4405 (16) { [“term_id”]=> int(3) [“name”]=> string(9) “ブログ” [“slug”]=> string(4) “blog” [“term_group”]=> int(0) [“term_taxonomy_id”]=> int(3) [“taxonomy”]=> string(8) “category” [“description”]=> string(0) “” [“parent”]=> int(0) [“count”]=> int(1) [“filter”]=> string(3) “raw” [“cat_ID”]=> int(3) [“category_count”]=> int(1) [“category_description”]=> string(0) “” [“cat_name”]=> string(9) “ブログ” [“category_nicename”]=> string(4) “blog” [“category_parent”]=> int(0) } }
バーって出てきてめまいがしそうに
なりましたか?大丈夫、僕もです。
(ちなみに上記はvar_dump()で表示させてやると、
確認できます。)
で、話を戻しますがこんな感じでカテゴリに関する情報を
取得できるのですが、必要なのはスラッグなので、
<?php
$cat = get_the_category();
と記述してカテゴリに関する情報を取得した後に、
$slug = $cat[0]->slug;
?>
と、指定してやることでスラッグを取得し、
変数に格納することができます。
(このへんの仕組みはオブジェクト指向をかじってないと、
ちょっと理解しづらいので興味があれば、
勉強してみてください)
でこれで記事が属するカテゴリのスラッグが、
取得できたので、あとはそれを、urlの中に
表示させるだけです。
表示方法は、
<a href=”<?php home_url();?>/category/<?php echo $slug; ?>”>一覧へ戻る</a>
のように、category/の後に、
echoでスラッグを格納した変数を書いておけば、
その記事のカテゴリのスラッグが表示され、
一覧へ戻ることができるようになります。
ちなみにhome_url()というのは、
サイトのトップページのurlを表示してくれる
関数です。
便利なので覚えとくと使えます。
(いちいち手打ちでurlを書き換えなくて済みます。)
スポンサードサーチ
まとめ
ということで、wordpressで一覧へ戻る機能を
記事に表示させたい場合、
<?php
$cat = get_the_category();
$slug = $cat[0]->slug;
?>
<a href=”<?php home_url();?>/category/<?php echo $slug; ?>”>一覧へ戻る</a>
この記述をsingle.phpに書いときましょう。
すると一覧へ戻るが可能です。
ということで、読んでもらってありがとうございました。
では。
チャーさん