ВАЖНО!
Более подробный текст с описанием и ссылка на бекап появится после выхода последней части серии видео.
CSS код для горизонтального меню
Для добавления, переходим в виджете меню во вкладку Расширенные и открываем раздел Custom CSS
@media (min-width: 768px) {
selector li {
width: 100%;
}
}
@media (max-width: 768px) {
.elementor-nav-menu__container {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
.elementor-nav-menu {
display: flex !important;
flex-wrap: nowrap !important;
}
.elementor-nav-menu__container::-webkit-scrollbar {
display: none;
}
}
JS код для обновления количества:
Для добавления, переходим в админ панели в раздел для добавления произвольного кода в Elementor или любого другого плагина, который вы используете для добавления JS кода.
PHP код для обновления количества:
Для добавления, переходим в админ панели в раздел Внешний вид – Редактор тем и выбираем файл functions.php, после чего в самый конец добавляем этот код.
add_filter('woocommerce_add_to_cart_quantity', function($qty, $product_id){
if (isset($_POST['eg_set_qty']) && $_POST['eg_set_qty'] == '1') {
$pid = (int) $product_id;
$new_qty = isset($_POST['quantity']) ? max(0, (int) $_POST['quantity']) : 1;
foreach (WC()->cart->get_cart() as $cart_item_key => $item) {
if ((int)$item['product_id'] === $pid) {
WC()->cart->set_quantity($cart_item_key, $new_qty, true);
return 0;
}
}
}
return $qty;
}, 10, 2);
add_action('wc_ajax_eg_get_cart_qty', 'eg_get_cart_qty');
add_action('wc_ajax_nopriv_eg_get_cart_qty', 'eg_get_cart_qty');
function eg_get_cart_qty() {
if (!function_exists('WC') || !WC()->cart) {
wp_send_json_success(['items' => []]);
}
$items = [];
foreach (WC()->cart->get_cart() as $cart_item) {
$pid = (int) $cart_item['product_id'];
$qty = (int) $cart_item['quantity'];
if ($pid > 0 && $qty > 0) {
$items[$pid] = ($items[$pid] ?? 0) + $qty;
}
}
wp_send_json_success(['items' => $items]);
}
CSS код для кнопок добавления в корзину
Для добавления, переходим в виджете кнопки добавления корзину во вкладку Расширенные и открываем раздел Custom CSS
.eg-qty {
display: flex;
max-width: 150px;
}
.eg-qty__btn,
.eg-qty__input {
box-sizing: border-box;
}
.e-loop-add-to-cart-form .eg-qty {
margin-right: 0 !important;
margin-left: auto;
}
.eg-qty__input {
width: auto;
text-align: center;
border: none !important;
outline: none !important;
font-size: 18px;
font-weight: 700;
}
.eg-qty__input::-webkit-outer-spin-button,
.eg-qty__input::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
.eg-qty__input[type="number"] {
-moz-appearance: textfield;
}
.eg-qty__btn {
border: 1px solid #ddd;
background: #fff;
cursor: pointer;
line-height: 1;
font-size: 18px;
max-width: 50px !important;
}