質問編集履歴

2

修正

2019/02/23 22:11

投稿

maronica
maronica

スコア16

test CHANGED
@@ -1 +1 @@
1
- Wordpress記事検索方法で、条件が2あるときはどうしたらいですか?
1
+ Wordpress記事を表示する効率につい
test CHANGED
@@ -1,77 +1,125 @@
1
+ ### 質問したいこと
2
+
1
- 記事を公開するユーザーを限定したいんでけど、条件が他にもあときの書き方につ教えてほしす。
3
+ Wordpressで記事を公開するユーザーを限定する機能を作っていす。
4
+
5
+
6
+
7
+ 次の「現状のソースコード」よりも、「改善したソースコード」の方が、記事の表示効率はいいでしょうか?
8
+
9
+
10
+
11
+ ### 現状のソースコード
12
+
13
+ カスタムフィールド『target』に自分のIDがあるか、または『target』が空のときは記事が閲覧できる。
14
+
15
+ というコードを書いています。
16
+
17
+
18
+
19
+ ```php
20
+
21
+ $args = array(
22
+
23
+ 'meta_query' => array(
24
+
25
+ 'relation'=>'OR',
26
+
27
+ array(
28
+
29
+ 'key' => 'target',
30
+
31
+ 'value' => get_current_user_id(),
32
+
33
+ 'compare' => 'LIKE', // 自分が公開相手に指定されてる場合
34
+
35
+ 'type'=>'NUMERIC'
36
+
37
+ ),
38
+
39
+ array(
40
+
41
+ 'key' => 'target',
42
+
43
+ 'value' => '',
44
+
45
+ 'compare' => '=', // 公開相手が未指定の場合
46
+
47
+ )
48
+
49
+ )
50
+
51
+ );
52
+
53
+ $the_query = new WP_Query( $args );
54
+
55
+ ```
56
+
57
+ ### 改善したソースコード
58
+
59
+ しかしそもそも自分が編集した記事は当然自分が閲覧できるようにしたいわけなので、上記のように検索するのではなく、下記のように「自分が投稿者の場合」という条件を追加したら記事の表示効率が上がるのではないかと考えました。
2
60
 
3
61
 
4
62
 
5
63
 
6
64
 
7
- ### 質問
65
+ ```php
8
66
 
9
- 今は下記のソースコードになってます。
67
+ $args = array(
10
68
 
69
+ 'meta_query' => array(
11
70
 
71
+ 'relation'=>'AND',
12
72
 
13
- カスタムフィールド『target』に自分のIDがあるか、または空のときは記事が閲覧できる。
73
+ array(
14
74
 
15
-
16
-
17
- しかし『target』が空ではなくて、自分のIDがなければ閲覧できない。というイメージです。
18
-
19
-
20
-
21
- ```ここに言語名を入力
22
-
23
-
24
-
25
- $args=array(
26
-
27
- 'meta_query' => array(
75
+ 'relation'=>'OR',
28
76
 
29
77
  array(
30
78
 
31
- 'key' => 'target',
79
+ 'key' => 'target',
32
80
 
33
- 'value' => get_current_user_id(),
81
+ 'value' => get_current_user_id(),
34
82
 
35
- 'compare' => 'LIKE',
83
+ 'compare' => 'LIKE', // 自分が公開相手に指定されてる場合
36
84
 
37
- 'type' => 'NUMERIC'
85
+ 'type'=>'NUMERIC'
38
86
 
39
87
  ),
40
88
 
41
89
  array(
42
90
 
43
- 'key' => 'target',
91
+ 'key' => 'target',
44
92
 
45
- 'value' => '',
93
+ 'value' => '',
46
94
 
47
- 'compare' => '=',
95
+ 'compare' => '=', // 公開相手が未指定の場合
48
96
 
49
- ),
97
+ ),
50
98
 
51
- 'relation' => 'OR'
99
+ ),
52
100
 
53
- ),
101
+ array(
54
102
 
103
+ 'key' => 'author',
104
+
105
+ 'value' => get_current_user_id(),
106
+
107
+ 'compare' => '=', // 自分が投稿者の場合
108
+
109
+ )
110
+
111
+ )
112
+
55
- );
113
+ );
56
114
 
57
115
  $the_query = new WP_Query( $args );
58
116
 
59
117
  ```
60
118
 
61
- ご質問したいのこれに『public』というカタムフィドの条件追加する方法で
119
+ そこでお聞きしたいのですが「改善したソーードように条件追加すると、効率は上がりまか?それととも下がりますか?
62
120
 
63
121
 
64
122
 
65
- つま、『public』
123
+ 理由や根拠も含めてお聞かせいただけるとありがたく思います。
66
124
 
67
- ・「all」なら全員閲覧できる。
68
-
69
- ・「lim」なら一部だけ(『target』にあるIDの人だけ)閲覧できる。
70
-
71
- ・「no」なら投稿者だけ閲覧できる。
72
-
73
- う条件も追加たいイメージです。
125
+ よろしくお願す。
74
-
75
-
76
-
77
- このように『target』と『public』など条件が2つあるとき、上記の $args=array() はどのように書けばいいのでしょうか?

1

可読性の向上

2019/02/23 22:11

投稿

maronica
maronica

スコア16

test CHANGED
File without changes
test CHANGED
@@ -62,7 +62,15 @@
62
62
 
63
63
 
64
64
 
65
+ つまり、『public』が
66
+
67
+ ・「all」なら全員閲覧できる。
68
+
65
- つまり、『public』がall」なら全員閲覧できて、「lim」なら一部だけ(targetにあるIDの人だけ)、「no」なら投稿者だけ。という条件も追加したいイメージ
69
+ 「lim」なら一部だけ(targetにあるIDの人だけ)閲覧きる
70
+
71
+ ・「no」なら投稿者だけ閲覧できる。
72
+
73
+ という条件も追加したいイメージです。
66
74
 
67
75
 
68
76