Frete grátis por região no woocommerce

Hoje venho falar de um tema que é necessidade de muita gente que desenvolve com o woocommerce, o frete grátis por região. No meu caso, tinha o problema era para as regiões do Rio de Janeiro, Minas Gerais e São Paulo, nas compras acima de R$100,00, e para o Brasil no valor é de R$400,00.

Por padrão o woocommerce não vem essa opção ativa, mas o Paulo Elô Lankoski me passou essa solução na comunidade do woocommerce no facebook.

Como ele mesmo falou, pode não ser a forma correta, porém funciona perfeitamente:

1) Acesse no painel de administração Woocommerce → Configurações → Entrega → Entrega local, habilite essa opção e em título coloque Frete Grátis em tipo de taxa coloque Porcentagem total de carrinho e em cep configure os estados desejados, por exemplo entrega grátis para o Rio de Janeiro 20*, 21*, 22*, 23*, 24*, 25*, 26*, 27*, 28*

Vamos supor que você gostaria de liberar frete grátis para São Paulo capital onde a faixa de cep vai de 01000000 a 05999999, você teria que fazer dessa forma: 01*, 02*, 03*, 04*, 05*

Para que tudo funcione corretamente basta adicionar o código do Paulo na functions.php

add_filter( 'woocommerce_available_shipping_methods', 'hide_standard_shipping_when_free_is_available' , 10, 1 );
 
function hide_standard_shipping_when_free_is_available( $available_methods ) {
 global $woocommerce;
 
   if( $woocommerce->cart->cart_contents_total < 100 AND isset( $available_methods['local_delivery'] ) ) {
         unset( $available_methods['local_delivery'] );
  } elseif( $woocommerce->cart->cart_contents_total >= 100 AND isset( $available_methods['local_delivery'] ) ) {
          unset( $available_methods['PAC'] );
             unset( $available_methods['SEDEX'] );
   }
 
      return $available_methods;
}

<a href="https://gist.github.com/pauloiankoski/9707209" target="_blank">Créditos </a>

Depois, basta colocar em método disponível: Escolha Países Específicos e em países específicos: Escolha Brasil

Se você fez tudo corretamente, o frete grátis já vai funcionar para as regiões desejadas.

Agora ,para demais regiões você vai precisar de ir em Woocommerce → Configurações → Entrega → Frete grátis, nessa seção basta habilitar frete grátis, método disponível coloque países específicos e marque Brasil, para finalizar, em valor mínimo coloque o desejado, como exemplo coloquei R$400,00, com isso você vai precisar adicionar o seguinte código do Paulo na functions.php

add_filter( 'woocommerce_available_shipping_methods', 'hide_standard_shipping_when_free_is_available' , 10, 1 );
 
function hide_standard_shipping_when_free_is_available( $available_methods ) {
	global $woocommerce;
 
	if( ($woocommerce->cart->cart_contents_total < 100 || $woocommerce->cart->cart_contents_total >= 400) AND isset( $available_methods['local_delivery'] ) ) {
		unset( $available_methods['local_delivery'] );
	} elseif( ($woocommerce->cart->cart_contents_total >= 100 AND isset( $available_methods['local_delivery'] ) ) || $woocommerce->cart->cart_contents_total >= 400 ) {
		unset( $available_methods['PAC'] );
		unset( $available_methods['SEDEX'] );
	}
 
	return $available_methods;
}

Lembrando que esse artigo sobre frete grátis por região no woocommerce só foi possível graças ao Paulo, caso você deseje saber mais sobre estrutura de ceps veja aqui.
Para saber mais sobre faixa de cep por região acesso o site dos correios.

Erro ao estabelecer uma conexão com o banco de dados

O erro ao estabelecer uma conexão com o banco de dados, é muito comum para quem está iniciando o desenvolvimento em wordpress. Isso ocorre por dados (usuário, banco de dados e localhost) configurando incorretamente no arquivo wp-config.php

