Поддержка Темы и шаблоны Скрыть элемент для незарегистрированных

  • Решено yessoftmk

    (@yessoftmk)


    Всем привет! У меня магазин каталог для моих менеджеров, т е у них есть список заказов, они сами логинятся в админку и делают покупки, т е используем как базу и витрину. Чтобы не зарегистрированные пользователи не могли покупать, сделали так:

    body:not(.logged-in).product a.button,
    body:not(.logged-in).single-product
    button.button {
    display: none;
    }

    Все ок, кнопки нет, все работает как надо. Но вот в последнее время пользователи заходят через мобильный и после выбора количества нажимают «ок» на клавиатуре программной, что равносильно «энтер» на Пк и происходит пост запрос…. товар откладывается в корзину, его купить не могут, люди пишут, жалуются и корзина очищается через сутки.

    Решил скрыть и количество, добавил (https://i.imgur.com/x0idevy.png):

    body:not(.logged-in).product .quantity
    { 
    display:none;
    }

    пробовал привязываться к разному классу… но не скрывает

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

Просмотр 11 ответов — с 1 по 11 (всего 11)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Там же у <body> нет класса .product, есть .single-product.

    Так должно сработать:

    
    body:not(.logged-in).single-product .quantity { 
    	display: none;
    }
    

    Да, спасибо, теперь работает. Но когда выбираешь Размер в выпадающем списке выше, то поле количество снова появляется…. видать стоит тригер на комбобоксе…
    В консоли разработчика пробовал поставить для input disabled=disabled — все ок, но только в цсс это свойство (disabled) не задать (

    body:not(.logged-in).single-product .single_variation_wrap
    { 
    display:none;
    }

    спасибо, понял вашу идею, она сработала правда вот так:

    body:not(.logged-in).single-product .variations_form 
    { 
    display:none;
    }

    но скрывать размеры не вариант, так как клиенту нужно видеть какие размеры есть

    Попробую в самом пхп файле через is_user_logged_in()

    Попробую в самом пхп файле

    ровно до первого обновления.

    Знаю, но можно же этот файл вынести в каталог вуеомерца в папке шаблона

    шаблон — это РНР-файл. у него не может быть папки, по вполне понятным причинам.

    шаблон — это РНР-файл. у него не может быть папки, по вполне понятным причинам.

    с этим все ок, вп очень гибок, — в этом файле — /wp-content/themes/online-shop/woocommerce/single-product/add-to-cart/variation-add-to-cart-button.php

    обернул поля ввода в «if ( is_user_logged_in() ) :»

    
    	if ( is_user_logged_in() ) :
    	 woocommerce_quantity_input( array(
    		'min_value'   => apply_filters( 'woocommerce_quantity_input_min', $product->get_min_purchase_quantity(), $product ),
    		'max_value'   => apply_filters( 'woocommerce_quantity_input_max', $product->get_max_purchase_quantity(), $product ),
    		'input_value' => isset( $_POST['quantity'] ) ? wc_stock_amount( wp_unslash( $_POST['quantity'] ) ) : $product->get_min_purchase_quantity(), // WPCS: CSRF ok, input var ok.
    	) ); 
    	endif;
    

    все как надо — https://i.imgur.com/jhEvzXo.png

    всем спасибо

    надеюсь все это было в дочерней теме

    да, путь в попыхах показал основной шабы

Просмотр 11 ответов — с 1 по 11 (всего 11)