Wie Echo Metadaten-Wert in Währungsformat

Ich habe einen benutzerdefinierten Post-Typ mit einer Metabox und ein Eingabe-Textfeld, um den Posts “Preis” hinzuzufügen. Jetzt möchte ich den Eingabewert anzeigen, der wie 49 oder 59 wie 49.00 oder 59.00 sein kann. Bisher habe ich diesen Code, um das Meta auszugeben als:

$meta = get_post_custom($post->ID); echo '
$'.$meta['price'][0].'/h5';

aber das gibt nur den Wert als $ 49 oder $ 59 zurück. Können Sie bitte wissen lassen, wie ich es schaffen kann, um 49,00 $ zu machen?

Vielen Dank

Solutions Collecting From Web of "Wie Echo Metadaten-Wert in Währungsformat"

Der WordPress-core verfügt number_format_i18n() function number_format_i18n() , mit der Sie die Anzahl der Dezimalstellen festlegen und die entsprechende Formatierung entsprechend dem Gebietsschema der Site anwenden können.

Beachten Sie jedoch, dass es nicht spezifisch für Geld ist und dass es eigentümlichere Anforderungen geben kann.

Ich würde empfehlen, die PHP-corefunktion money_format()

Der Code sollte etwa so aussehen:

 $meta = get_post_custom($post->ID); // value=123456 setlocale(LC_MONETARY, 'en_US'); echo money_format('%i', $meta) . "\n"; // USD 1,234.56 

Prost

Sie sollten die php number_format function verwenden, die genau das tut, was Sie wollen.

Der zweite Parameter von number_format , wie viele Dezimalstellen hinter der Zahl stehen sollen.

Beispiel:

 < ?php echo number_format(123, 2); //123.00 echo number_format(123, 4); //123.0000 

Also mit deinem Code wäre es:

 $meta = get_post_custom($post->ID); echo '
$' . number_format($meta['price'][0], 2) . '
';

Rahil Wazirs Antwort kann den Job erledigen, aber ich denke, dass man die money_format-function von PHP * besser nutzen kann.

* Denken Sie daran, dass diese Seite für WordPress-spezifische Fragen gedacht ist.