Entendo o seu ponto. Em outras linguagens (realmente não conheço php) é fácil fazer uma chamada assíncrona no backend também pra não travar o processamento do servidor. Dei uma pesquisada aqui e existem formas de usar o php + curl pra fazer uma chamada assíncrona mas preciso testar.
O meu problema, no final das contas, é que eu preciso criar um plugin que funcione independente do tema.
O problema de carregar por javascript é que eu vou ter que ter um código em JS que renderiza os produtos. Criar esse código genérico, pra qualquer template, é muito difícil. A opção que restaria é na parte de config do plugin permitir que o usuário coloque um template que usa alguns placeholders pra gerar um html igual ao do resto da loja mas isso acaba tirando o “plug-and-play”.
Mas obrigado pelos esclarecimentos.. estão sendo muito úteis.
Obrigado pela ajuda. Vou olhar todos os links que você passou.
Sobre a integração via “backend”: quando o usuário acessa uma página de produto, por trás é executado um script php que gera o html da página. Certo?
Se for isso mesmo, nesse script php eu quero incluir uma chamada http para uma api externa e usar o retorno dessa API para mudar os produtos exibidos na página.