Como solucionar o erro ao estabelecer uma conexão com o banco de dados?

Basta acessar o arquivo wp-config.php, que está na raiz do seu servidor, conferir se os dados de usuário, senha e localhost estão igual ao que você criou em sua hospedagem, feito isso basta colocar os dados corretos que o seu site irá voltar a funcionar.
Qualquer dúvida comente abaixo.

Como evitar sql injection no wordpress?

Um assunto muito polêmico no wordpress é a questão de segurança apesar dele está evoluindo nesse ponto- nós que estamos trabalhando com ele, precisamos nos preocupar com a forma que desenvolvemos um tema ou plugin.

Atualmente um assunto muito comum é o sql injection, mas antes de descobrir como se prevenir, precisamos saber o que é sql injection no wordpress?

O que é Sql injection? Porque devemos nos preocupar?

O Sql injection é muito utilizado em sistemas que interagem com banco de dados. Quando o usuário mal intencionados envia comandos em sql em uma consulta (query) e com isso consegue manipular informações no banco de dados.

Mas, como evitar sql injection no wordpress?

O wordpress possui algumas funções para auxiliar nesse trabalho e uma delas é o esc_sql() o esc_sql que é parecido com o addslashes() do php, essa função trata os possíveis comando de sql.

Como utilizar?

Para exemplificar melhor, vamos supor que estamos enviado dados de um formulário para um banco de dados  pelo o método post e no arquivo controllerContato estamos recebendo o nome de usuário, com isso ficaria:

$nome = esc_sql($_POST['nome']); ou esc_sql($nome);

Vale destacar que todo dado vindo de um formulário de contato tem que passar por  esse tratamento, pois assim garantimos a integridade do nosso site.

Tratando SQL injection em inserção no banco de dados

Quando estamos inserindo uma informação  no banco de dados, precisamos utilizar o prepare na inserção de dados no bd, ele  trata o dado antes da inserção no banco de dados.

Exemplos:

$wpdb->query( $wpdb->prepare( "INSERT INTO SUA_TABELA (nome) VALUES (  %s )", array( $nome)) );

Como você pode ver, são dicas simples, porém indispensáveis no desenvolvimento de sites, para você saber mais sobre segurança e as funções nativas do wordpress e php acesse:

http://php.net/manual/pt_BR/security.database.sql-injection.php

http://codex.wordpress.org/Class_Reference/wpdb

http://codex.wordpress.org/Function_Reference/esc_sql

http://codex.wordpress.org/Data_Validation

Como atribuir descontos no woocommerce

O woocommerce vem ganhando o prestigio dos desenvolvedores, uma dúvida comum, é como criar descontos para as formas de pagamento como boleto, moip, pagseguro e entre outras.

No woocommerce temos o plugin woocommerce payment discounts que nos ajuda nessa missão.

Instalação:

Basta fazer o download, descompactar e colocar na pasta plugins do seu site. Ou instalá-lo em: Plugins ->Adicionar novo

Criando o desconto:

Basta ir em: woocommerce ->Cupons e criar um novo cupom, com a quantia de desconto desejado.

Segundo passo, vá em: woocommerce -> Desconto no pagamento clique em ativar, em nome do cupom, coloque o nome do cupom criado e marque em qual método do pagamento você deseja efetuar o desconto e salvar.
As maiorias das lojas virtuais dão o desconto de 5 a 10% no pagamento via boleto, mas cabe a você escolher qual estratégia a sua empresa irá seguir.

 

Organizando o functions.php com o hook after setup theme

No inicio do desenvolvimento de um site em wordpress ou em qualquer framework, devemos nos atentar para ter um código organizando. Com isso, garantimos que todos os integrantes da equipe, e os futuros, vão conseguir se encontrar dentro do código.
No wordpress temos o hook after_setup_theme, que nos auxilia nessa organização:

Como funciona?

