回答編集履歴

2

追記

2017/12/20 01:29

投稿

退会済みユーザー
test CHANGED
@@ -21,3 +21,35 @@
21
21
 
22
22
 
23
23
  こんな感じでどうでしょうか。
24
+
25
+
26
+
27
+ ----
28
+
29
+ **【追記】**
30
+
31
+ `get_posts()`の戻り値は、その記事の全ての情報が入っています。
32
+
33
+ ですので、その中からページIDだけを抜き取ります。
34
+
35
+ この場合、`array_column()`でIDキーだけを取得すれば良いでしょう。
36
+
37
+ ```PHP
38
+
39
+ $args = [
40
+
41
+ 'meta_key' => 'enable_page',
42
+
43
+ 'meta_value' => '1'
44
+
45
+ ];
46
+
47
+ $posts_array = get_posts( $args );
48
+
49
+ $posts_id = array_column($posts_array, 'ID');
50
+
51
+ $exclude_id = implode(',', $posts_id);
52
+
53
+ ```
54
+
55
+ また、変数`$posts`はWordPressで予約されている変数なので、出来れば使用するのを避けた方が懸命です。

1

文法を修正

2017/12/20 01:29

投稿

退会済みユーザー
test CHANGED
@@ -14,9 +14,9 @@
14
14
 
15
15
  2. 取得したページのIDの配列をforeachでカンマ区切りで代入してやるか、implodeで連結
16
16
 
17
- 3. [wp_list_pages()](https://wpdocs.osdn.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/wp_list_pages)のexcludeパラメータに除外IDを渡
17
+ 3. [wp_list_pages()](https://wpdocs.osdn.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/wp_list_pages)のexcludeパラメータに除外IDを渡した配列(引数)を作る
18
18
 
19
- 4. [widget_pages_args](https://wpdocs.osdn.jp/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3_API/%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF%E3%83%BC%E3%83%95%E3%83%83%E3%82%AF%E4%B8%80%E8%A6%A7#.E3.82.A6.E3.82.A3.E3.82.B8.E3.82.A7.E3.83.83.E3.83.88)でフィルターフックし、固定ページウィジェットパラメータを与える
19
+ 4. [widget_pages_args](https://wpdocs.osdn.jp/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3_API/%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF%E3%83%BC%E3%83%95%E3%83%83%E3%82%AF%E4%B8%80%E8%A6%A7#.E3.82.A6.E3.82.A3.E3.82.B8.E3.82.A7.E3.83.83.E3.83.88)でフィルターフックし、wp_list_pages()引数を与える
20
20
 
21
21
 
22
22