1

Advanced Custom Fieldsワードプレスプラグインを使用しており、フィールドの1つの値を出力しています。 the_field('Price');これは数値を示します。

この数値をコンマ付きの英ポンドとしてフォーマットしたいと思います。

出力に問題があります。出力された関数値と数値フォーマット関数のどちらが先かということと関係があるようです。

$money = the_field('Price');
echo  '£' . number_format($money,0, '.', '');

これは機能せず、出力されます。300000£0

前もって感謝します。

4

3 に答える 3

2

the_field()何も返さないようですが、代わりにエコーします。

独自のカスタム関数を作成できます。

function my_the_field($field, $post_id = false) {
    $value = get_field($field_name, $post_id);
    if (is_array($value)) {
        $value = @implode(', ', $value);
    }
    return $value;
}

の代わりにそれを使用しますthe_field()

またはを使用して出力をキャプチャしob_start()ob_get_clean()に渡しますnumber_format()

于 2012-06-25T10:40:40.540 に答える
1

素晴らしい答えをありがとう:

2番目のオプションは機能しました:

ob_start();

        the_field('Price');

        $out = ob_get_clean();
        $out = strtolower($out);

       echo '£' .  number_format($out);

       // var_dump($out);
于 2012-06-25T10:57:18.973 に答える
0

@Andrew Welchソリューションは機能しますが、関数はすでにACF(Advanced Custom Fields)に存在します

if (get_field('Price')){
 the_field('Price');
}
于 2015-04-17T11:52:17.453 に答える