Dan Zakirov
Ответы в темах
-
Форум: Проблемы и решения
Тема: Слияние полей товара WooCommerceСорян там же у вас атрибут, невнимательно посмотрел изначально… вот так будет работать
add_action( 'woocommerce_update_product', 'update_custom_meta_field' ); function update_custom_meta_field( $product_id ) { global $product; $product = wc_get_product( $product_id ); $a_raw = $product->get_attribute( 'УКАЖИТЕ_АТРИБУТ' ); $a = ! empty( $a_raw ) ? $a_raw : ''; $b = get_post_meta( $product_id, 'ВВЕДИТЕ_КЛЮЧ_ПОЛЯ', true ); $c = $a . $b; update_post_meta( $product_id, 'КЛЮЧЬ_С', $c ); }
При сохранении это должно работать
А ваш код правильный почти, скорее всего потому что вы получаете объект продукта, поэтому функция $product->get_attribute(‘optovoe-kolichestvo-ot’) не может вернуть значение атрибута
вот так примерно должно бытьadd_action('itglx_wc1c_after_set_product_price', function (int $productOrVariationID) { $allPrices = get_post_meta($productOrVariationID, '_all_prices', true); $priceType = '3135e328-512c-11ee-b780-047c167e051d'; $product = wc_get_product($productOrVariationID); // Получить значение атрибута $montshematopas = $product->get_attribute('optovoe-kolichestvo-ot'); update_post_meta($productOrVariationID, 'b2bking_product_pricetiers_group_21594', $montshematopas . $allPrices[$priceType] ?? ''); });
Форум: Проблемы и решения
Тема: Слияние полей товара WooCommerceТак скомбинируйте а и б и все
$c = $a . ':' . $b; update_post_meta( $product_id, 'c', $c );
В фанкшн например на woocommerce_process_product_meta() — срабатывает при сохранении поста продукта:
add_action( 'woocommerce_update_product', 'update_custom_meta_field' ); function update_custom_meta_field( $product_id ) { $a = get_post_meta( $product_id, 'a', true ); $b = get_post_meta( $product_id, 'b', true ); $c = $a . $b; update_post_meta( $product_id, 'c', $c ); }
Форум: Поиск специалистов
Тема: Приглашаю специалиста — relevanssiКуда? В пивнушку пивка дерябнуть?
Форум: Проблемы и решения
Тема: Не отображаются категорияВ настройках надо указать что в архивах выводить
Форум: Проблемы и решения
Тема: Импорт категорий товаров woocommerceВ стандартном импорте не знаю, я бы мог рекомендовать вам использовать WP All Import в нем что хочешь можно выгрузить
Форум: Проблемы и решения
Тема: Открытие таба по хешу адресной строки@vitaminnnka, Вы обратились не по адресу, тут форум посвященный CMS WordPress в основном. Но я подготовил для Вас ответ в песочнице codepen.io и html документ с примером
Добавьте следующий код в файл
functions.php
вашей темы:add_filter('woocommerce_checkout_fields', 'air_email_field'); function air_email_field($fields) { unset($fields['billing']['billing_email']); return $fields; }
Только заказ возможно не будет формироваться, потому, что email необходим попробуйте… Еще плагин есть Checkout Field Editor for WooCommerce
Форум: Разное
Тема: Проблема со скоростью в админкеА ну да, я не туда посмотрел… Логи смотрите
Форум: Разное
Тема: Проблема со скоростью в админкеА сайт какое ни будь отношение к wordpress имеет?
Форум: Проблемы и решения
Тема: Изменение настроек миниатюрыМиниатюры надо перегенерировать. Можете воспользоваться этим плагином https://wordpress.org/plugins/regenerate-thumbnails/
Форум: WooCommerce
Тема: Вариации привязанные к количеству товараНу можно всегда так же после моего решения округлить до целого, а остатки выпить 😁
Форум: WooCommerce
Тема: Вариации привязанные к количеству товараДоброго времени суток.
Наверняка есть готовые плагины, я их не знаю. Также по вашей задаче надо смотреть на месте, я опишу свое видение. Решение которое я дам, оно может быть неправильное, поскольку все нужно смотреть на месте…
В Woo есть хук woocommerce_order_status_completed который должен выполнятся при завершении заказа. В итоге, примерно, будет так
add_action('woocommerce_order_status_completed', 'air_product_stock_on_order_complete'); function air_product_stock_on_order_complete($order_id) { $order = wc_get_order($order_id); $items = $order->get_items(); foreach ($items as $item) { $product_id = $item->get_variation_id() > 0 ? $item->get_variation_id() : $item->get_product_id(); $product = wc_get_product($product_id); $quantity_sold = $item->get_quantity(); $current_stock = $product->get_stock_quantity(); $new_stock = $current_stock - $quantity_sold; $product->set_stock_quantity($new_stock); $product->save(); } }
Повторюсь — я примерный код написал, я потому что не могу воспроизвести именно по вашей задаче, у меня нет такого магазина и таких условностей, создавать — долго.
И опять же есть небольшая проблемка — это количество. Дело в том что в вуке количество товара это целое число. Поэтому надо копать в отношении того, как количество разрешить для записи на 95,5, 5,1 и т.д. наверняка это не проблема. Также можно использовать кастомное поле для количества, но в этом случае много, что надо сделать
Форум: Плагины
Тема: Плагин модального окна изображенийИсправили… вы попробуйте снова, я путь до CDN неправильно указал
Форум: Плагины
Тема: Плагин модального окна изображенийПуть неправильный выше, надо исправить почему-то у меня копировалось с @5.0.28, уберите это из ссылки и все заработает
Форум: Плагины
Тема: Плагин модального окна изображенийКстати, забыл сказать, вот тут посмотрите https://wphub.space/newsletter/wpletter-10-11-2023/ в 6.4 вроде добавили лайтбокс