Categories
php programação wordpress

Snippets para optimizar o WooCommerce

Otimizar o WooCommerce pode ser a diferença entre o sucesso e o fracasso, para vender necessita muito mais do que uma loja virtual. É uma atividade que requer muita criatividade e atenção, os mínimos detalhes podem fazer toda a diferença…

Depois de criar a sua loja virtual WooCommerce, começa um outro nível de trabalho, estratégia de marketing, regras de negócio, suporte aos clientes, etc.

Neste artigo vamos mostrar alguns snippets capazes de otimizar o WooCommerce e assim você vai poder oferecer processos fluidos e simples. Os snippets, são blocos de código PHP e que precisam ser adicionados (copiar/colar) no arquivo functions.php do seu tema.

Alterar Nome da Página da Loja

Para SEO é imprescindível que a sua página da loja WooCommerce tenha uma boa titulo/headline. Se o tema que usa não permite customizar através da dashboard, você pode utilizar o seguinte código:

<?php
add_filter( 'woocommerce_page_title', 'wc_shop_page_title');
function wc_shop_page_title( $page_title ) 
{
  if( 'Shop' == $page_title) {
    return "Novo nome da pagina";
  }
}
?>

Desabilitar Tabs

As tabs de informação do produto não ajudam muito na sua loja? Desabilitar pode ser algo interessante. Quando os produtos não exigem informações detalhadas, as tabs acabam enchendo demais a página do produto, dando um aspecto feio e com elementos desnecessários. Desabilita-la pode ser a solução:

<?php
add_filter( 'woocommerce_product_tabs', 'wc_remove_product_tab', 98);
function wc_remove_product_tab($tabs) 
{
  unset( $tabs['description'] );
  unset( $tabs['reviews'] );
  unset( $tabs['additional_information'] );
  
  return $tabs; 
}
?>

Remova da Loja Produtos baseado em categorias

Se na sua loja existem produtos que você não quer que sejam exibidos na página loja, o snippet abaixo é o que você precisa:

<?php
add_action( 'pre_get_posts', 'wc_custom_pre_get_posts_query' );
function wc_custom_pre_get_posts_query( $q ) 
{ 
  if ( ! $q->is_main_query() ) return;
  if ( ! $q->is_post_type_archive() ) return;
  
  if ( ! is_admin() && is_shop() ) 
  {  
    $q->set( 'tax_query', array(array(
      'taxonomy' => 'product_cat',
      'field'    => 'slug',
      'terms'    => array( 'livros' ), // Não mostrar
      'operator' => 'NOT IN'
    )));  
  }
  
  remove_action( 'pre_get_posts', 'wc_custom_pre_get_posts_query' );
}
?>

Redirecionar para checkout

Para seu cliente não perca o foco na compras, pode querer optar por retirar o redirecionamento para a página do carrinho e assim após o clique no botão comprar, o redirecionamento é feito para a página de checkout:

<?php
add_action( 'woocommerce_add_to_cart',  'wc_add_to_cart_checkout_redirect', 11 );
function wc_add_to_cart_checkout_redirect() 
{
  wp_safe_redirect( get_permalink( get_option( 'woocommerce_checkout_page_id' ) ) );
  die();
}
?>

Definir um valor mínimo para compras

Algo muito comum é a existência de lojas que requerem um valor mínimo para compras. Se a sua loja WooCommerce exige que essa regra seja obedecida, o snippet abaixo é o indicado:

<?php
add_action( 'woocommerce_checkout_process', 'wc_valor_minimo_necessario' );
function wc_valor_minimo_necessario() {
  global $woocommerce;
  
  $minimum = 70; // valor minimo
  if ( $woocommerce->cart->get_cart_total(); < $minimum ) 
  { 
    $woocommerce->add_error( sprintf( 'Você precisa ter no mínimo %s para fechar uma compra.' , $minimum ) );
  }
}
?>

Alterar Texto do Botão ‘Adicionar ao Carrinho’

