質問: お世話になっております。 ワードプレスでカスタムフィールドのチェックボックスを 半角カンマを改行に変えて 表示させるためこのように書きました。 the_field('syusaisya')の値は 「りんご, みかん」 ``` ', $str); echo $str; ?> ``` しかし表示結果は 「りんご, みかん」 のままで出力されてしまいます。 半角カンマが問題かと思い りんごをパイナップルに変えるように このようにしてみましたが 結果は同じでした ``` ``` 希望の表示結果 りんご みかん にするためにはどのようにしたら よろしいでしょうか?
回答: `the_field`関数は画面表示用なので戻り値が無いはずです。二回文字列が表示されてないでしょうか? `get_field`に変えてみてください。 str_replaceの使い方としては合ってそうです。 追記 `get_field` の場合、チェックボックスで複数指定している場合は配列でデータが帰ってきます。 なので、下記のようなやり方で目的の出力は可能かと思います。 ``` $field = get_field('syusaisya'); $str = implode('', $field); echo $str; ``` 蛇足までに調査のやり方の例を記載しておきます。 今回の質問は結果だけみればstr_replaceは無関係なのですが、 思った結果にならない場合の調査の仕方は覚えておいて損はないと思うので。 今回の場合はまず、`str_replace()`がおかしい、と思ったはずです。 なら、`str_replace()`の前後を`var_dump()`等で出力してみましょう。 ``` $str = the_field('syusaisya'); echo "before:"; var_dump($str); $str = str_replace(',', '', $str); echo "after:"; var_dump($str); ``` 結果は before:NULL after:NULL となり、この時点で「変換前の`$str`がおかしい」となるはずです。 このあとは`the_field`の使い方を調べていくうちに`get_field`にたどり着く、あるいは、 「WordPressのthe_field関数でカスタムフィールドの値が取得できない」という質問をすることになるでしょう。