質問編集履歴

5

文言を修正しました。

2019/08/23 14:37

投稿

UKYO9311
UKYO9311

スコア31

test CHANGED
@@ -1 +1 @@
1
- WordPress カテゴリ別の記事一覧ページを表示したい
1
+ WordPress カスタム投稿でカテゴリ別の記事一覧ページを表示したい
test CHANGED
@@ -2,23 +2,21 @@
2
2
 
3
3
 
4
4
 
5
- オリジナルのWordPressテーマを作ってるのですが、その中でカテゴリ別の記事一覧ページを表示したいです。
5
+ オリジナルのWordPressテーマを作ってるのですが、その中のカスタム投稿でカテゴリ別の記事一覧ページを表示したいです。
6
-
7
-
8
-
6
+
7
+
8
+
9
- archiveページの上部にカテゴリーが並んでいるのですが、例えばイベントを押すとイベントの全ての記事を表示、お知らせを押すとお知らせの全ての記事を表示といった仕組みにしたいのです。カテゴリーページを全て作る必要いとうのですが、うまく表示されなく困っています。
9
+ archive-works.phpというファイルの上部にカテゴリーが並んでいるのですが、例えばイベントを押すとイベントの全ての記事を表示、お知らせを押すとお知らせの全ての記事を表示といった仕組みにしたいのです。カスタム投稿でarchive.phpファイルでは実装できたのですが、カスタム投稿でうまく表示され困っています。
10
-
11
-
12
-
10
+
11
+
12
+
13
+
14
+
13
- 現在下の写真のような状態なのですがイベントを押すとurlはcategory/event/といった風になるのです現在ある記事全て表示されてしまいます。
15
+ 現在、archive-works.phpでは下の画像のようarchive.phpで読み込んだcategoryが表示されています。
14
-
15
-
16
-
16
+
17
- エラー所出てません
17
+ うまくworks_categoryが読み込まれていないことが原因だと思うですが。。
18
-
19
-
20
-
18
+
21
- ![イメージ説明](a74e0154ce615e0115a58e99598ccd55.png)
19
+ ![イメージ説明](27fca9753d393fba5f5a4ca19d500861.png)
22
20
 
23
21
 
24
22
 
@@ -36,138 +34,272 @@
36
34
 
