MU-Plugins para WordPress

Estamos a desenvolver uma integração WordPress baseada na mínima dependência de plugins de terceiros, para garantir controlo, segurança e autonomia. Entretanto, o ecossistema WordPress deriva cada vez mais para uma lógica de negócio: plugins básicos, com funcionalidades muito limitadas e versões "profissionais" por detrás de um pagamento.

O Plugin Loader permite integrar funcionalidades mais complexas — organizadas em múltiplos ficheiros — dentro de uma estrutura ordenada e sustentável, e permite também removê-las.

O Carousel Slider Block não tem suporte para Lightbox integrado. A nossa solução permite ver as imagens adicionadas como diapositivos, numa progressão natural, dentro de um overlay do tipo Lightbox, tal como o Gallery Block permite de forma nativa.

O editor Gutenberg ainda apresenta limitações importantes na edição fina de conteúdo. Não é possível atribuir uma fonte diferente a uma palavra dentro de um parágrafo, nem inserir imagens em linha (inline).

Pode parecer um detalhe menor, mas torna-se fundamental em casos concretos — como, por exemplo, adicionar uma imagem dentro de um rodapé de página. A falta desta funcionalidade levou-nos a desenvolver uma solução própria.

Fizemo-lo como um complemento leve, respeitando a estrutura e a lógica do sistema de blocos do WordPress.

Além disso, adicionámos suporte para ter mais controlo sobre o contentor dos conteúdos visualizados dentro de uma Lightbox: poder definir o fundo é fundamental, e poder fazê-lo de forma fácil e rápida, ainda mais.

Adicionámos um pequeno script ao frontend que melhora a experiência do utilizador ao abrir secções do bloco de acordeão, garantindo que o conteúdo ativado fique sempre bem posicionado para facilitar a continuação da leitura.

O Language Router adiciona suporte multilingue a uma instalação single do WordPress. Permite estabelecer e manter equivalências entre páginas e outros conteúdos (atualmente, pages e posts), bem como importar conteúdo da versão original para o traduzir.

Para o frontend, inclui um language switcher e cumpre os requisitos básicos de SEO, como ligações canónicas (canonical), etiquetas hreflang e integração com os permalinks, bem como suporte para categorias, paginação, etc.

Este plugin oferece a presências web pequenas e médias a possibilidade de integrar suporte multilingue sem a necessidade de utilizar plugins que, em muitos casos, introduzem paywalls e complexidade desnecessária.

Hoje em dia, com a ajuda da inteligência artificial, manter um site multilingue requer sobretudo um sistema simples e transparente para gerir a estrutura e as equivalências — pouco mais do que isso.

O conector funciona em conjunto com o nosso encaminhador de idiomas e permite traduzir ou gerar conteúdo para uma página ou entrada. Atualmente pode ligá-lo à sua IA preferida — Claude, OpenAI ou Gemini —, embora seja fácil adicionar suporte para outras opções se necessário. Além disso, também gera metadescrições e excertos, se desejado.

Talvez isto não seja assim tão necessário, mas incomoda-nos muito o overkill e a carga associada a fontes como Font Awesome e a sua integração via CSS, etc.

Criámos um pequeno módulo que permite carregar um ficheiro de ícones, que podem ser perfeitamente extraídos do Font Awesome (respeitando a sua licença — a atribuição deve constar dentro do código SVG).

Desta forma dispomos de um conjunto de ícones leve que, além disso, podem ser integrados diretamente como ligações.

A preparação do ficheiro de ícones requer alguns scripts adicionais em Python ou Node. Nós incluímos um script muito rudimentar em Node, build-icons.js, que prepara um conjunto de ícones do Font Awesome para a sua utilização com o bloco SVG Icon Button.

Tudo está publicado no Github. O código é utilizado sob a sua responsabilidade.

Tudo foi desenvolvido com o apoio da inteligência artificial, mas exigiu revisões e correções exaustivas, bem como tempo, para alcançar um resultado minimamente aceitável e fiável.

O código é melhorável: atualmente cumpre a sua função adaptado às nossas necessidades, mas não podemos garantir o seu funcionamento noutros contextos.

É todo seu.

Gerir o consentimento