Como resolver o erro “Falha ao atualizar. A resposta não é um JSON válido.” no WordPress

Então tu estás reinstalando um sítio WordPress ou então foste atualizar uma página qualquer e pá! Vem este erro exótico “A resposta não é um JSON válido” ou pouco explicativo: “Falha ao atualizar”. O que fazer?

Então tu estás reinstalando um sítio WordPress ou então foste atualizar uma página qualquer e pá! Vem este erro exótico “A resposta não é um JSON válido” ou pouco explicativo: “Falha ao atualizar”.

Sim, os informatas não são muito pródigos nas mensagens de erro, principalmente porque tendem a fazê-las para si, não para os usuários. Mas isso é uma outra questão. Voltemos ao erro.

Confesso que eu não descobri a origem certa do erro, mas pode ter a ver com estas situações:

Motivo 1: Arquivo .htaccess com problemas

É o motivo mais exótico, mas curiosamente, o mais comum. As regras estão erradas por algum motivo (erro de plug-in, padrão diferente da tua hospedagem etc.) e é preciso voltar ao básico.

Para isso, a solução é simples: vai na opção Configurações > Links permanentes e escolhe uma opção diferente da que está no momento (sugiro justamente o ajuste “Padrão”). Vai na página em questão e atualiza novamente.

Deu? Volta no ajuste dos Links Permanentes e escolhe a opção adequada para teu blog e pronto!

Não deu? Segue o próximo motivo.

Motivo 2: Incompatibilidades de plug-ins

Ah, o velho e bom problema de sempre. Plug-ins malucos (ou não) que destroem tua instalação WP por não fazerem o mínimo, que é se comportar educadamente dentro das melhores práticas.

Muito bem, para resolver isso já é sabido: desativa todos os plug-ins que não forem necessários e tenta atualizar a página novamente.

Deu? Parabéns, o mundo é belo!

Não deu? Tenta desativar TODOS os plug-ins.

Não deu? Segue o próximo motivo.

Motivo 3. Incompatibilidade de temas

O criador do tema botou umas funções malucas dentro do functions.php e tu acabaste de atualizar o WordPress. E daí danou-se.

