回答編集履歴
2
add_shortcodeが抜けてた
answer
CHANGED
@@ -44,6 +44,7 @@
|
|
44
44
|
|
45
45
|
return $postsNumber;
|
46
46
|
}
|
47
|
+
add_shortcode('postsNumber', 'getPostsNumber');
|
47
48
|
```
|
48
49
|
|
49
50
|
|
1
コメントでの質問に回答
answer
CHANGED
@@ -9,4 +9,43 @@
|
|
9
9
|
return $postsNumber->category_count;
|
10
10
|
```
|
11
11
|
|
12
|
-
とかですかね。
|
12
|
+
とかですかね。
|
13
|
+
|
14
|
+
---
|
15
|
+
子カテゴリ数も全部取得:サンプルコード
|
16
|
+
|
17
|
+
テストしてないですが、こんな感じです
|
18
|
+
```php
|
19
|
+
function getPostsNumber($atts) {
|
20
|
+
extract(shortcode_atts(array(
|
21
|
+
'name' => '',
|
22
|
+
), $atts));
|
23
|
+
|
24
|
+
//対象カテゴリのターム情報を取得
|
25
|
+
$target_cat_term = get_term_by('name', $name, 'category');
|
26
|
+
|
27
|
+
//親カテゴリのカウント数
|
28
|
+
$target_cat_count = $target_cat_term->count;
|
29
|
+
|
30
|
+
//子カテゴリ配列を取得
|
31
|
+
$child_cat_lists = $catlist = get_term_children($target_cat_term->term_id, 'category');
|
32
|
+
|
33
|
+
//子カテゴリカウント総数用変数の初期化
|
34
|
+
$child_cat_count = 0;
|
35
|
+
|
36
|
+
//子カテゴリ配列をそれぞれカウント足す
|
37
|
+
foreach($child_cat_lists as $child_term_id) {
|
38
|
+
$each_cat_term = get_term_by('id', $child_term_id, 'category');
|
39
|
+
$child_cat_count = $child_cat_count + $each_cat_term->count;
|
40
|
+
}
|
41
|
+
|
42
|
+
//親カテゴリカウントと子カテゴリカウント総数を足す
|
43
|
+
$postsNumber = $target_cat_count + $child_cat_count;
|
44
|
+
|
45
|
+
return $postsNumber;
|
46
|
+
}
|
47
|
+
```
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
新しい質問を投稿するのがteratail的には正しそうですが(--;
|