37
35
  ```php
38
36
 
37
+
38
+
39
+
40
+
41
+ // archive-works.php
42
+
43
+
44
+
45
+ <ul>
46
+
47
+ <p>カテゴリー</p>
48
+
39
- <?php //カテゴリーリスト ======================================================== ?>
49
+ <li><a href="<?php echo home_url('/'); ?>works">全て</a></li>
50
+
40
-
51
+ <li>
52
+
41
- <?php
53
+ <?php
42
-
43
- //投稿記事全件数取得
54
+
44
-
45
- $count_pages = wp_count_posts();
55
+ $catid = get_the_category('works_category');
46
-
56
+
47
- $pages = $count_pages->publish;
57
+ $myCat = $catid[0]->cat_ID;
58
+
48
-
59
+ wp_list_categories('title_li=&depth=2&hierarchical=0&orderby=ID&order=ASC&current_category='.$myCat);
60
+
49
- ?>
61
+ ?>
50
-
62
+
51
- <div class="bg_white">
63
+ </li>
52
-
64
+
53
- <div class="container">
65
+ </ul>
66
+
54
-
67
+ ```
68
+
69
+
70
+
71
+ ```php
72
+
73
+
74
+
55
- <ul class="category-header-list">
75
+ // category-works.php
56
-
76
+
77
+
78
+
57
- <li class="category-header-list-title">カテゴリー</li>
79
+ <ul>
58
-
59
- <li class="all cat-name"><a class="<?php if( is_page("posts")) echo "p-current"; ?>" href="<?php echo home_url(); ?>/news">全て</a></li>
60
80
 
61
81
  <?php
62
82
 
63
- // パラメータを指定
64
-
65
- $args = array(
66
-
67
- // カテゴリー内の記事数順で指定
68
-
69
- 'orderby' => 'count',
70
-
71
- // 降順指定
72
-
73
- 'order' => 'DSC'
74
-
75
- );
76
-
77
- //記事のカテゴリー情報を取得
78
-
79
- $categories = get_categories( $args );
80
-
81
-
82
-
83
- foreach( $categories as $category ):
84
-
85
- //記事のカテゴリースラッグを取得
86
-
87
- $categories__slug = $category->category_news;
88
-
89
- //各カテゴリーに属する記事数を取得
90
-
91
- $catinfo = get_category_by_slug($categories__slug);//特定のカテゴリースラッグを指定
92
-
93
- $chosen_id = $catinfo->term_id;//カテゴリーIDを取得
94
-
95
- $thisCat = get_category($chosen_id);//カテゴリーの詳細データを取得
96
-
97
- $catCount = $post_sum = $thisCat->count;//カテゴリーの記事件数を表示
98
-
99
- ?>
100
-
101
- <li class="cat-name"><a class="<?php if($cat_slug == $categories__slug){ echo "p-current"; }; ?>" href="<?php echo get_category_link( $category->term_id ); ?>"><?php echo $category->name; ?></a></li>
102
-
103
-
104
-
105
- <?php endforeach; ?>
83
+ $posts = get_posts(array(
84
+
85
+ 'post_type' => 'works',
86
+
87
+ 'posts_per_page' => 12,
88
+
89
+ 'paged' => $paged,
90
+
91
+ 'category' => $cat // ここIDを取得
92
+
93
+ ));
94
+
95
+ ?>
96
+
97
+
98
+
99
+ <?php if($posts): foreach($posts as $post): setup_postdata($post); ?>
100
+
101
+
102
+
103
+ <li>
104
+
105
+ <a href="<?php the_permalink(); ?>">
106
+
107
+
108
+
109
+ <div class="news-archive-flex">
110
+
111
+ <div class="news-archive-img">
112
+
113
+ <?php if( get_the_post_thumbnail() ) { ?>
114
+
115
+ <div class="post-thumbnail">
116
+
117
+ <?php the_post_thumbnail(); ?>
118
+
119
+ </div>
120
+
121
+ <?php }else{ ?>
122
+
123
+ <img src="<?php echo get_template_directory_uri(); ?>/images/no-image.jpg">
124
+
125
+ <?php } ?>
126
+
127
+ </div>
128
+
129
+
130
+
131
+ <div class="top-works-text">
132
+
133
+ <div class="tag">
134
+
135
+ <span>
136
+
137
+ <?php $cat = get_the_category(); ?>
138
+
139
+ <?php $cat = $cat[0]; ?>
140
+
141
+ <?php echo get_cat_name( $cat->term_id); ?>
142
+
143
+ </span>
144
+
145
+ </div>
146
+
147
+
148
+
149
+ <span class="date"><?php the_time( 'Y.m.d' ); ?></span>
150
+
151
+
152
+
153
+ <h3>
154
+
155
+ <?php
156
+
157
+ if(mb_strlen($post->post_title, 'UTF-8')>30){
158
+
159
+ $title= mb_substr($post->post_title, 0, 30, 'UTF-8');
160
+
161
+ echo $title.'…';
162
+
163
+ }else{
164
+
165
+ echo $post->post_title;
166
+
167
+ }
168
+
169
+ ?>
170
+
171
+ </h3>
172
+
173
+ <p><?php echo mb_substr( get_the_excerpt(), 0, 200 ) ; ?></p>
174
+
175
+ </div>
176
+
177
+
178
+
179
+
180
+
181
+ </div>
182
+
183
+ </a>
184
+
185
+ </li>
186
+
187
+
188
+
189
+ <?php endforeach; endif; ?>
190
+
191
+
192
+
193
+ <div class="pagination-container">
194
+
195
+ <?php if(function_exists("pagination")) pagination($wp_query->max_num_pages); ?>
196
+
197
+ </div>
198
+
199
+
106
200
 
107
201
  </ul>
108
202
 
109
- </div><!--/.page-header-container-->
110
-
111
- </div><!--/.page-header-cat-area-->
112
-
113
203
  ```
114
204
 
115
205
 
116
206
 
