WooCommerce Live Расчет: QTY X get_meta ('_ value') = Окончательное значениеJquery

Программирование на jquery
Ответить Пред. темаСлед. тема
Anonymous
 WooCommerce Live Расчет: QTY X get_meta ('_ value') = Окончательное значение

Сообщение Anonymous »

Здесь мы говорим о продаже продуктов (особенно теста или пищи) в объемной единице /единице /или кг. Qty из частей (или любого единицы) на кг с использованием полезного кусочка кода, найденного здесь. Просто дублировал несколько строк .. Некоторые копии/вставка ..
(3) попробуйте поместить одинаковые функции на странице продукта (в процессе не найдено решение)
Обновление 09/12/2019
Код.

Код: Выделить всё

// Backend: Add and display a custom field for simple and variable products

add_action( 'woocommerce_product_options_general_product_data', 'add_custom_price_field_to_general_product_data' );

function add_custom_price_field_to_general_product_data() {
global $product_object;

echo '';

woocommerce_wp_text_input(array(
'id'          => '_min_unit_price',
'label'       => __('Min Unit price', 'woocommerce') . ' (' . get_woocommerce_currency_symbol() .  ')',
'description' => __('Enter the minimum unit price here.', 'woocommerce'),
'desc_tip'    => 'true',
'value'       => str_replace('.', ',', $product_object->get_meta('_min_unit_price') ),
'data_type'   => 'price'
));

// My custom field "Min price unit prefix"
woocommerce_wp_text_input(array(
'id'          => '_min_unit_prefix',
'label'       => __('Min Unit prefix', 'woocommerce'),
'description' => __(' Enter prefix unit price here.', 'woocommerce'),
'desc_tip'    => 'true',
'value'       => str_replace('.', ',', $product_object->get_meta('_min_unit_prefix') ),
'data_type'   => 'texte'
));

// My custom field "Estimated quantity"
woocommerce_wp_text_input(array(
'id'          => '_estimated_quantity',
'label'       => __('Estimated Quantity', 'woocommerce'),
'description' => __('Enter the quantity here.', 'woocommerce'),
'desc_tip'    => 'true',
'value'       => str_replace('.', ',', $product_object->get_meta('_estimated_quantity') ),
'data_type'   => 'price'
));

echo '';
}

// Backend: Save the custom field value for simple and variable products

add_action( 'woocommerce_admin_process_product_object', 'save_product_custom_price_field', 10, 1 );

function save_product_custom_price_field( $product ) {

if ( isset($_POST['_min_unit_price']) ) {
$product->update_meta_data( '_min_unit_price', wc_clean( wp_unslash( str_replace( ',', '.', $_POST['_min_unit_price'] ) ) ) );
}

if ( isset($_POST['_min_unit_prefix']) ) {
$product->update_meta_data( '_min_unit_prefix', wc_clean( wp_unslash( str_replace( ',', '.', $_POST['_min_unit_prefix'] ) ) ) );
}

if ( isset($_POST['_estimated_quantity']) ) {
$product->update_meta_data( '_estimated_quantity', wc_clean( wp_unslash( str_replace( ',', '.', $_POST['_estimated_quantity'] ) ) ) );
}

}

// Frontend variable products: Display the min price with "From" prefix label

add_filter( 'woocommerce_variable_price_html', 'custom_min_unit_variable_price_html', 10, 2 );
function custom_min_unit_variable_price_html( $price, $product ) {
if( $min_unit_price = $product->get_meta('_min_unit_price') ){
$price  = wc_price( wc_get_price_to_display( $product, array( 'price' => $min_unit_price ) ) );
$price .= $product->get_meta('_min_unit_prefix');
}
return $price;
}

// Frontend simple products: Display the min price with "From" prefix label
add_filter( 'woocommerce_get_price_html', 'custom_min_unit_product_price_html', 10, 2 );
function custom_min_unit_product_price_html( $price, $product ) {
if( $product->is_type('simple') && $min_unit_price = $product->get_meta('_min_unit_price') ){
$price  = wc_price( wc_get_price_to_display( $product, array( 'price' => $min_unit_price ) ) );
$price .= $product->get_meta('_min_unit_prefix');
}
return $price;
}

// Display the cart item weight in cart and checkout pages

add_filter( 'woocommerce_get_item_data', 'display_custom_item_data', 10, 2 );

function display_custom_item_data( $cart_item_data, $cart_item ) {

if ( $cart_item['data']->get_weight() > 0 ){
$cart_item_data[] = array(
'name' => __( 'Weight subtotal', 'woocommerce' ),
'value' =>  ( $cart_item['quantity'] * $cart_item['data']->get_weight() )  . ' ' .  get_option('woocommerce_weight_unit')
);
}

// Display the cart item "estimated quantity" in cart and checkout pages

if ( $cart_item['data']->get_meta('_estimated_quantity') ){
$cart_item_data[] = array(
'name' => __( 'Estimated quantity ', 'woocommerce' ),
'value' =>  ( $cart_item['quantity'] * $cart_item['data']->get_meta('_estimated_quantity') )
);
}

return $cart_item_data;
}

// Save and Display the order item weight (everywhere)
add_action( 'woocommerce_checkout_create_order_line_item', 'display_order_item_data', 20, 4 );
function display_order_item_data( $item, $cart_item_key, $values, $order ) {
if ( $values['data']->get_weight() > 0 ){
$item->update_meta_data( __( 'Weight subtotal', 'woocommerce' ), ( $item['quantity'] * $values['data']->get_weight() )  . ' ' . get_option('woocommerce_weight_unit') );
}
}
< /code>
Теперь мне нужна помощь, чтобы понять, как < /p>
Estimated quantity: 

может обновляться в режиме реального времени с количеством add_to_cart.
Формула должна быть чрезвычайно проста в jquery или javascript?
_estimated_quantity * Количество. Чтобы показать костюмеру, сколько они могут получить кусок пирожных (или любых других вещей) в 1 или XX кг
Поэтому я положил 15 или XX (приблизительное значение) в бэкэнд. /> Обновление 09/12/2019
Я исправил последнюю ошибку PHP.
Я хотел бы поблагодарить Snuwerd за его поддержку и значительную помощь без него, я не буду иметь смелости, чтобы бросить себя в мир PHP, я многому научился.>

Подробнее здесь: https://stackoverflow.com/questions/590 ... inal-value
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Jquery»