Toda vez que uma página é carregada, o primeiro hook a ser chamado é: after_setup_theme. Para exemplificar e facilitar o entendimento segue o código abaixo:

add_action('after_setup_theme','pr_setup_theme');

function pr_setup_theme(){
remove_action('wp_head', 'wp_generator');//desativa a versão do wordpress
add_theme_support( 'post-thumbnails' );// suporte a imagem destacada
}

O add_action(‘after_setup_theme’,’pr_setup_theme’); precisa ficar em cima da função pr_setup_theme. Vale destacar,que você poderá utilizar o nome da função mais interessante.

Dentro da função, você pode colocar todos os ganhos e suportes do seu tema. Dessa forma, garantimos que tudo irá carregar, além disso, asseguramos uma melhor organização no functions.php,pois não vamos ter nenhum gancho, hook ou suportes espalhado em nosso código.

Aprenda a criar post relacionados no wordpress com plugin e sem plugin

Atualmente tenho visto bastante pessoas / empresas que trabalham com otimização de sites, no entanto, elas falam de técnicas avançadas de seo e esquecem de fazer o básico.

Uma forma de melhorar “esse básico” seria trabalhando a linkagem interna do site e para fazê-la bastaria utilizar os posts relacionados. No wordpress podemos realizá-lo de duas formas com plugins e sem plugins, particularmente prefiro a última opção.

Vantagens de utilizar os post relacionados

Os post relacionados  induzem o leitor a ficar mais tempo no site, quando ele gosta do conteúdo que está lendo e no final da página o usuário encontra  outros conteúdos relacionado ao tema  ele vai acabar clicando para ler o outro post. Com isso você possibilita o leitor a conhecer mais sobre o seu site. Lembre-se que ele pode ter vindo pelo  a busca orgânica ou outro canal e nunca ter acessado o seu site, com isso ele pode não conhecer sobre os temas que você aborda. Dessa forma, é importante você oferecer mais conteúdo para ele.

Posts relacionados com plugin no wordpres

Yet Another Related Posts Plugin – Este plugin faz algumas seleções no banco de dados do wordpress, analisando cada postagem e categoria encontramos os posts relacionados, feito isso ela passa a exibir automaticamente ao final de cada post (temos a possibilidade de personalizar o local) uma lista(com ou sem foto) dos posts que o usuário pode se interessar. O yet another related posts Plugin possui uma configuração bem simples e além disso e um dos plugins mais utilizados.

Post relacionados sem plugin no wordpress

Outra forma de fazer os posts relacionados no wordpress seria via programação, como sabemos o wordpress é baseado em php. Para extrair os posts relacionados precisamos saber qual categoria estamos e logo após fazer uma seleção no banco de dados e buscar os posts relacionado com o atual, você pode fazer esse relacionamento via categorias, tags e outros, com isso o código ficaria assim:

Observação: Inclui esse script na página single.php

<?php

/**

* @showposts (quantidade de posts relacionados)

*/
$tags = wp_get_post_tags($post->ID);

if ($tags) {

echo 'Aprendendo a fazer posts relacionados no wordpress sem plugin';

$first_tag = $tags[0]->term_id;

$args=array(

'tag__in’' => array($first_tag),

'post__not_in' => array($post->ID),

'showposts'=>5,

'caller_get_posts'=>1

);

$pr_query = new WP_Query($args);

if( $pr_query->have_posts() ) {

while ($pr_query->have_posts()) : $pr_query->the_post(); ?>

<p><a href="<?php the_permalink() ?>" rel="bookmark" title="Link Permanente para <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p>

<?php

endwhile;

}else{

echo 'Nenhum post relacionados foi encontrado :(';

}

}

?>

No script acima fiz alguns comentários em php, em alguns itens que achei importante ser mencionado, como no caso do showposts que é a quantidade de posts relacionados, basta atualizar o seu site e verificar como está o seu post relacionado. Lembrando que você pode personalizar os posts via css , adequado ao layout do site.

