Aanleiding
Bij het ontwikkelen van WordPress plugins voor klanten ontstaat vaak de noodzaak om updates te kunnen distribueren via een eigen repository. Codeberg biedt als platform hiervoor een geschikt alternatief, maar de bestaande WordPress updaters zijn veelal specifiek gebouwd voor GitHub.
Dit project voorziet in een gestandaardiseerde oplossing die naadloos integreert met Codeberg’s API en het WordPress update-systeem.
Functionaliteit
De class biedt de volgende kernfunctionaliteiten:
- Geautomatiseerde versiecontrole: Ondersteund de WordPress periodieke controle op nieuwe releases via de Codeberg API
- Beveiligde downloads: Ondersteuning voor zowel publieke als private repositories middels token-authenticatie
- Slimme installatie: Automatische extractie en plaatsing van update-bestanden
- Changelog-integratie: Weergave van release notes in de WordPress plugin-details
- Naadloze integratie: Gebruik van WordPress native hooks en filters
Technische specificaties
Vereisten
- WordPress 7.0 of hoger
- PHP 8.0 of hoger
- Codeberg account
Compatibiliteit
– Codeberg (Forgejo API)
– Publieke en private repositories
– Release assets en source code archives
Architectuur
De class maakt gebruik van:
- WordPress Transients API voor caching
- WordPress HTTP API voor externe requests
- WordPress Filesystem API voor bestandsoperaties
- WordPress Plugin API voor integratie met het update-systeem
Implementatie
Over hoe de implementatie te doen en de code kun je alles terugvinden in de Codeberg repository.
Beveiliging
- Token authenticatie via HTTPS
- Geen hard-coded credentials in de broncode
- Ondersteuning voor omgevingsvariabelen en WordPress opties voor token-opslag
- Validatie van API-responses
Onderhoud en ondersteuning
De class wordt actief onderhouden en is getest met:
- Codeberg API v1
- WordPress 7.0.4
- PHP 8.4
Dit project is ontwikkeld voor professioneel gebruik in WordPress-omgevingen waar geautomatiseerd update-beheer vereist is.
Lees meer over WordPress plugin updates vanaf Codeberg repositories
En over welke andere maatwerk WordPress plugins ik heb gemaakt.















