添加跨度和类PHP数组

问题描述 投票:1回答:1

我使用的呼叫使用PHP的发票到期日WordPress插件:

<p><?php wpi_invoice_due_date2(); ?></p>

这然后显示为一列

<p>Due Date: 10 May 2019</p>

我期待与模板的其余记住这行,要做到这一点,我需要一个样式到日期,但我不能确定如何实现这一目标。

我创建了一个覆盖的插件,让我的风格的东西。

正如你将在下面看到,我添加了一个“”的截止日期文本。然而,这是不是与页面的其余部分一致,是什么使得它更困难的是,该行及以上行的所有包裹在相同的元素。

我大概可以ammend的做工作上的事情,不过,我很希望找出是否有一个变通此。

if ( !function_exists('wpi_invoice_due_date') ) {
function wpi_invoice_due_date2( $args = "" ) {
  global $invoice;

  $defaults = array(
      'return' => false,
      'text'   => __('<span class="duebold">Due Date:</span> ', ud_get_wp_invoice()->domain),
      'format' => 'd F Y'
  );

  extract( wp_parse_args($args, $defaults) );

  if ( empty( $invoice['due_date_year'] )
       || empty( $invoice['due_date_month'] )
       || empty( $invoice['due_date_day'] ) )  return;

  if ( !$return ) {
    echo $text.date($format, strtotime( $invoice['due_date_day'].'-'.$invoice['due_date_month'].'-'.$invoice['due_date_year'] ));
    return;
  }

  return $text.date($format, strtotime( $invoice['due_date_day'].'-'.$invoice['due_date_month'].'-'.$invoice['due_date_year'] ));
}

我已经加入这一行跨度:

'text'   => __('<span class="duebold">Due Date:</span> ', ud_get_wp_invoice()->domain),

但是,我想改变的截止日期后会发生什么

目前,我有

发票号码:1111111

发票金额:£120.00

截止日期:2019 03月01日

理想情况下,我想

发票号码:1111111

发票金额:£120.00

截止日期:2019 03月01日

php wordpress
1个回答
0
投票

从文本中删除<span>标记,并使用sprintf添加它周围的日期:

if ( !function_exists('wpi_invoice_due_date') ) {
function wpi_invoice_due_date2( $args = "" ) {
  global $invoice;

  $defaults = array(
      'return' => false,
      'text'   => __('Due Date: ', ud_get_wp_invoice()->domain),
      'format' => 'd F Y'
  );

  extract( wp_parse_args($args, $defaults) );

  if ( empty( $invoice['due_date_year'] )
       || empty( $invoice['due_date_month'] )
       || empty( $invoice['due_date_day'] ) )  return;

  $text.= sprintf(
    "<span class='duebold'>%s</span>",
    date($format, strtotime( $invoice['due_date_day'].'-'.$invoice['due_date_month'].'-'.$invoice['due_date_year'] )));

  if ( !$return ) {
    echo $text;
    return;
  }

  return $text;
}

sprintf Documentation

Personal note:

请,从来没有经过HTML到__()功能,你总能找到一种方法来插入字符串中的HTML标签和使用__()只检索所需的文本。文本字符串内的HTML使得更难翻译他们又容易出错。如果你不需要翻译,只使用纯文本。

© www.soinside.com 2019 - 2024. All rights reserved.