• Resolvido Rafael Botelho

    (@rhenrigb)


    Bom dia pessoal.

    Alguém sabe como excluo o Filtro de Preços do WooCommerce para quando o usuário Não estiver logado?

    Já fiz isso com os botões de compra e com o preço da maneira abaixo:

    add_filter('woocommerce_get_price_html','show_price_logged');
    function show_price_logged($price){
      if( is_user_logged_in() ){
        return $price;
      } else {
        return '<a href="' .get_permalink(woocommerce_get_page_id('myaccount')). '" title="Já tenho Conta" class="btn-myaccount">Já tenho Conta</a> ou <a href="' .get_permalink(woocommerce_get_page_id('myaccount')). '" title="Registrar para visualizar o preço!" class="btn-registrar">Registrar para visualizar o preço!</a>';
      }
    }
    
    add_action('init','remove_add_to_cart');
    function remove_add_to_cart(){
        if(is_user_logged_in()){}else{
            remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
            remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
        }
    }

    Obrigado!

Visualizando 3 respostas - 1 até 3 (de um total de 3)
  • Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    Olá @rhenrigb, tudo bem?

    Você pode usar os filtros woocommerce_get_price_html e woocommerce_cart_item_price para isso.

    • Esta resposta foi modificada 7 anos, 11 meses atrás por Mário Valney.
    Criador do tópico Rafael Botelho

    (@rhenrigb)

    Olá @mariovalney, obrigado pelo retorno.

    Consegui retirar o filtro utilizando esse script:

    <?php
    
    function remove_slider(){
        if(is_user_logged_in()){}else{
            unregister_widget('WP_Widget_Price_Filter');
        }
    }  
    add_action( 'wp_init', 'remove_price_filter' );

    Muito obrigado!

    Moderador Mário Valney

    (@mariovalney)

    WordPress Cleric of Fire

    Olá @rhenrigb.

    Que ótimo que deu tudo certo!
    Se me permite um comentário, você poderia usar !is_user_logged_in() que significa que você vai verificar se é falso. Ficando assim:

    <?php
    
    function remove_slider(){
        if ( !is_user_logged_in() ) {
            unregister_widget( 'WP_Widget_Price_Filter' );
        }
    }  
    add_action( 'wp_init', 'remove_price_filter' );
Visualizando 3 respostas - 1 até 3 (de um total de 3)
  • O tópico ‘Excluir Filtro de Preço para Usuário Não Logado’ está fechado para novas respostas.