Sua loja requer um estilo simpático e amigável? Então, os botões de compra também precisam de sua atenção. Utilizando o código abaixo, você consegue alterar o texto padrão:

<?php
add_filter('single_add_to_cart_text', 'wc_custom_cart_button_text');
function wc_custom_cart_button_text() {
  return __('Texto do botao', 'woocommerce');
}

add_filter( 'add_to_cart_text', 'wc_archive_custom_cart_button_text' );
function wc_archive_custom_cart_button_text() {
  return __( 'Texto do botao', 'woocommerce' );
}
?>

Adicionar taxa customizada ao carrinho

Os produtos da sua loja ou as suas vendas trabalham com taxas? O snippet que se segue permite que você crie e adicione automaticamente uma taxa ao carrinho do cliente:

<?php
add_action( 'woocommerce_before_cart_table', 'wc_add_taxa_cart' );
function wc_add_taxa_cart() 
{ 
  global $woocommerce;
   
  if ( is_cart() ) {
    woocommerce->cart->add_fee( __('Nome da taxa', 'woocommerce'), 5 ); // Nome da Taxa - Valor = "5"
  }
}
?>

Adicionar produto ao carrinho automaticamente

Precisa que algum produto seja adicionado automaticamente ao carrinho do seu cliente? Por exemplo, precisa que algum tipo de garantia seja inclusa ao pedido como um produto. O snippet a seguir serve perfeitamente, você só precisa apenas de informar o ID do produto:

<?php
add_action( 'init', 'wc_add_product_to_cart' );
function wc_add_product_to_cart() 
{
  if ( ! is_admin() ) {
    global $woocommerce;
    $product_id = 12; // ID do produto
    $found = false;
    // verifica produto
    if ( sizeof( $woocommerce->cart->get_cart() ) > 0 ) {
      foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values ) {
        $_product = $values['data'];
        if ( $_product->id == $product_id )
          $found = true;
      }
      // não encontrado, adiciona
      if ( ! $found )
        $woocommerce->cart->add_to_cart( $product_id );
    } else {
      // carrinho vazio, adiciona
      $woocommerce->cart->add_to_cart( $product_id );
    }
  }
}
?>

Excluir Categorias do Widget

O WooCommerce tem alguns widgets para suas páginas da loja, de produtos e categorias. Muitas vezes não queremos que uma determinada categoria seja exibida na listagem que é exibida no Widget e também não sabemos como excluir. Use o snippet abaixo, alterando apenas o ID de uma ou mais categorias que deseja excluir do widget que lista as suas categorias de produto:

<?php
add_filter( 'woocommerce_product_categories_widget_args', 'wc_product_category_widget_args' );
function wc_product_category_widget_args( $cat_args ) 
{     
  $cat_args['exclude'] = array('3'); // ID da categoria
   
  return $cat_args;
}
?>

Retirar Obrigatoriedade do Field ‘Estado’

Quer retirar a obrigatoriedade da seleção do campo ‘Estado’ no processo de checkout? A depender dos locais para onde a sua loja venda e entregue, pode ser útil:

<?php
add_filter( 'woocommerce_billing_fields', 'wc_filter_state_billing', 10, 1 );
function wc_filter_state_billing( $address_fields ) 
{ 
  $address_fields['billing_state']['required'] = false;
  return $address_fields;
}
 
add_filter( 'woocommerce_shipping_fields', 'wc_filter_state_shipping', 10, 1 );
function wc_filter_state_shipping( $address_fields ) 
{ 
  $address_fields['shipping_state']['required'] = false;
  return $address_fields;
}
?>

Conclusão final:

Ter a sua loja WooCommerce, optimizada pode ser a diferença entre o sucesso e o fracasso. Para a manter e obter bons resultados é necessário planeamento, estratégia e inteligência, estes snippets quando bem aplicados podem fazer uma grande diferença no processo de vendas.

Escolha aqueles que acha serem úteis na sua loja, aplique-os e faça testes…

Última atualização: 05-02-2017



Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *