Динамическое ценообразование на продукт на странице WooCommerce с одним добавлением в корзинуPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Динамическое ценообразование на продукт на странице WooCommerce с одним добавлением в корзину

Сообщение Anonymous »

Я пытаюсь создать плагин WooCommerce для страниц отдельных товаров. Мне нужно сложить обычные цены с индивидуальными ценами. Мне удалось получить сумму обычной цены и индивидуальной цены, но когда я нажимаю «Добавить в корзину», я не могу установить новую расчетную цену в корзине.
Любая помощь приветствуется.

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

// WooCommerce activation
function custom_product_page()
{
global $wpdb;
global $product;
wp_enqueue_style('my-plugin-styles', plugins_url('assets/css/diamond_style.css', __FILE__));

if (class_exists('WooCommerce') && is_product()) {
$product = wc_get_product(get_the_ID());

$product_categories = wp_get_post_terms(get_the_ID(), 'product_cat');
$is_ring = false;
foreach ($product_categories as $product_category) {
if ($product_category->slug === 'rings' || $product_category->slug === 'ring') {
$is_ring = true;
break;
}
}
$table_name = $wpdb->prefix . 'diamond_purity';
$ring_size_table = $wpdb->prefix . 'ring_size';

// Show Metal Color only if the product category is "ring"
if ($is_ring) {
// Retrieve the latest gold rate
$gold_rate_table = $wpdb->prefix . 'gold_rate';
$gold_rate = $wpdb->get_var("SELECT final_price FROM $gold_rate_table ORDER BY id DESC LIMIT 1");

// Get the net weight attribute
$net_weight = $product->get_attribute('net-weight-g');

// Get the regular price
$regular_price = $product->get_regular_price();

// Calculate the updated price
$updated_price = ($gold_rate * $net_weight) + $regular_price;

// Display the updated price
echo '
₹' . $updated_price . '
';

$gross_weight = $product->get_attribute('gross-weight');
echo 'Weight: ' . $gross_weight . ' g';

// Update cart item price with the custom price
add_filter('woocommerce_add_cart_item', function ($cart_item) use ($updated_price) {
$cart_item['data']->set_price($updated_price);
return $cart_item;
});
}
}
}
add_action('woocommerce_single_product_summary', 'custom_product_page', 25);
Я пробовал использовать add_filter, но мне не помогло.

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

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

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

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

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

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

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