0

这涉及到 Wordpress 语法,但我认为这主要是 PHP 问题。

我正在使用这个功能:

$subject = sprintf( '%s New Customer Order %s for %s on %s', $blogname, $order->id, $order->get_total, $order->order_date );

生成类似:“SiteName New Customer Order #3715 for $40.00 on 7 月 5 日”

问题是 $order_total 输出为没有美元符号的纯整数。使用 $%s 或 \$%s 不起作用..如何将美元符号附加到第二个 %s 变量?

4

2 回答 2

0

我会做 :

$currency = '$';
$subject = sprintf( '%s New Customer Order %s for %s%01.2f on %s', 
      $blogname, 
      $order->id, 
      $currency,  
      $order->get_total, 
      $order->order_date );

因此能够更改不同的货币,并将金额格式化为美元和美分(或欧元和美分,英镑和便士等)

于 2017-07-09T02:25:13.367 回答
0

您实际上可以在变量$之前连接美元符号。get_total像这样:

<?php

  //Test class
  class Order{
    public $id = "3333";
    public $get_total = "50.00";
    public $order_date = "07-06-2017";
  }
  $order = new Order();

  // Concatenate the dollar sign $ before the $order->get_total variable
  echo sprintf( '%s New Customer Order %s for %s on %s', "Test name", $order->id, "$" . $order->get_total, $order->order_date );

?>

工作示例:http ://sandbox.onlinephpfunctions.com/code/648e6873ebfe9ffc68eb54e61cc2e953be612dca

于 2017-07-09T02:31:45.640 回答