回答編集履歴

2

add_shortcodeが抜けてた

2016/02/13 04:46

投稿

amaranthine
amaranthine

スコア501

test CHANGED
@@ -90,6 +90,8 @@
90
90
 
91
91
  }
92
92
 
93
+ add_shortcode('postsNumber', 'getPostsNumber');
94
+
93
95
  ```
94
96
 
95
97
 

1

コメントでの質問に回答

2016/02/13 04:46

投稿

amaranthine
amaranthine

スコア501

test CHANGED
@@ -21,3 +21,83 @@
21
21
 
22
22
 
23
23
  とかですかね。
24
+
25
+
26
+
27
+ ---
28
+
29
+ 子カテゴリ数も全部取得:サンプルコード
30
+
31
+
32
+
33
+ テストしてないですが、こんな感じです
34
+
35
+ ```php
36
+
37
+ function getPostsNumber($atts) {
38
+
39
+ extract(shortcode_atts(array(
40
+
41
+ 'name' => '',
42
+
43
+ ), $atts));
44
+
45
+
46
+
47
+ //対象カテゴリのターム情報を取得
48
+
49
+ $target_cat_term = get_term_by('name', $name, 'category');
50
+
51
+
52
+
53
+ //親カテゴリのカウント数
54
+
55
+ $target_cat_count = $target_cat_term->count;
56
+
57
+
58
+
59
+ //子カテゴリ配列を取得
60
+
61
+ $child_cat_lists = $catlist = get_term_children($target_cat_term->term_id, 'category');
62
+
63
+
64
+
65
+ //子カテゴリカウント総数用変数の初期化
66
+
67
+ $child_cat_count = 0;
68
+
69
+
70
+
71
+ //子カテゴリ配列をそれぞれカウント足す
72
+
73
+ foreach($child_cat_lists as $child_term_id) {
74
+
75
+ $each_cat_term = get_term_by('id', $child_term_id, 'category');
76
+
77
+ $child_cat_count = $child_cat_count + $each_cat_term->count;
78
+
79
+ }
80
+
81
+
82
+
83
+ //親カテゴリカウントと子カテゴリカウント総数を足す
84
+
85
+ $postsNumber = $target_cat_count + $child_cat_count;
86
+
87
+
88
+
89
+ return $postsNumber;
90
+
91
+ }
92
+
93
+ ```
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+ 新しい質問を投稿するのがteratail的には正しそうですが(--;
102
+
103
+