<html lang="pt-br" dir="ltr"><head></head><body># Ajax do Admin Bloqueado

 Se você receber a seguinte mensagem, é provável que sua loja não funcione corretamente:

 *Seu site parece estar bloqueando a interface ajax do WordPress. Isso pode causar problemas em sua loja.*

 O arquivo *admin-ajax.php* é usado pelo Easy Digital Downloads, e muitos outros plugins, para executar ações comuns em sua loja, como aplicar um código de desconto, validar o checkout, concluir uma compra. É um arquivo muito importante. Se ele estiver inacessível, é muito provável que sua loja não se comporte como esperado.

 Use as sugestões abaixo para ajudar a rastrear o problema e resolvê-lo.

#### Conflitos de Plugins

 Alguns plugins são conhecidos por bloquear intencionalmente o acesso a *admin-ajax.php*. Os seguintes tipos de plugin são frequentemente responsáveis:

- Plugins de segurança. Esses plugins geralmente têm uma configuração que desabilita *admin-ajax.php*, ou uma configuração semelhante para bloquear o acesso a arquivos de administração.
- Plugins que desabilitam o acesso a /wp-admin/ para não administradores.
- Plugins de minificação. Esses plugins prometem melhorias de desempenho encolhendo o tamanho de arquivos javascript (e outros). Esse processo muitas vezes quebra o javascript no Easy Digital Downloads que é responsável pela comunicação com *admin-ajax.php*
- Plugins de cache. Ocasionalmente, plugins de cache podem causar problemas com *admin-ajax.php* quebrando o javascript que cria as requisições ajax ou simplesmente tornando *admin-ajax.php* inacessível.

 Se o ajax não estiver funcionando em seu site e você tiver algum plugin que corresponda às descrições acima, tente desativar os plugins e, em seguida, teste para ver se *admin-ajax.php* se torna acessível novamente. Se sim, você ainda poderá usar o plugin, mas precisará encontrar a configuração problemática no plugin e desativá-la.

#### Firewalls de Hospedagem

 Ocasionalmente, empresas de hospedagem configurarão um firewall em seu site que se destina a protegê-lo, mas que também tem o efeito adverso de bloquear o acesso a *admin-ajax.php*. Se você estiver tendo problemas com o ajax, verifique se sua hospedagem possui um firewall e desative-o. Se o ajax começar a funcionar após desativar o firewall, você encontrou o culpado. Se o ajax ainda estiver inacessível após desativar o firewall, você geralmente pode reativá-lo com segurança.

#### Regras em seu Arquivo .htaccess

 O arquivo [.htaccess](https://en.wikipedia.org/wiki/Htaccess) usado em servidores apache às vezes pode incluir regras especiais que são projetadas para proteger seu site contra ataques. Ocasionalmente, essas regras são aplicadas um pouco genericamente e desativam inadvertidamente o acesso a *admin-ajax.php*. Se o seu ajax não estiver funcionando, verifique quais regras seu arquivo *.htaccess* contém. Se houver alguma regra além das mostradas abaixo, remova-as e veja se o ajax volta a funcionar.

 Seu arquivo *.htaccess* geralmente conterá regras que se parecem com isto (estas são perfeitamente seguras e normais):

```

# BEGIN WordPress
&lt;ifmodule mod_rewrite.c=""&gt;
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
&lt;/ifmodule&gt;# END WordPress
```

#### Problemas entre Domínios

admin-ajax.php deve ser executado no mesmo domínio de onde é chamado. Exemplo: se o seu site for &lt;https://www.example.com&gt; e você tentar chamar &lt;https://example.com/wp-admin/admin-ajax.php&gt; não funcionará. Observe o www na primeira URL e a ausência de www na segunda URL.

 Isso também se aplica a uma incompatibilidade de SSL. https://www.example.com/wp-admin/admin-ajax.php não pode chamar https://www.example.com/wp-admin/admin-ajax.php. Observe o https na primeira URL e a ausência de https na segunda.</body></html>