Aprenda ativar breadcrumb no seu site feito em wordpress

Não é de hoje que os mecanismos de buscas privilegiam sites que “ajudam” a trazer resultados mais relevantes. Se o seu site tiver uma arquitetura de informação bem organizada, melhor funcionará nos mecanismos de busca que terá auxílio dos breadcrumbs.

Mais o que é breadcrumbs?

Breadcrumbs é a navegação estrutural, que indicam a hierarquia de páginas em seu site. Segue o exemplo:

exemplo de breadcrumbs no wordpress

Quando temos uma estrutura de categorização de páginas, o site ganha uma organização mais definida e se torna interessante tanto para os usuários, que saberão a sua localização, quanto para os mecanismos de busca, que poderão visualizar a profundidade do site. No wordpress temos o plugin wordpress seo do yoast que permiti a ativação dos breadcrumbs.

Obervação: É necessário que você tenha o wordpress seo yoast instalado, caso você não tenha baixe aqui. Depois do plugin instalado em seu site acesse Seo -> links internos

Passo 1: Habilitando o breadcrumbs no wordpress

Acesse o painel de administração do seu site depois Seo -> links internos

Habilitando breadcrumbs wordpress

Como você pode ver, primeiro precisa habilitar a trilha de navegação, nessa mesma página existe algumas opções para que você possa configurar de acordo com a necessidade.

Passo 2: Ativando o a função nas páginas.

Para ativar o breadcrumbs no wordpress você precisa inserir um código php em seu tema. Vale destacar que é só acrescentar um código php.

Primeiramente você precisa escolher em quais páginas e aonde os breadcrumbs vão aparecer, geralmente colocamos nas páginas single.php e page.php, no entanto, cabe a você escolher em que lugar deseja que o breadcrumbs apareça em seu tema. Após essa decisão, basta adicionar o seguinte código.

<? Php if ( function_exists ( ‘yoast_breadcrumb’ ) ) {

yoast_breadcrumb ( ‘<p id=”breadcrumbs”>’ , ‘</ p>’ ) ;

} ?>

Lembrando, que se pode editar o arquivo desejado tanto FTP ou no administrador do wordpress, aqui basta acessar Aparência -> Editor, do lado direito aparecerá o single.php, Page.php e outros arquivos do seu site, escolhendo o arquivo que irá editar, basta adicionar o código abaixo:

Esse código verifica se existe a função yoast_breadcrumb , caso tenha, ele vai imprimir os breadcrumbs caso ele não exista, nada acontecerá. Veja como ficará:

Exemplo de breadcrumbs no wordpress

Espero que gostem desse post, em breve mais postagens sobre wordpress e seo!

O que está por vim na versão 1.6 do opencart?

Como sabemos o opencart está em constante evolução, com isso algumas melhorias na versão 1.6 já foram confirmadas:

- Campos de cadastro customizável

- vQmod integrado ao core do OpenCart.

- Fim do suporte ao navegador Internet Explorer 6 e 7.

Os campos de cadastro customizável me deixou muito animado, com esses eles vamos conseguir acrescentar campos sem muito esforço o que deixa o desenvolvimento mais ágil, além de uma plataforma mais robusta.

Já no fim do suporte ao internet explore 7 me deixou um pouco preocupado ainda existe muita empresa aqui no Brasil que utiliza o ie7, já trabalhei com algumas em que as pessoas que cadastravam produtos utilizava o internet explore 7 e um computador todo bloqueado para instalações.

Observações:

Achei fantásticas essas alterações me parece que das plataformas opensource de e-commerce a única que vai ter a opção de campo personalizado e o opencart e um diferencial muito bom. É você o que achou dessas melhorias?

Busca avançada no google

