質問編集履歴

3

ループの内容を追記、acfについて補足しました。

2016/07/31 18:37

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
File without changes

2

ループ内容を追記しました。

2016/07/31 18:36

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,42 @@
1
1
  wordpressで単語一覧ページを作成しているので、$query->setで$query->set( 'order', 'ASC' );にし、『A〜Z』までのアルファベット順で、Aで始まる単語は、Aのdivで囲うみたいなことをしたいのですが、どうしたらいいのか分からず、ご教授いただけますでしょうか。
2
+
3
+
4
+
5
+
6
+
7
+ ループ内のコードになります。
8
+
9
+ ```ここに言語を入力
10
+
11
+ <div>
12
+
13
+ <?php
14
+
15
+ $oldheadkey = $headkey;
16
+
17
+ $headkey = mb_substr( get_the_title(), 0, 1, 'UTF-8' );
18
+
19
+ if ( $headkey !== $oldheadkey ) {
20
+
21
+ the_title();
22
+
23
+ }
24
+
25
+ ?>
26
+
27
+ </div>
28
+
29
+ ```
30
+
31
+
32
+
33
+ meta_keyのwordlistは、A〜Zまでのアルファベットをタイトルの頭文字と共通の単語を選択させています。
34
+
35
+
36
+
37
+ 例 タイトルの単語 Helloの場合
38
+
39
+ wordlistより、『H』を選択。
2
40
 
3
41
 
4
42
 

1

出力したいhtml及び、function内容を修正しました。

2016/07/31 18:35

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -18,13 +18,19 @@
18
18
 
19
19
 
20
20
 
21
- /* works only */
21
+ /* word only */
22
22
 
23
- if ( $query->is_category('word') ) {
23
+ if ( $query->is_post_type_archive('word') ) {
24
24
 
25
25
  $query->set( 'posts_per_page', '-1' );
26
26
 
27
27
  $query->set( 'order', 'ASC' );
28
+
29
+ $query->set( 'orderby', 'meta_value' );
30
+
31
+ $query->set( 'meta_key', 'wordlist' );
32
+
33
+
28
34
 
29
35
  return;
30
36
 
@@ -52,34 +58,38 @@
52
58
 
53
59
 
54
60
 
55
- A
61
+ 実現したいhtmlでの記述は以下になります。
56
62
 
57
- ------------------------
58
63
 
59
- Aの単語1
60
64
 
61
- Aの単語2
65
+ <!-- Aの単語のボックス -->
62
66
 
63
- Aの単語3
67
+ <div>
64
68
 
65
- .
69
+ <span>A</span>
66
70
 
71
+ <p>Aの単語1</p>
72
+
73
+ <p>Aの単語2</p>
74
+
75
+ <p>Aの単語3</p>
76
+
67
- .
77
+ </div>
68
78
 
69
79
 
70
80
 
71
81
 
72
82
 
73
- B
83
+ <!-- Bの単語のボックス -->
74
84
 
75
- --------------------------
85
+ <div>
76
86
 
77
- Bの単語1
87
+ <span>B</span>
78
88
 
79
- Bの単語2
89
+ <p>Bの単語1</p>
80
90
 
81
- Bの単語3
91
+ <p>Bの単語2</p>
82
92
 
83
- .
93
+ <p>Bの単語3</p>
84
94
 
85
- .
95
+ </div>