質問編集履歴

2

コードを目的に沿った形に修正致しました。

2018/12/03 04:13

投稿

makirons
makirons

スコア20

test CHANGED
File without changes
test CHANGED
@@ -91,3 +91,101 @@
91
91
  </ul>
92
92
 
93
93
  ```
94
+
95
+
96
+
97
+ ###補足と進捗
98
+
99
+ ご回答を受けて、上のコードを下のように修正致しました。
100
+
101
+ 上ではループ内で指定IDを取得していたのを、下では``$my_args``内で取得しています。
102
+
103
+ ただコメントアウトしてあるように、記事が最大で1つしか出力されません。
104
+
105
+ ```php
106
+
107
+ <?php
108
+
109
+ $my_args = array(
110
+
111
+ 'posts_per_page' => 10,
112
+
113
+ 'post_type' => 'mypost',
114
+
115
+ // ここまでの条件なら正常に動作する。
116
+
117
+ // 下記のmeta_queryによって記事が1つしか出力されなくなる。
118
+
119
+ 'meta_query' => array(
120
+
121
+ array(
122
+
123
+ 'key' => 'arrowUser',
124
+
125
+ 'value' => 1, // これが1でも2でも、とにかく記事が最大で1つしか出力されない。
126
+
127
+ 'compare' => 'LIKE',
128
+
129
+ 'type'=>'NUMERIC'
130
+
131
+ ),
132
+
133
+ array(
134
+
135
+ 'key' => 'arrowUser',
136
+
137
+ 'value' => '', // これは完全スルーされ、arrowUserが空の記事は出力されない。
138
+
139
+ 'compare' => '=',
140
+
141
+ ),
142
+
143
+ 'relation'=>'OR'
144
+
145
+ ),
146
+
147
+ );
148
+
149
+ $my_query = new WP_Query( $my_args );
150
+
151
+ ?>
152
+
153
+
154
+
155
+ <ul>
156
+
157
+
158
+
159
+ <?php if ( $my_query->have_posts() ) : ?>
160
+
161
+
162
+
163
+ <?php while ( $my_query->have_posts() ) : $my_query->the_post(); ?>
164
+
165
+
166
+
167
+ <li>
168
+
169
+ <?php the_title(); ?>
170
+
171
+ </li>
172
+
173
+
174
+
175
+ <?php endwhile; ?>
176
+
177
+
178
+
179
+ <?php wp_reset_postdata(); ?>
180
+
181
+
182
+
183
+ <?php endif; ?>
184
+
185
+
186
+
187
+ </ul>
188
+
189
+
190
+
191
+ ```

1

文章を一部訂正させて頂きました。

2018/12/03 04:13

投稿

makirons
makirons

スコア20

test CHANGED
File without changes
test CHANGED
@@ -14,9 +14,9 @@
14
14
 
15
15
  ###問題
16
16
 
17
- たとえば、1ページに本来表示されるべき記事が10件あり、その中に私が指定ユーザーに入っていない非表示の記事が1件あるときに、私に表示させたい記事は10件です。変わりません。
17
+ たとえば、1ページに本来表示される記事が10件あり、その中に私が指定ユーザーに入っていない非表示の記事が1件あるときに、私に表示させたい記事変わらず10件です。
18
18
 
19
- (表示されない1件のわりに、別の1件が表示されるということです。)
19
+ 表示1件のわりに、別の1件が表示されるということです。)
20
20
 
21
21
 
22
22