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

質問編集履歴

2

説明を追加

2016/09/19 19:36

投稿

OukaMutu
OukaMutu

スコア7

title CHANGED
File without changes
body CHANGED
@@ -2,22 +2,66 @@
2
2
  カスタムフィールドを一覧表示させた際に複数の値がカンマで区切ったまま表示されるのを
3
3
  別々に表示させる事は可能でしょうか?
4
4
 
5
+
6
+ single.php
7
+ ```ここに言語を入力
8
+ <?php $url = site_url(); // url取得
9
+ $list = get_meta_values('hoge'); // カスタムフィールド取得
5
- ###発生している問題・エラーメッセージ
10
+ shuffle($list);
11
+ foreach ( $list as $key=>$value) {
12
+ $list_name[$key] = $value->name;
13
+ echo '<li><a href='. $url . '/meta?key=hoge&value=' . $value->name . '>' . $value->name . '</a></li>';
14
+ } ?>
6
15
  ```
7
- <li>柴犬</li>
16
+ 上記の$value->nameをダンプすると下記が表示されます。
17
+ ```ここに言語を入力
18
+ array(8) {
19
+ [0]=> object(stdClass)#2971 (2) { ["name"]=> string(42) "柴犬,チワワ,ポメラニアン,パグ" ["count"]=> string(1) "1" }
20
+ [1]=> object(stdClass)#2970 (2) { ["name"]=> string(46) "柴犬,ボクサー,パグ,プードル,ゴールデンレトリバー" ["count"]=> string(1) "1" }
21
+ [2]=> object(stdClass)#2915 (2) { ["name"]=> string(9) "チワワ" ["count"]=> string(1) "1" }
22
+ [3]=> object(stdClass)#2927 (2) { ["name"]=> string(35) "チワワ,ポメラニアン,柴犬" ["count"]=> string(1) "1" }
23
+ [4]=> object(stdClass)#2923 (2) { ["name"]=> string(9) "ダックスフント" ["count"]=> string(1) "1" }
24
+ [5]=> object(stdClass)#2921 (2) { ["name"]=> string(6) "ブルドック" ["count"]=> string(1) "1" }
25
+ [6]=> object(stdClass)#2920 (2) { ["name"]=> string(6) "シーズー" ["count"]=> string(1) "1" }
26
+ [7]=> object(stdClass)#2919 (2) { ["name"]=> string(6) "ブルドック" ["count"]=> string(1) "1" }
27
+ } array(0) { }
28
+ ```
29
+ このまま<li>タグで表示すると下記のようになりカンマで区切られた値がそのまま表示されます。
30
+
31
+ ###問題のリストタグ
32
+ ```
8
- <li>ポメラニアン</li>
33
+ <li>柴犬,チワワ,ポメラニアン,パグ</li>
34
+ <li>柴犬,ボクサー,パグ,プードル,ゴールデンレトリバー</li>
9
35
  <li>ダックスフント,ミニチュアダックスフント</li>
36
+ <li>チワワ</li>
37
+ <li>チワワ,ポメラニアン,柴犬</li>
38
+ <li>ダックスフント</li>
39
+ <li>ブルドック</li>
10
- <li>コリ犬,ミニコリー</li>
40
+ <li>ー</li>
41
+ <liブルドック</li>
11
-
42
+ ```
43
+ ###希望しているリストタグ
44
+ ```
12
45
  <li>柴犬</li>
46
+ <li>チワワ</li>
13
47
  <li>ポメラニアン</li>
48
+ <li>パグ</li>
49
+ <li>ボクサー</li>
50
+ <li>パグ</li>
51
+ <li>プードル</li>
52
+ <li>ゴールデンレトリバー</li>
14
53
  <li>ダックスフント</li>
15
54
  <li>ミニチュアダックスフント</li>
16
- <li>コリー犬</li>
55
+ <li>チワワ</li>
56
+ <li>ブルドック</li>
17
- <li>ミニコリー</li>
57
+ <li>ズー</li>
18
58
  ```
59
+ 重複した値をカウントしつつ、ひとつひとつリスト表示させる。
60
+ カスタムフィールドの値が一つなら問題は有りませんが値が複数だと上記のように表示させる事ができず
61
+ 困っています。
62
+
19
63
  ###該当のソースコード
20
- function.php
64
+ function.php(get_meta_values)
21
65
  ```ここに言語を入力
22
66
  function get_meta_values( $key = '', $type = 'post', $status = '' ) {
23
67
  global $wpdb;
@@ -35,18 +79,9 @@
35
79
  return $r;
36
80
  }
37
81
  ```
38
- single.php
39
- ```ここに言語を入力
40
- <?php $url = site_url(); // url取得
41
- $list = get_meta_values('hoge'); // カスタムフィールド取得
42
- shuffle($list);
43
- foreach ( $list as $key=>$value) {
44
- $list_name[$key] = $value->name;
45
- echo '<li><a href='. $url . '/meta?key=hoge&value=' . $value->name . '>' . $value->name . '</a></li>';
46
- } ?>
47
- ```
48
82
 
49
83
 
50
84
 
85
+
51
86
  ###補足情報(言語/FW/ツール等のバージョンなど)
52
87
  WordPress 4.6.1 / Advanced Custom Fields 4.4.8 / PHP5.3.8 / MySQL5.5.16

1

tagの追加

2016/09/19 19:36

投稿

OukaMutu
OukaMutu

スコア7

title CHANGED
File without changes
body CHANGED
File without changes