質問編集履歴
2
コードを目的に沿った形に修正致しました。
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
文章を一部訂正させて頂きました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -6,8 +6,8 @@
|
|
6
6
|
そのために下記のソースコードを書いてみたのですが、問題があります。
|
7
7
|
|
8
8
|
###問題
|
9
|
-
たとえば、1ページに本来表示される
|
9
|
+
たとえば、「1ページに本来表示される記事」が10件あり、その中に「私が指定ユーザーに入っていない非表示の記事」が1件あるときに、「私に表示させたい記事」は変わらず10件です。
|
10
|
-
(表示
|
10
|
+
(非表示の1件の代わりに、別の1件が表示されるということです。)
|
11
11
|
|
12
12
|
ところが下記のソースコードですと、私には9件しか表示されなくなってしまうのです。
|
13
13
|
|