• Работа самозанятым на Upwork 2020?

    @refreak
    Недоверстальщик с фриланса
    Не сталкивался с подобными проблемами. Лучше сперва на PayPal переводить а потом на банк.
    Ответ написан
  • Как скрыть скидки WooComerce для гостей сайта?

    @refreak Автор вопроса
    Недоверстальщик с фриланса
    Если кому понадобится, вот код
    // Variable and simple product displayed prices (removing sale price range)
    add_filter( 'woocommerce_get_price_html', 'custom_get_price_html', 20, 2 );
    function custom_get_price_html( $price, $product ) {
    
        if( $product->is_type('variable') )
        {
            if( is_user_logged_in() ){
                $price_min  = wc_get_price_to_display( $product, array( 'price' => $product->get_variation_sale_price('min') ) );
                $price_max  = wc_get_price_to_display( $product, array( 'price' => $product->get_variation_sale_price('max') ) );
            } else {
                $price_min  = wc_get_price_to_display( $product, array( 'price' => $product->get_variation_regular_price('min') ) );
                $price_max  = wc_get_price_to_display( $product, array( 'price' => $product->get_variation_regular_price('max') ) );
            }
    
            if( $price_min != $price_max ){
                if( $price_min == 0 && $price_max > 0 )
                    $price = wc_price( $price_max );
                elseif( $price_min > 0 && $price_max == 0 )
                    $price = wc_price( $price_min );
                else
                    $price = wc_format_price_range( $price_min, $price_max );
            } else {
                if( $price_min > 0 )
                    $price = wc_price( $price_min);
            }
        }
        elseif( $product->is_type('simple') )
        {
            if( is_user_logged_in() )
                $active_price = wc_get_price_to_display( $product, array( 'price' => $product->get_sale_price() ) );
            else
                $active_price = wc_get_price_to_display( $product, array( 'price' => $product->get_regular_price() ) );
    
            if( $active_price > 0 )
                $price = wc_price($active_price);
        }
        return $price;
    }
    
    // Product Variation displayed prices
    add_filter( 'woocommerce_available_variation', 'custom_variation_price', 10, 3);
    function custom_variation_price( $data, $product, $variation ) {
    
        $reg_price = wc_get_price_to_display( $variation, array( 'price' => $variation->get_regular_price() ) );
        $sale_price = wc_get_price_to_display( $variation, array( 'price' => $variation->get_sale_price() ) );
    
        if( is_user_logged_in() )
            $data['price_html'] = wc_price( $sale_price );
        else
            $data['price_html'] = wc_price( $reg_price );
    
        return $data;
    }
    
    // Set the correct prices in cart
    add_action( 'woocommerce_before_calculate_totals', 'set_item_cart_prices', 20, 1 );
    function set_item_cart_prices( $cart ) {
        if ( is_admin() && ! defined( 'DOING_AJAX' ) )
            return;
    
        if ( did_action( 'woocommerce_before_calculate_totals' ) >= 2 )
            return;
    
        // Loop through cart items
        foreach ( $cart->get_cart() as $cart_item ){
            if( ! is_user_logged_in() ){
                $cart_item['data']->set_price( $cart_item['data']->get_regular_price() );
            }
        }
    }
    
    // Remove sale badge
    remove_action( 'woocommerce_before_shop_loop_item_title', 'woocommerce_show_product_loop_sale_flash', 10 );
    remove_action( 'woocommerce_before_single_product_summary', 'woocommerce_show_product_sale_flash', 10 );


    Если хотите сделать под определенные роли, то заменяете if( is_user_logged_in() ) на
    if( current_user_can('author') OR current_user_can('administrator') OR current_user_can('contributor') OR current_user_can('editor') OR current_user_can('shop_manager') OR current_user_can('translator') OR current_user_can('vip'))
    Ответ написан
    Комментировать
  • Ломается слайдер внутри jquery tabs ломается. Знает кто решение?

    @refreak Автор вопроса
    Недоверстальщик с фриланса
    Всем спасибо. Решение найдено, код:
    $('.tabs-v ul li').click(function() {
    		$(".calendar__slider").slick('reinit');
    	});
    Ответ написан
    Комментировать
  • Бот телеграмм выдает ошибку?

    @refreak Автор вопроса
    Недоверстальщик с фриланса
    Короче, ставите VPN на компьютер ( не на браузер ) и все будет чики пуки;)
    Ответ написан
    Комментировать
  • Как вставить картинку в письмо на outlook?

    @refreak Автор вопроса
    Недоверстальщик с фриланса
    Разобрался, просто нужно ссылкой картинку вставлять и в оутлук включить сохранение картинок.
    Ответ написан
    Комментировать