回答編集履歴
2
追記と修正
answer
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
タクソノミー名やスラッグのみを取得したい場合
|
1
|
+
タクソノミー名(正確にはターム名)やスラッグのみを取得したい場合
|
2
2
|
`get_the_taxonomies()`よりも`get_the_terms( $id, タクソノミー名 )`のほうが適切ではないかと思います。
|
3
3
|
例えば
|
4
4
|
```PHP
|
5
5
|
$terms = get_the_terms($post->ID,'タクソノミー名');
|
6
6
|
```
|
7
|
-
とするとその記事に紐付けられているタ
|
7
|
+
とするとその記事に紐付けられているターム情報がすべて取得できます。
|
8
8
|
この情報はオブジェクトで返ってくるため
|
9
9
|
`var_dump($terms)`とでもすれば取得されたオブジェクトの内容をまず確認するのが良いでしょう。
|
10
10
|
|
@@ -20,4 +20,8 @@
|
|
20
20
|
echo '<a class="クラス名" href="', esc_url( home_url('/') ), 'タクソノミー名/', esc_attr($term->slug) ,'/" title="カテゴリー:', $term_name ,'">', $term_name ,'</a>';
|
21
21
|
}
|
22
22
|
}
|
23
|
-
```
|
23
|
+
```
|
24
|
+
####余談
|
25
|
+
タクソノミー: カテゴリーやタグなどの「分類」そのものを指します
|
26
|
+
ターム : タクソノミー下に設定した各カテゴリーなどを指します。
|
27
|
+
※ホーム>カテゴリー(←これがタクソノミー)>ブログ(←これがターム)
|
1
誤記
answer
CHANGED
@@ -5,17 +5,19 @@
|
|
5
5
|
$terms = get_the_terms($post->ID,'タクソノミー名');
|
6
6
|
```
|
7
7
|
とするとその記事に紐付けられているタクソノミー情報がすべて取得できます。
|
8
|
+
この情報はオブジェクトで返ってくるため
|
8
|
-
`var_dump($terms)`とでもすれば取得されたオブジェクトの内容
|
9
|
+
`var_dump($terms)`とでもすれば取得されたオブジェクトの内容をまず確認するのが良いでしょう。
|
10
|
+
|
9
11
|
そこから取得したいデータを出力したい形状で出力すればOKです。
|
10
|
-
|
12
|
+
また、オブジェクトや配列は`foreach`などでループで処理するのが基本かなと。
|
11
13
|
```PHP
|
12
14
|
$terms = get_the_terms($post->ID,'タクソノミー名');
|
13
15
|
if($terms){
|
14
16
|
foreach ($terms as $term) {
|
15
17
|
//Ex. ターム名なら
|
16
18
|
$term_name = esc_html($term->name);
|
17
|
-
//Ex. リンク
|
19
|
+
//Ex. リンクを付けたければこんな感じでも可
|
18
|
-
echo '<a class="クラス名" href="',
|
20
|
+
echo '<a class="クラス名" href="', esc_url( home_url('/') ), 'タクソノミー名/', esc_attr($term->slug) ,'/" title="カテゴリー:', $term_name ,'">', $term_name ,'</a>';
|
19
21
|
}
|
20
22
|
}
|
21
23
|
```
|