teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

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

2018/12/03 04:13

投稿

makirons
makirons

スコア20

title CHANGED
File without changes
body CHANGED
@@ -44,4 +44,53 @@
44
44
  <?php endwhile; ?>
45
45
 
46
46
  </ul>
47
+ ```
48
+
49
+ ###補足と進捗
50
+ ご回答を受けて、上のコードを下のように修正致しました。
51
+ 上ではループ内で指定IDを取得していたのを、下では``$my_args``内で取得しています。
52
+ ただコメントアウトしてあるように、記事が最大で1つしか出力されません。
53
+ ```php
54
+ <?php
55
+ $my_args = array(
56
+ 'posts_per_page' => 10,
57
+ 'post_type' => 'mypost',
58
+ // ここまでの条件なら正常に動作する。
59
+ // 下記のmeta_queryによって記事が1つしか出力されなくなる。
60
+ 'meta_query' => array(
61
+ array(
62
+ 'key' => 'arrowUser',
63
+ 'value' => 1, // これが1でも2でも、とにかく記事が最大で1つしか出力されない。
64
+ 'compare' => 'LIKE',
65
+ 'type'=>'NUMERIC'
66
+ ),
67
+ array(
68
+ 'key' => 'arrowUser',
69
+ 'value' => '', // これは完全スルーされ、arrowUserが空の記事は出力されない。
70
+ 'compare' => '=',
71
+ ),
72
+ 'relation'=>'OR'
73
+ ),
74
+ );
75
+ $my_query = new WP_Query( $my_args );
76
+ ?>
77
+
78
+ <ul>
79
+
80
+ <?php if ( $my_query->have_posts() ) : ?>
81
+
82
+ <?php while ( $my_query->have_posts() ) : $my_query->the_post(); ?>
83
+
84
+ <li>
85
+ <?php the_title(); ?>
86
+ </li>
87
+
88
+ <?php endwhile; ?>
89
+
90
+ <?php wp_reset_postdata(); ?>
91
+
92
+ <?php endif; ?>
93
+
94
+ </ul>
95
+
47
96
  ```

1

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

2018/12/03 04:13

投稿

makirons
makirons

スコア20

title CHANGED
File without changes
body CHANGED
@@ -6,8 +6,8 @@
6
6
  そのために下記のソースコードを書いてみたのですが、問題があります。
7
7
 
8
8
  ###問題
9
- たとえば、1ページに本来表示されるべき記事が10件あり、その中に私が指定ユーザーに入っていない非表示の記事が1件あるときに、私に表示させたい記事は10件です。変わりません。
9
+ たとえば、1ページに本来表示される記事が10件あり、その中に私が指定ユーザーに入っていない非表示の記事が1件あるときに、私に表示させたい記事変わらず10件です。
10
- (表示されない1件のわりに、別の1件が表示されるということです。)
10
+ 表示1件のわりに、別の1件が表示されるということです。)
11
11
 
12
12
  ところが下記のソースコードですと、私には9件しか表示されなくなってしまうのです。
13
13