2017-01-13 9 views
3

Я бы хотел, чтобы в журнале при оформлении заказа был указан список заказов на woocommerce. Я могу поместить простой текст в поле, но когда я попытался добавить крючок, он выдает коды ошибок. Это код для добавления текста по умолчанию в поле. Расположенный в functions.php:Woocommerce: описание заказа в оформлении заказа Поле комментариев для заказа (PHP)

add_filter('woocommerce_checkout_fields' , 'default_values_checkout_fields'); 

function default_values_checkout_fields($fields) { 

$fields['order']['order_comments']['default'] = ' I would like the hook here '; 

return $fields; 
} 

Этот код выводит таблицу в кассе:

<table class="shop_table woocommerce-checkout-review-order-table"> 

<tbody> 
    <?php 
     do_action('woocommerce_review_order_before_cart_contents'); 

     foreach (WC()->cart->get_cart() as $cart_item_key => $cart_item) { 
      $_product  = apply_filters('woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key); 

      if ($_product && $_product->exists() && $cart_item['quantity'] > 0 && apply_filters('woocommerce_checkout_cart_item_visible', true, $cart_item, $cart_item_key)) { 
       ?> 
       <tr class="<?php echo esc_attr(apply_filters('woocommerce_cart_item_class', 'cart_item', $cart_item, $cart_item_key)); ?>"> 
        <td class="product-name"> 
         <?php echo apply_filters('woocommerce_cart_item_name', $_product->get_title(), $cart_item, $cart_item_key) . '&nbsp;'; ?> 
                      </td> 
       </tr> 
       <?php 
      } 
     } 

Это таблица, но я хотел бы текст из таблицы, чтобы показать в поле, если не таблица ,

+1

Какова ошибка, которую вы говорите, выбрасывается? – Tom

+0

Просьба уточнить ваш вопрос, поскольку он очень неполный и неясный, как сейчас. – LoicTheAztec

+0

Ошибка анализа: ошибка синтаксиса, неожиданный 'woocommerce_review_order_befor' (T_STRING) в /homepages/6/d651498966/htdocs/clickandbuilds/rxbsystem/wp-content/themes/woffice-child/functions.php в строке 147 – Victor

ответ

1

Как ваш вопрос не очень подробно, здесь вы получите пример, который будет отображаться в комментариях к заказу кассовых полей всех наименований продукции:

add_filter('woocommerce_checkout_fields' , 'custom_order_comments_checkout_fields'); 
function custom_order_comments_checkout_fields($fields) { 

    if (!WC()->cart->is_empty()): 

    $output = ''; 
    $count = 0; 
    $cart_item_count = WC()->cart->get_cart_contents_count(); 

    foreach (WC()->cart->get_cart() as $cart_item_key => $cart_item): 

     $count++; 

     // Displaying the product title 
     $output .= 'Product title: ' . $cart_item['data']->post->post_title; 

     // New line (for next item) 
     if($count < $cart_item_count) 
      $output .= ' 
'; 

    endforeach; 

    $fields['order']['order_comments']['default'] = $output; 

    endif; 

    return $fields; 
} 

код идет в function.php файл вашей активной темы ребенка (или тема). Или также в любых плагинах php-файлов.

Этот код будет отображаться в кассе заказа комментирует поля что-то вроде этого:

Product title: My Product title 1 
Product title: My Product title 2 
... 

You can easily output product quantity and all kind of data that is in the cart object… You have just to clearly define in your question what you want to output and how (without forgetting that this has to be raw data like, as is outputted in a text area field)

код проверен и работает.

+0

Это фактически дает мне то, что я хочу, мой вопрос не был достаточно конкретным. Я предполагаю. В настоящее время при оформлении заказа в корзине показывает «сводную заказ»: Стрижка Бронирование × 1 \t Детали: Дата: January 20, 2017 Время: 10:30 утра Услуги: Стрижка (для взрослых) волос Стилист: Мау Эти данные не были введены никаким полем в woocommerce checkout, а другим плагином, который может добавить эти данные в конце реального продукта Woocommerce «Стрижка». – Victor

+0

Ваше решение работает в том смысле, что оно отображает продукт «Обнаружение стрижки» в примечаниях к заказу, но на самом деле это детали ниже, за которыми я следую. Эти переменные не указаны в продукте. – Victor

+0

Этот ответ делает то, что мне нужно, чтобы сделать это до сих пор. Мне нужно исследовать плагин дальше, чтобы понять, как он показывает текст, когда он это сделает, я передам его вам, но решение, которое вы дали, делает то, что мне нужно для этого. далеко, спасибо. – Victor