2016-10-25 4 views
0

Ich habe eine Frage bezüglich der Summe der Daten durch PHP-Code. Ich hatte den Code unten reibungslos bis vor etwa zwei Wochen, aber ich glaube, weil die Version von PHP aktualisiert worden sein sollte, hörte es auf zu arbeiten. Der Code lautet wie folgt:Hinzufügen von Daten über Variable 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 
    } 
} 

Dieser Code grundsätzlich auf den Zeitpunkt einer Anfrage bei der Anwendung von WooCommerce ($ invoice_date) gemacht betrug mit anderen von den Warenkorb Produkte generierten Daten ($ days_manufacture) jedoch diese Variable muss sein in Wochentagen.

+0

Genau wie funktioniert das nicht? –

Antwort

0

ich mein Problem gelöst, der Teil des Codes, der in Schwierigkeiten war folgende:

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

I ersetzt durch:

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

Danke euch allen!

Verwandte Themen