Como usar a API do WordPress para gerenciar seu site

Usar a API do WordPress é uma ótima maneira de gerenciar o conteúdo do seu site de forma programática. Com a API, você pode criar, ler, atualizar e excluir publicações, páginas e outros tipos de conteúdo do seu site WordPress, bem como gerenciar usuários e configurações.

Para começar a usar a API do WordPress, é preciso ter uma instalação do WordPress e ativar o plugin WordPress REST API. Uma vez ativado, a API estará disponível em um endpoint específico em sua instalação WordPress, geralmente em http://seusite.com.br/wp-json/wp/v2/.

Para acessar os dados do seu site WordPress e realizar operações com a API, você pode fazer solicitações HTTP (como GET, POST, PUT e DELETE) usando uma biblioteca de cliente HTTP, como o cURL ou o WordPress HTTP API. Por exemplo, aqui está como você poderia usar o cURL para obter a lista de publicações do seu site WordPress:

<?php
// Inicializa a solicitação HTTP
$curl = curl_init();

// Define a URL da API
curl_setopt($curl, CURLOPT_URL, 'http://seusite.com.br/wp-json/wp/v2/posts');

// Define o método como GET
curl_setopt($curl, CURLOPT_HTTPGET, true);

// Executa a solicitação HTTP e armazena a resposta
$response = curl_exec($curl);

// Fecha a conexão cURL
curl_close($curl);

// Decodifica a resposta JSON
$posts = json_decode($response, true);

// Itera sobre cada publicação e exibe o título
foreach ($posts as $post) {
  echo $post['title']['rendered'] . "\n";
}

Com a API do WordPress, existem muitas possibilidades. Você pode criar aplicativos personalizados para gerenciar seu projeto, integrar o seu site com outros serviços ou até mesmo criar seus próprios plugins usando a API como base.

Hospede seu site em um servidor Cloud por menos de R$ 11 Mês

Seja para quem é iniciante ou dinossauro na área de tecnologia, sempre fica aquela dúvida, qual o melhor e mais barato serviço de hospedagem atualmente? Hospedagem Cloud ou compartilhada? (Compartilhada não quero mais nem de graça). Se você já tem um certo conhecimento, claro que compensa muito mais configurar seu próprio servidor e alocar seus clientes, a desvantagem é que você fica responsável por praticamente tudo, configurar gerenciador de hospedagem, e-mails, quedas de serviços entre outros, neste caso, recomendo a Linode, sem medo de errar.

Porém, todavia, entretanto, contudo, se você não tem um grande conhecimento em gerenciamento de hospedagens, ou simplesmente não quer se incomodar em prestar suporte para o seu cliente, poderá muito bem optar por um Cloud 100% configurado com:

  • Servidor Cloud individual (Apenas o seu site hospedado no Cloud)
  • E-mails ilimitados
  • SSL grátis
  • Firewall
  • Tráfego ilimitado
  • Banco de dados ilimitados
  • Backup grátis
  • Acesso SSH
  • Software anti-spam para e-mails
  • Upgrade/Downgrade de plano direto pelo painel, sem precisar abrir ticket e sem downtime
  • Suporte grátis
  • Instalações de aplicações com poucos cliques
  • Revenda de hospedagem
  • Plugin de cache (WordPress)
  • Editor de arquivos
  • FTP
  • Deploy pelo GitLab em breve Github e Bitbucket
  • Restauração de backup em poucos cliques
  • Gerenciador de banco de dados (PHPMYADMIN)
  • Acesso remoto ao banco de dados
  • Escolher entre Mysql e PostgreSQL
  • Balanceador de carga
  • Escolher versões do PHP (5.4 até >= 8.0)
  • CronJob direto pelo painel
  • Logs de erro do PHP e do servidor
  • Migração dos seus dados gratuitamente (Consulte)
  • Hospedagem individualizada, sem compartilhamento de CPU e memória com outros sites
  • Sem fidelidade (cancele quando quiser)
  • A partir de R$ 10,90

Lembrando que o valor de R$ 10,90 é a configuração inicial, se você precisar de mais poder de processamento, poderá efetuar upgrade da sua instância, com valores adicionais.