Em 2008 o google chegou definitivamente para dominar o mercado de busca e diversos outros mercados. Ele foi se destacando pela a qualidade que entrega o resultado para o usuário e pela velocidade de indexação dos sites na web. Com o passar do tempo, o google, foi cada vez mais aperfeiçoando o seu algortimo de busca e começou a entregar diversos resultados ao usuários como: buscas locais, shopping, noticias e entre outros.

Com isso, para quem trabalha com otimização de sites, criação de sites ou qualquer serviço relacionado com a internet, é necessário fazer buscas avançadas no google para obter informações do site que estamos trabalhando ou de sites de concorrentes, para obter um resultado mais refinado sem a utilização de qualquer outro tipo de ferramenta.

1° Busca avançada com operador site.

Descrição:
Limita uma busca a domínios e diretórios específicos.

Você pode utilizar para obter informações como:
- Mostra aproximadamente quantas URLs são indexada pelo o google
- A partir de um diretório
- Inclui todos subdomínios

Exemplos:
Mostra aproximadamente quantas urls são indexadas pelo google – site:www.pabloribeiro.net
A partir de um diretório – site:www.pabloribeiro.net/seo
Inclui todos os subdomínios – site:google.com.br
Mostra sites de um domínio superior específico – site:org

2° Busca avançada com operador allinul:

Descrição:
Busca restrita à palavra-chave no título

Você pode utilizar para obter informações como:
Encontrar páginas na internet que tenham a sua palavra-chave na url.

Exemplos:
inurl:seo, inurl:empresa seo

3° Busca avançada no google com operador intitle:

Descrição:

Restringe resultados a documentos que contenham os termos de busca no título da página.

Você pode utilizar para obter informações como:
Encontrar páginas na internet que usem sua palavra-chave no título da página

Exemplos:
intitle:seo
intitle:empresa de seo

4° Busca avançada com operador inanchor:

Descrição:
Busca restrita à palavra-chave do texto-âncora

Você pode utilizar para obter informações como:
Encontra páginas que contenham o maior número de links de retorno ou os links de retorno mais ‘poderoso’ com a palavra-chave do texto-âncora

Exemplos:
inanchor:seo
inanchor:criação de sites

5° Busca avançada no google com operador intext:

Descrição:
Busca restrita à palavra-chave do corpo do texto

Você pode utilizar para obter informações como:
Encontra páginas que contenham o corpo do texto mais relevante / mais otimizado.

Exemplos:
intext:seo

6° Busca avançada no google com operador ext / filetype:

Descrição:
Limita os resultados de busca às páginas que terminam com uma determinada extensão de arquivo.

Você pode utilizar para obter informações como:
Alguns possíveis tipos de arquivos / extensões: PDF(Adobe Portable Document Format), html ou html( Hypertext Markup Language).

Exemplos:
filetype:pdf ou ext:pdf

7° Busca avançada no google com operador cache

Descrição:
Ver como era a página quando o google indexou.

Você pode utilizar para obter informações como:
Descobre se a página foi indexada pelo o google; fornece links para mais informações sobre a url. Essa busca também pode alertá-lo para possíveis problema do site (conteúdo duplicado ou possíveis problema de dns).

Exemplos:
cache:www.pabloribeiro.net

Esses tipos de buscas são muito importante, não só para quem trabalha com seo, mas para desenvolvimento de sistemas web. Algumas invasões a sistemas onlines são feitas através das buscas avanças, como por exemplo: filetype:.sql, esse comando irá retornar todos os bancos de dados com a extensão sql acessíveis pelo google.

Urls amigáveis no opencart

Um dos fatores para o melhor posicionamento nos mecanismos de buscas são as urls amigáveis, para entender melhor o assunto, primeiramente precisamos conhecê-lo.

As urls não amigáveis possuem vários parâmetros passando por get na url. Veja abaixo um exemplo:

http:// www.seusite.com.br/index.php?route=product/product&product_id=46

Por outro lado, as urls amigáveis são bem mais interessantes, pois facilita o entendimento da estrutura do conteúdo/produto da loja virtual.

