Forum Replies Created

Viewing 8 replies - 1 through 8 (of 8 total)
  • Thread Starter lucaslvm

    (@lucaslvm)

    Olá @claudiosanches
    Feliz Natal!!!

    Agradeço a ajuda, e realmente em alguns testes que fiz cheguei a conclusão que um dos códigos personalizados que estou utilizando está “bugando” os métodos de entrega.
    Utilizo o tema DIVI, e infelizmente por padrão esse tema não deixa o botão de adicionar ao carrinho visível nas paginações de produtos, e por isso estava a utilizar o codigo:

    //Adicionar botão comprar abaixo dos produtos
    function dac_add_cart_button () {
        add_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_add_to_cart', 10 );
    }
    add_action( 'after_setup_theme', 'dac_add_cart_button' );
    add_filter( 'woocommerce_package_rates', 'hide_shipping_for_user_role', 10, 2 );

    Porém após atualização do WordPress/Woocommerce este código faz com que os métodos de entrega não sejam exibidos para o usuário. (OBS: os botões de comprar das paginações aparecem normalmente com o código, mas desabilita qualquer método de envio tanto no carrinho quanto ao finalizar a compra).

    Peço desculpa por ter criado o tópico sem antes fazer todos os teste, e volto a agradecer a ajuda.

    Thread Starter lucaslvm

    (@lucaslvm)

    Bom dia @claudiosanches
    Feliz natal para ti e muito obrigado pela ajuda.
    Realmente não tem relação nenhuma com o plugin dos correios.

    Fazendo alguns testes, após remover meu código personalizado do functions.php os metodos de frete voltam a aparecer normalmente.
    No LOG do plugin dos correios está tudo OK, pelo fato do plugin estar funcionando normalmente, porém algum dos meus códigos está removendo ou incapacitando o site de apresentar os métodos de envio.

    Sei que não é o tópico correto, mas vou deixar a lista aqui caso tenha interesse em dar uma olhada:

    //Adicionar divibuild ao post (produtos e post)
    function my_et_builder_post_types( $post_types ) {
        $post_types[] = 'product';
        $post_types[] = 'book';
         
        return $post_types;
    }
    add_filter( 'et_builder_post_types', 'my_et_builder_post_types' );
    
    //Remover pagseguro para grupo revendas
    function bbloomer_pagseguro_disable_manager( $available_gateways ) {
    global $woocommerce;
    if ( isset( $available_gateways['pagseguro'] ) && current_user_can('revenda') ) {
    unset( $available_gateways['pagseguro'] );
    } 
    return $available_gateways;
    }
     
    add_filter( 'woocommerce_available_payment_gateways', 'bbloomer_pagseguro_disable_manager' );
    
    //Remover bacs para grupo revendas
    function bbloomer_bacs_disable_manager( $available_gateways ) {
    global $woocommerce;
    if ( isset( $available_gateways['bacs'] ) && current_user_can('revenda') ) {
    unset( $available_gateways['bacs'] );
    } 
    return $available_gateways;
    }
     
    add_filter( 'woocommerce_available_payment_gateways', 'bbloomer_bacs_disable_manager' );
    
    //Remover cod para grupo revendas
    function bbloomer_cod_disable_manager( $available_gateways ) {
    global $woocommerce;
    if ( isset( $available_gateways['cod'] ) && current_user_can('revenda') ) {
    unset( $available_gateways['cod'] );
    } 
    return $available_gateways;
    }
     
    add_filter( 'woocommerce_available_payment_gateways', 'bbloomer_cod_disable_manager' );
    
    //Remover cheque para grupo cliente
    function bbloomer_cheque_disable_manager( $available_gateways ) {
    global $woocommerce;
    if ( isset( $available_gateways['cheque'] ) && current_user_can('cliente') ) {
    unset( $available_gateways['cheque'] );
    } 
    return $available_gateways;
    }
     
    add_filter( 'woocommerce_available_payment_gateways', 'bbloomer_cheque_disable_manager' );
    
    //Alterar botão de finalizar compra para finalizar
    function my_custom_place_order_text( $text ) {
        return 'Finalizar';
    }
    
    add_filter( 'woocommerce_order_button_text', 'my_custom_place_order_text' );
    
    //Adicionar botão comprar abaixo dos produtos
    function dac_add_cart_button () {
        add_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_add_to_cart', 10 );
    }
    add_action( 'after_setup_theme', 'dac_add_cart_button' );
    add_filter( 'woocommerce_package_rates', 'hide_shipping_for_user_role', 10, 2 );
    
    //Alterar botão comprar para adicionar ao carrinho
    add_filter( 'woocommerce_product_add_to_cart_text' , 'custom_woocommerce_product_add_to_cart_text' );
    function custom_woocommerce_product_add_to_cart_text() {
    	global $product;
    	$product_type = $product->product_type;
    	switch ( $product_type ) {
    		case 'external':
    			return __( 'Comprar', 'woocommerce' );
    		break;
    		case 'grouped':
    			return __( 'Ver produto', 'woocommerce' );
    		break;
    		case 'simple':
    			return __( 'Adicionar ao carrinho', 'woocommerce' );
    		break;
    		case 'variable':
    			return __( 'Ver opções', 'woocommerce' );
    		break;
    		default:
    			return __( 'Lei mais', 'woocommerce' );
    	}
    }

    Devo marcar o tópico como resolvido?

    Thread Starter lucaslvm

    (@lucaslvm)

    @riaanknoetze,

    In order to do some testing yesterday, I returned an old backup from a distance that does not have some cached products and without the products the methods reappear without any problem.
    I have registered the products again and the BUG returns, not even adding these new products to the cart.

    In the debugging mode it is displaying the message: Customer matched zone “Brasilia”, where Brasilia is a city registered in the shipping methods.

    Any idea what that might be?

    • This reply was modified 9 years, 3 months ago by lucaslvm.
    • This reply was modified 9 years, 3 months ago by lucaslvm.
    Thread Starter lucaslvm

    (@lucaslvm)

    Pedaço superior do log que estava faltando:

    )
    
    12-21-2016 @ 15:16:05 - Weight and cubage of the order: Array
    (
        [weight] => 0,4
        [height] => 7,7
        [width] => 23
        [length] => 16
    )

    @diogzz poderia explicar melhor essa solução?
    Aqui estou com o mesmo problema, atualizei para a versão 4.7 e nenhuma forma de entrega é calculada.

    Thread Starter lucaslvm

    (@lucaslvm)

    Olá @tabasco86

    Esse código me foi útil, mas nessa questão eu gostaria de restringir o método de envio e não de pagamento.
    Mas agradeço por compartilhar esse código que me ajudou em outra demanda.

    Mesmo erro aqui acompanhando.

    Thread Starter lucaslvm

    (@lucaslvm)

    Sorry for the mistakes I’m pretty new in the forum.

    Going back to the topic, I’m trying something with the following code:

    $user = wp_get_current_user();
    if ( in_array( 'revenda', (array) $user->roles ) ) {
        
    remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart');
    remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
    }
Viewing 8 replies - 1 through 8 (of 8 total)