No artigo anterior, discutimos o básico sobre o mapeamento de shortcodes e como você pode ter acesso aos seus excelentes benefícios. Decidimos dividir o artigo apresentando a versão do Page Builder Sandwich para o Mapeamento de Shortcodes, já que o texto a seguir pode ficar um pouco mais técnico.
Abaixo estão descrições mais detalhadas do funcionamento interno do nosso recurso de mapeamento de shortcodes e como fizemos para que ele funcionasse.
Um Processo Automatizado
Para decidir quais plugins incluir no mapeador de shortcodes, criamos um script automatizado que reúne os principais plugins no diretório de plugins do WordPress com base nos seguintes critérios:
- Entre os 1.000 plugins populares, mais bem avaliados e atualizados, com pelo menos 4.000 instalações ativas,
- Com pelo menos 4.000 instalações ativas,
- Com pelo menos 20 avaliações e;
- Com uma classificação média de pelo menos 3 estrelas
Executamos essa consulta diariamente no diretório de plugins do WordPress. Esses filtros garantem que obtenhamos uma lista de plugins de boa qualidade que muitas pessoas usam. No momento em que isso foi escrito, esses critérios resultaram em 800 plugins. Isso é muito. Tipo, muito mesmo.

Em seguida, executamos uma série de verificações automatizadas no código-fonte de cada plugin para descobrir se ele contém shortcodes e, depois, tentamos encontrar todos esses shortcodes, incluindo todos os seus atributos. Processando os dados, isso resultou em mais de 2.000 shortcodes. Uau duplo. Os shortcodes detectados são então inseridos no banco de dados de mapeamento de shortcodes para inspeção manual.
Ao final desse processo, temos uma lista enorme de plugins e seus possíveis shortcodes. Agora é uma questão de limpar esses dados para garantir que tudo esteja correto.
Um Processo Manual
Esta é provavelmente a parte mais difícil de todo o sistema de mapeamento. O código dos plugins vem em diferentes formatos e tamanhos, e nem todos os shortcodes são detectados automaticamente pelos nossos scripts. Embora o WordPress Codex recomende o uso da função `shortcode_atts` para filtrar os atributos de um shortcode, isso é apenas uma recomendação e nem todo mundo faz isso. Também não há uma maneira infalível de verificar a estrutura interna de um shortcode quando um plugin está instalado.
Para garantir que tenhamos todos os shortcodes e seus atributos corretos, criamos uma área de front-end dedicada à edição de shortcodes e atributos, construída com AngularJS e Bootstrap.

Temos que analisar manualmente cada plugin, verificar a documentação de seus shortcodes e garantir que todos os dados que temos estejam corretos.
Embora isso seja minuciosamente tedioso, há alguns lados positivos em ter um processo automatizado:
- De acordo com nossas primeiras estatísticas, apenas cerca de 1 em cada 2 plugins possui shortcodes.
- Metade dos shortcodes detectados não possui atributos (mas uma parte disso pode ser falsos positivos)
- Ao selecionar apenas plugins de boa qualidade, é muito provável que eles tenham documentação de shortcodes
Quando todos os shortcodes de um plugin tiverem sido verificados, só então o servidor começará a distribuir os mapeamentos de shortcodes desse plugin para os usuários.
Uma Chamada de API REST
A última peça do quebra-cabeça é o próprio plugin. O conceito aqui é simples: descobrir quais plugins estão ativos, qual tema o site está usando e quais shortcodes estão disponíveis, e então consultar o banco de dados de mapeamento de shortcodes para ver se ele possui os mapeamentos. Para isso, criamos um endpoint personalizado da WP REST API que todos os clientes consultam para obter seus mapeamentos de shortcodes mais recentes.
O Futuro: Crowdsourcing
Verificar manualmente cada plugin exige muito tempo e esforço. Assim que a plataforma de mapeamento de shortcodes estiver estável, planejamos abrir o mapeamento de shortcodes para todos. Isso significa que qualquer pessoa poderá ajudar a adicionar shortcodes.
Você pode estar pensando: “por que eu ajudaria a mapear shortcodes? O que eu ganho com isso?”. Bem, algumas coisas vêm à mente sobre o motivo pelo qual as pessoas gostariam de ajudar:
- Se você criou um plugin e nós ainda não o identificamos devido aos critérios acima (e ele está no diretório de plugins do WordPress), você mesmo pode adicionar os mapeamentos. Seu plugin passará a ser totalmente suportado pelo PBS!
- Como no processo automatizado lidaremos apenas com aqueles presentes no diretório de plugins do WordPress, autores de plugins e temas premium não serão incluídos. Portanto, se você tiver um, também poderá adicionar seus mapeamentos de shortcodes para eles.
- E para aqueles que não criam plugins, podemos recompensar quem ajudar. Para tornar o mapeamento de shortcodes uma iniciativa atraente, podemos recompensar os colaboradores voluntários com uma licença pessoal ou um upgrade para uma licença premium do PBS!
Inscreva-se na Nossa Newsletter
A funcionalidade de mapeamento de shortcodes estará disponível para nossos clientes provisoriamente em 12 de agosto 15 de agosto 16 de agosto de 2016. Nem todos os shortcodes estarão mapeados até esse momento (nossa estimativa é de talvez 100 plugins), mas o mapeamento será feito continuamente e os clientes os receberão assim que novos forem disponibilizados.
Inscreva-se na nossa newsletter para receber novidades sobre o mapeamento de shortcodes, quando o lançaremos e quando abriremos o mapeamento de shortcodes para o público!