117
- ```css
207
+ ```php
118
-
208
+
209
+
210
+
119
- //category-list
211
+ // functions.php
212
+
213
+
214
+
215
+
216
+
120
-
217
+ add_action( 'init', 'create_post_type_works' );
121
-
122
-
218
+
123
- ul.category-header-list {
219
+ function create_post_type_works() {
220
+
124
-
221
+ register_post_type( 'works', //カスタム投稿タイプ名
222
+
223
+ array(
224
+
225
+ 'labels' => array(
226
+
227
+ 'name' => __( '実績' ),
228
+
229
+ 'all_items' => __( '実績一覧' ),
230
+
231
+
232
+
233
+ ),
234
+
235
+ 'public' => true,
236
+
237
+ 'has_archive' => true, //アーカイブページを持つ
238
+
239
+ 'menu_position' =>5, //管理画面のメニュー順位
240
+
241
+ 'supports' => array( 'title', 'editor', 'thumbnail','excerpt' ),
242
+
243
+ )
244
+
245
+ );
246
+
247
+ /* カテゴリーの設定 */
248
+
125
- display: flex;
249
+ register_taxonomy(
250
+
251
+ 'works_category', //カテゴリーの名前
252
+
253
+ 'works', //使うカスタム投稿タイプ名
254
+
255
+ array(
256
+
257
+ 'hierarchical' => true, //trueで親子関係使用
258
+
259
+ 'update_count_callback' => '_update_post_term_count',
260
+
261
+ 'label' => 'カテゴリー',
262
+
263
+ 'singular_label' => 'カテゴリー',
264
+
265
+ 'public' => true,
266
+
267
+ 'show_ui' => true
268
+
269
+ )
270
+
271
+ );
272
+
273
+ /* タグを設定 */
274
+
275
+ register_taxonomy(
276
+
277
+ 'works_tag', //タグの名前
278
+
279
+ 'works', //使うカスタム投稿タイプ名
280
+
281
+ array(
282
+
283
+ 'hierarchical' => false,
284
+
285
+ 'update_count_callback' => '_update_post_term_count',
286
+
287
+ 'label' => 'タグ',
288
+
289
+ 'singular_label' => 'タグ',
290
+
291
+ 'public' => true,
292
+
293
+ 'show_ui' => true
294
+
295
+ )
296
+
297
+ );
126
298
 
127
299
  }
128
300
 
129
301
 
130
302
 
131
- li.category-header-list-title {
303
+
132
-
133
- margin: 15px 30px 15px 0;
134
-
135
- white-space: nowrap;
136
-
137
- position: relative;
138
-
139
- }
140
-
141
-
142
-
143
- li a.p-current {
144
-
145
- color: #e85a25;
146
-
147
- border-bottom: 3px solid #e85a25;
148
-
149
- }
150
-
151
-
152
-
153
- ul.category-header-list li a {
154
-
155
- font-family: TTNormsPro-Medium, futura-pt, sans-serif;
156
-
157
- color: #010101;
158
-
159
- display: block;
160
-
161
- padding: 15px 10px 15px 10px;
162
-
163
- }
164
-
165
-
166
-
167
- li.cat-name {
168
-
169
- margin: 0 15px;
170
-
171
- }
172
304
 
173
305
  ```

4

文言を修正しました。

2019/08/23 14:37

投稿

UKYO9311
UKYO9311

スコア31

test CHANGED
File without changes
test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- archiveページの上部にカテゴリーが並んでいるのですが、例えばイベントを押すとイベントの全ての記事を追加、お知らせを押すとお知らせの全ての記事を追加といった仕組みにしたいのです。カテゴリーページを全て作る必要は無いと思うのですが、うまく表示されなく困っています。
9
+ archiveページの上部にカテゴリーが並んでいるのですが、例えばイベントを押すとイベントの全ての記事を表示、お知らせを押すとお知らせの全ての記事を表示といった仕組みにしたいのです。カテゴリーページを全て作る必要は無いと思うのですが、うまく表示されなく困っています。
10
10
 
11
11
 
12
12
 

3

文言を修正しました。

2019/08/22 06:37

投稿

UKYO9311
UKYO9311

スコア31

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,9 @@
2
2
 
3
3
 
4
4
 
5
- カテゴリ別の記事一覧ページを表示したいです。
5
+ オリジナルのWordPressテーマを作ってるのですが、その中でカテゴリ別の記事一覧ページを表示したいです。
6
+
7
+
6
8
 
7
9
  archiveページの上部にカテゴリーが並んでいるのですが、例えばイベントを押すとイベントの全ての記事を追加、お知らせを押すとお知らせの全ての記事を追加といった仕組みにしたいのです。カテゴリーページを全て作る必要は無いと思うのですが、うまく表示されなく困っています。
8
10
 

2

タイトルを修正しました。

2019/08/22 06:29

投稿

UKYO9311
UKYO9311

スコア31

test CHANGED
@@ -1 +1 @@
1
- WP カテゴリ別の記事一覧ページを表示したい
1
+ WordPress カテゴリ別の記事一覧ページを表示したい
test CHANGED
File without changes

1

文言を修正しました。

2019/08/22 06:07

投稿

UKYO9311
UKYO9311

スコア31

test CHANGED
File without changes
test CHANGED
@@ -4,11 +4,15 @@
4
4
 
5
5
  カテゴリ別の記事一覧ページを表示したいです。
6
6
 
7
- archiveページの上部にカテゴリーが並んでいるのですが、例えばイベントを押すとイベントの全ての記事を追加、お知らせを押すとお知らせの全ての記事を追加といった仕組みにしたいのですが、カテゴリーページを全て作る必要があるのでしょか??
7
+ archiveページの上部にカテゴリーが並んでいるのですが、例えばイベントを押すとイベントの全ての記事を追加、お知らせを押すとお知らせの全ての記事を追加といった仕組みにしたいのですカテゴリーページを全て作る必要は無いと思うのですが、まく表示されなく困っています。
8
8
 
9
9
 
10
10
 
11
11
  現在下の写真のような状態なのですが、イベントを押すとurlはcategory/event/といった風になるのですが現在ある記事全て表示されてしまいます。
12
+
13
+
14
+
15
+ エラーは今の所出てません。
12
16
 
13
17
 
14
18