Несколько полей оформления пользовательских заказов woocommerce

поэтому я застрял с добавлением второго пользовательского поля оформления заказа в мой магазин.

Это первое настраиваемое поле — это переключатели, и оно добавляется прямо в поле шаблона. Другой — те же радио-кнопки, но с другим идентификатором и именами.

Доставка части работает просто отлично, но это Собственная марка не сохраняется и не отображается в админке после завершения заказа.

Вот что у меня уже есть, что я делаю не так?

/**
* Update the user meta with field value
**/
add_action('woocommerce_checkout_update_user_meta', 'my_custom_checkout_field_update_user_meta');
function my_custom_checkout_field_update_user_meta( $user_id ) {
if ($user_id && $_POST['shippinng']) update_user_meta( $user_id, 'shippinng', esc_attr($_POST['shippinng']) );
if ($user_id && $_POST['private']) update_user_meta( $user_id, 'private', esc_attr($_POST['private']) );
}/**
* Update the order meta with field value
**/
add_action('woocommerce_checkout_update_order_meta', 'my_custom_checkout_field_update_order_meta');

function my_custom_checkout_field_update_order_meta( $order_id ) {
if ($_POST['shippinng']) update_post_meta( $order_id, 'Transport', esc_attr($_POST['shippinng']));
if ($_POST['private']) update_post_meta( $order_id, 'Private label', esc_attr($_POST['private']));
}/**
* Display field value on the order edit page
*/
add_action( 'woocommerce_admin_order_data_after_billing_address', 'my_custom_checkout_field_display_admin_order_meta', 10, 1 );

function my_custom_checkout_field_display_admin_order_meta($order){
echo '<p><strong>'.__('Transport').':</strong> ' . get_post_meta( $order->id, 'Transport', true ) . '</p>';
echo '<p><strong>'.__('Private label').':</strong> ' . get_post_meta( $order->id, 'Private label', true ) . '</p>';
}/**
* Add the field to order emails
**/
add_filter('woocommerce_email_order_meta_keys', 'my_custom_checkout_field_order_meta_keys');
function my_custom_checkout_field_order_meta_keys( $keys ) {
$keys[] = 'Transport';
$keys[] = 'Private label';
return $keys;
}

0

Решение

Вы должны зарегистрировать частную марку, чтобы сохранить ее. Я советую скачать редактор полей оформления заказа и изучить код в учебных целях. Сравнение всегда было хорошей моделью, чтобы следовать из моего опыта 🙂

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]