Sem surpresas na conta

Você está no controle da sua hospedagem, no painel de controle, é possível verificar uma estimativa de quantos créditos você ainda possuí e quanto tempo ele irá durar.

Você pode optar por deixar a recarga automática através de cartão de crédito, também é possível inserir créditos através de boleto bancário, Pix ou mercado pago.

Estimativa de valor e duração do crédito em dias

Você no controle

Com a hostoo você está no controle e não precisa ser expert em servidores, é possível efetuar upgrade e downgrade de servidor com poucos cliques e sem deixar o seu site offline. Instale e configure aplicações em poucos cliques. Gosta do WordPress? Plugin de cache gratuito para acelerar ainda mais o carregamento do seu site.

No print abaixo, podemos notar o domínio do site, versão do PHP, SSL ativo, detalhes do plano, detalhes de consumo de CPU, RAM, disco e outras configurações da hospedagem.

PAINEL DE CONTROLE HOSTOO

Precisa de mais?

Além de ter servidores nos Estados Unidos, também é possível hospedar seus sites em clouds aqui no Brasil, claro, por um valor adicional. Com a Hostoo você pode fazer upgrade de plano facilmente. Suponhamos que durante o dia, você teve visitas atípicas em seu website, resultando em um consumo máximo de CPU e RAM, e agora o que fazer? Em poucos cliques, você pode efetuar upgrade do seu plano, contratando um cloud melhor, pagando por hora utilizada, e posteriormente, retornar ao plano original, você está 100% no controle.

Suporte que não te deixa 48h esperando

Estou com a Hostoo há mais de 1 ano e diferente de outros serviços de hospedagem, o suporte é muito rápido e definitivamente resolve seus problemas. Até o momento, precisei abrir apenas 1 ticket de site fora do ar, onde ficou constatado que o problema não era na hospedagem e sim no servidor dns que eu estava utilizando como proxy, o outro ticket? Foi aberto pela própria empresa, quando me deparei com um erro 500 no painel de hospedagem. Tempo da primeira resposta < 22 minutos.

Painel de suporte Hostoo

Sem dúvidas, foi um grande achado que estou compartilhando com você! https://hostoo.io

Como migrei um site WordPress de 20GB sem acesso ao gerenciador de hospedagem

Fui procurado por uma empresa para refazer um portal de notícias, o site foi desenvolvido sob o cms WordPress, com elementor. A principal reclamação do solicitante era a demora para carregar o site, mesmo tendo um sistema de cache. Não foi necessário ir muito longe para encontrar o problema, simplesmente existiam mais de 55 plugins instalados, sem contar os inativos, WordPress desatualizado, banco com excesso de tabelas, entre outros problemas.

Instalei o WordPress na sua versão mais atual na minha máquina e comecei a trabalhar em cima do novo site, como sempre, o prazo não era dos melhores, para não precisar configurar um tema do 0, utilizei o Underscore para gerar um template inicial.

Depois de finalizado o novo layout, removido todos os plugins desnecessários e configurado a nova hospedagem, chegou a hora da migração do conteúdo.

Inicialmente pensei, vai ser moleza, já migrei site de +60GB em poucas horas, 20GB não vou nem ter trabalho, aí que me enganei. Não foi possível obter acesso ao Cpanel muito menos ao ssh do servidor. Pesquisando algumas alternativas, encontrei o plugin UpdraftPlus, resolvi fazer um teste.

Iniciei o backup do site no sábado por volta das 9h, mas infelizmente o plugin não conseguia concluir o backup, então mudei algumas configurações e tentei novamente, isso já era mais de 12h, por volta das 17h ~ 18h o backup terminou, agora precisava transferir 20GB para o novo servidor. Já se passava de 22h e mal tinha atingido 50%, não sei se era alguma limitação no servidor de saída, entrada ou se o próprio plugin restringia a velocidade por ser a versão free. Então contratei um s3 temporariamente para tentar jogar os arquivos no bucket e depois resgatar no novo servidor. Já no domingo pela manhã iniciei novamente a tentativa de migração, dessa vez para o S3, mas nada mudou, continuava lento, dois dias tentando migrar o conteúdo e sem sucesso.

