通过变量PHP添加日期

时间:2016-10-25 21:31:21

标签: php woocommerce

我对PHP代码的日期总和有疑问。 我在下面的代码运行顺利,直到大约两周前,但我相信因为PHP的版本应该已经更新它停止工作。代码如下:

add_action( 'wpo_wcpdf_after_order_data', 'wpo_wcpdf_due_date', 10, 2 );

function wpo_wcpdf_due_date ($template_type, $order) {
    if ($template_type == 'packing-slip') { // put due date only on packing-slip

        $max_days = 0;

        foreach( WC()->cart->get_cart() as $cart_item )
            if($cart_item['days_manufacture'] > $max_days)
                $max_days = $cart_item['days_manufacture'];

        $days_manufacture = $max_days;
        $invoice_date = get_post_meta( $order->id, '_wcpdf_invoice_date', true );
        $due_date = date_i18n( get_option( 'date_format' ), strtotime( $invoice_date . " + $days_manufacture weekdays") );
        ?>
        <tr class="due-date">
            <th>Término da Confecção:</th>
            <td><?php echo $due_date;?></td>
        </tr>
        <?php
    }
}

此代码基本上等于woocommerce($ invoice_date)应用程序中请求的日期以及购物车产品($ days_manufacture)生成的其他数据,但此变量必须在工作日。

1 个答案:

答案 0 :(得分:0)

我解决了我的问题,陷入困境的代码部分如下:

&#13;
&#13;
foreach( WC()->cart->get_cart() as $cart_item )
            if($cart_item['days_manufacture'] > $max_days)
                $max_days = $cart_item['days_manufacture'];
&#13;
&#13;
&#13;

我换成了:

&#13;
&#13;
foreach( $order->get_items() as $item )
    	if(get_post_meta($item['product_id'], 'days_manufacture', true) > $max_days )
    		$max_days = get_post_meta($item['product_id'], 'days_manufacture', true);
&#13;
&#13;
&#13;

谢谢大家!