Neste caso, o negócio é trocar o tema por um tema padrão, como o TwentyTwenty (https://br.wordpress.org/themes/twentytwenty/) e tentar de novo.

Deu? Então instala o plug-in Editor Clássico (https://br.wordpress.org/plugins/classic-editor/), volta para o tema que queres usar e vê se ameniza o problema.

Não deu? Bem, então ou trocas de tema ou escreve aí embaixo tua triste situação, que a gente tenta encontrar a solução juntos.

WooCommerce: como adicionar um produto e finalizar a compra direto

Como fazer para que o cliente clique em “Comprar” e vá direto para o checkout, preenchendo seus dados para finalizar a compra?

Em algumas lojas virtuais, temos poucos ou apenas UM produto, de modo que queremos que o cliente clique em “Comprar” e vá direto para o checkout, preenchendo seus dados para finalizar a compra.

No WooCommerce isso é feito criando-se um URL do tipo “add to cart”, que terá o código do produto em questão.

O primeiro passo então, é obter o código do produto. Isso pode ser visto na opção “Produtos” do admin do WP.

O código de produto (ID) aparece quando se passa o cursor sobre o produto

Na lista de produtos, podemos ver o código (ID) quando se passa o cursor sobre o item desejado. No exemplo acima, o código do produto “Suporte veicular para celular” é 3491.

Depois, precisamos da página de finalização de compra. Na maioria das vezes, tua loja vai usar a página criada automaticamente pelo WooCommerce. Em Português, essa página se chama “Finalizar Compra”, com o slug finalizar-compra. Outro slug bem comum é checkout.

Com estes dados, podemos construir o URL desejado, que terá o seguinte formato:

nomedatualoja.com/finalizar-compra/?add-to-cart=<codigo-do-produto>

Por exemplo:

marcoandrei.com/loja/finalizar-compra/?add-to-cart=3491

O URL redireciona para finalizar a compra, já com o produto no carrinho

Para testar é só copiar esse URL na barra de endereço e pronto! A página Finalizar Compra é carregada já com o produto no carrinho, como vemos acima.

Nota que para esse endereço funcionar, a opção “Redirecionar ao carrinho após uma adição bem-sucedida” tem que estar DESLIGADA. Isso porque o parâmetro add-to-cart obviamente adiciona um item ao carrinho.

Sendo assim, se a opção estiver LIGADA, o WooCommerce vai redirecionar o comprador para o carrinho, que é o resultado diferente do que desejamos.

Tu podes encontrar essa opção no menu WooCommerce > Configurações > Produtos.

A opção “Redirecionar ao carrinho após uma adição bem-sucedida” precisa estar desligada

E é isso.

Ficaste com alguma dúvida? Tens uma observação a fazer? Manda teu comentário aí embaixo!

Até a próxima!

Como remover itens e seções do Personalizador do WordPress?

Quando criamos um tema personalizado, não raro temos opções presentes no Personalizador do WordPress (Theme Customizer) que serão ignoradas e não produzirão resultado prático no visual do sítio. Sendo assim, é mais conveniente que essas opções sejam removidas, já que poderão confundir o usuário.

Para começar, a classe que gerencia tudo que envolve o Personalizador se chama WP_Customize_Manager e o objeto criado em execução é $wp_customize.

Há 4 tipos de objetos no Personalizador: Panels (painéis), Sections (seções), Settings (Configurações/Ajustes) e Controls (controles). Neste artigo, vamos ver os dois primeiros.

Quando entramos no Personalizador temos um monte de linguetas/abas. Elas podem ser ou uma seção ou um painel, que contêm os diversos controles para se manipular as configurações.

Quando usamos uma seção ela só permite adicionar controles dentro dela. “Identidade do site” e “Cores” são itens implementados como uma seção.

Já um painel permite que se adicione seções dentro dele. “Menus” e “Widgets” são itens implementados como um painel.

Vamos ver a lista de seções e painéis presentes no WordPress:

TítuloTipoIDOrdem
Identidade do siteseçãotitle_tagline20
Coresseçãocolors40
Imagem do cabeçalhoseçãoheader_image60
Imagem de fundoseçãobackground_image80
Menuspainelnav_menus100
Widgetspainelwidgets110
Configurações da página inicialseçãostatic_front_page120
CSS adicionalseçãocustom_css200

Para se remover uma seção, usamos o método remove_section. Para remover um painel, o método remove_panel.

Finalmente, vamos a um exemplo de código. Cria um plugin ou adiciona este trecho no arquivo functions.php do teu tema:

function remove_itens_personalizador( $wp_customize ) {
  // Remove a seção "Imagem de fundo"
  $wp_customize->remove_section( 'background_image');
  // Remove o painel "Menus"
  $wp_customize->remove_panel( 'nav_menus');
  // Remove a seção "CSS adicional".
  $wp_customize->remove_section( 'custom_css');
}
add_action( 'customize_register', 'mytheme_customize_register',50 );

Simples, não? É isso.

Se tens algo a acrescentar ou tens alguma dúvida, comenta aí embaixo para a gente trocar uma ideia.

Até o próximo!

Como criar um link para enviar mensagem no WhatsApp

É fácil construir o URL para mandar uma mensagem diretamente para qualquer número

Com a popularização do WhatsApp, também tornou-se comum querer ter junto às redes sociais, um ícone para enviar uma mensagem diretamente para o aplicativo.

A maneira de construir o URL é bastante fácil e segue o seguinte modelo:

https://wa.me/numero-do-telefone

Por exemplo:

https://wa.me/5551999999999

sendo: “55” código internacional do Brasil, “51” código de área e depois o número em questão.

Também pode-se pré-definir uma mensagem padrão, no estilo: “Olá! Gostaria de saber mais sobre esse produto.”.

Para adicionar esta mensagem, usa-se o parâmetro “text”, assim:

https://wa.me/5551999999999?text=Gostaria%20de%20saber%20mais%20sobre%20o%20produto

(“%20” é código para espaço em branco.)

Simples, não?

Ao clicar no ícone, o telefone do usuário já vai abrir o app automaticamente com essa mensagem pronta para ser enviada para o número.

No computador, se o usuário tiver o aplicativo instalado, ele será aberto com a mensagem; se não, será aberta uma janela simples.

Tu conheces outro método para enviar mensagens para o WhatsApp? Tens outras ideias e dicas para implementar isso no WordPress? Deixa teu comentário aí embaixo!