No fim de semana seguinte, sábado às 8h iniciei uma nova tentativa, finalmente no início da noite, todo o conteúdo já estava no novo servidor, então iniciei a importação desses dados, depois de algumas horas, finalmente terminou, mas para a minha surpresa, faltava muito conteúdo, o plugin não conseguiu efetuar o backup total como o esperado. Nessa hora eu já estava desiludido, como dizia minha mãe, é hora de se enforcar em um pé de cebolinha, já passando das 01h, abortei a missão.

Novamente domingo, já no 4º dia de tentativa, resolvi utilizar o plugin novamente e fazer backup somente do banco de dados, em 15 minutos o backup estava feito e importado no novo servidor. Fiz o download do backup do banco para minha máquina local, 1,5GB, depois subi para o servidor com o scp e importei no mysql pelo shell . Enviando o arquivo para o servidor.

scp banco-de-dados.zip ssh servidor:/home/user/

Maravilha, o banco já estava importado com todo o conteúdo, sem erros, mas como recuperar as imagens e vídeos, e agora, José?

Até pensei em utilizar o Al-In-One WP Migration que é um dos meus favoritos, mas o limite de 512MB era um empecilho, até poderia utilizar uma versão nulled, mas pra que complicar ainda mais, né? A dor de cabeça posteriormente poderia ser maior ainda.

Depois de já ter acabado com o estoque de café do mês em 4 dias, parei para refletir, deve ter um jeito de acessar o terminal do servidor e fazer o backup desses arquivos, foi então que encontrei o plugin WPTerm, eu não sabia, mas ele iria me salvar ❤️

Com o WPTerm é possível rodar comandos como se estivesse conectado no shell do servidor, obviamente, eu não podia rodar um zip diretamente na pasta public_html, trata-se de um emulador, não estou conectado diretamente via ssh.

Então comecei fazendo backup nos arquivos.

zip -r a1.zip wp-content/uploads/ano/dia

E no servidor de destino, com acesso ssh, realizava o download e descompactação

wget https://site.com.br/wp-content/uploads/ano/dia/a1.zip

unzip a.zip

E assim fiz, pasta por pasta até chegar na última. Em menos de 2h já tinha migrado todos os vídeos, fotos e e-mails.

Por volta das 16h já estava tudo pronto para a virada definitiva, terminei algumas configurações na hospedagem, troquei o plugin de cache por um mais eficaz, configurei corretamente o cache, diferente do que muitos pensam, não basta apenas apontar o dns para o CloudFlare, é necessário configurar as regras de cache, para ter certeza que o arquivo está em cache, o CloudFlare retorna no header o status HIT, se for diferente disso, seus arquivos não estão sendo armazenados corretamente ou o cache é individual, o que não é muito interessante se o conteúdo é público.

cf-cache-status: HIT

age: Tempo em segundos que o arquivo está armazenado em cache

Print status cache Cloudflare

E foi assim, graças ao WpTerm, consegui migrar 20GB de conteúdo em pouquíssimo tempo, parece fácil, né? Mas não foi.

Como adicionar imagem destacada no Feed do WordPress

Certa vez, estava fazendo a integração do Feed do WP com um canal de mídia social que exigia uma imagem para compartilhar o conteúdo. Assim, começou minha saga para tentar descobrir como adicionar a imagem no feed. Encontrei diversas alternativas, algumas indicavam acessar a pasta /wp-includes/feed-rss2.php, criar uma tag img e inserir a foto destacada direto no arquivo rss2.php, no entanto, assim que o WordPress fosse atualizado, o código seria perdido.

A melhor saída foi criar uma função direto no arquivo functions.php do tema no WordPress, para inserir a thumbnail no feed.

Explicação da função

A função é básica, verificamos se existe uma thumbnail na publicação, se existe mostramos a imagem do original, do contrário, mostramos uma genérica, pode ser uma marca d’água da sua empresa ou algo do gênero.

Deixo aqui o link para a função criada, basta copiar e alterar do jeito que preferir.