www.seusite.com.br/tenis/nike

Agora que já sabemos o que é url amigável, podemos começar implementar a mesma no opencart.

1° Passo: Alterando o .htacess do opencart

Por padrão o opencart vem com a url assim:
www.sualoja.com.br/ index.php?route=product/product&product_id=46
Para configurar basta acessar o arquivo htaccess.txt em sua loja e alterar arquivo para: .htaccess

Observação: Se você instalou sua loja OpenCart em uma pasta que não seja na raiz do servidor,  exemplo www.seusite.com.br/lojavirtual, você deve editar o arquivo .htaccess com um editor de texto e localizar a linha (aproximadamente linha 22):

Verificando o htaccess no opencart

Encontre o RewriteBase / e seguindo nosso exemplo mudar para a

RewriteBase / lojavirtual /

Em seguida salve o arquivo, sendo assim o endereço da loja virtual ficária: www.seusite.com.br/lojavirtual

Observação: O termo lojavirtual é o nome da pasta, que deverá ser substituído pelo mesmo nome que você instalou no instalou o OpenCart. Sendo assim se sua loja foi instalada na raiz do servidor, não haverá mudança no .htaccess.
Com todos os passos feitos acima corretamente, podemos fazer a configuração no painel de administração do opencart.

1.1º Acesse o painel de administração de sua loja, vá ao menu Sistema->Configurações

2° Passo configurando a url amigável no opencart no painel de administração

Clique em editar:

Clique em editar

Clique na aba servidor:

Clique em servidor

2° Passo: Testando a configuração da url amigável

Vá ao menu Catálogos-> Selecione um produto e clique em Editar. Localize a aba Dados e a opção URL amigável e digite o nome do seu produto. Mas, lembre-se: não use acentos, “á”, sinais de pontuação ou espaço entre as palavras, para separá-las do produto use “_” ou “-”, depois clique em Salvar.

2.1 – Os profissionais de seo costumam separar a url por hífen, exemplo: tennis- masculino ao invés de underline exemplo: tennis_masculino.

2.2 – Volte na página inicial de sua loja e clique no produto que foi alterado no passo anterior e verifique se a url mudou. Você pode fazer o mesmo procedimento em todos os produtos.

Dicas

É fundamental que você edite as urls nos seus departamentos / categorias. Basta acessar o menu Catálogos-> Selecione um departamento e clique em Editar. Localize a aba Dados e a opção URL amigável e digite o nome do departamento seguindo as mesmas regras para os produtos, depois clique no botão Salvar.

Feito isso faça um teste e verifique se o seu departamento / categorias também ficou com a url amigável.
Exemplo: www.seusite.com.br/tennis
Esse mesmo procedimento pode ser utilizando nas páginas estáticas / pagina de informações do seu site. Acesse a administração de sua loja e vá em: Catálogo -> Página de informações -> escolha a página deseja e clique em editar, clique na aba dados e edite o item url amigável.
Exemplo: www.seusite.com.br/quem-somos

Erros comuns:

- Se a sua url continuou a mesma de antes da configurar do .htacess, verifique o passo a passo novamente, caso o erro persista entre em contato com a sua hospedagem.
- Caso a sua loja já estava indexada nos mecanismos de busca recomendo que você faça um redirecionamento 301 da url antiga para nova, com isso você está dizendo aos mecanismos de busca que a sua url mudou. Para verificar se o seu site está indexado digite no google: site:www.seusite.com.br ou site:seusite.com.br, para extrair mais informações do google recomendo que leia o artigo que abordei diversas formas de fazer buscas avançada no google.

Para finalizar, utilize a ferramenta xenu para scannear o seu site, com isso você conseguirá identificar se existe algum link quebrado no mesmo.

Considerações finais: Espero que esse artigo tenha te ajudado, ainda vejo bastante gente com dúvida sobre como fazer e configurar a url amigável no opencart.