Pfioew, prutsen in WordPress, dat was al eens lang geleden. Als ik tegenwoordig een website maak met WordPress is dat altijd met een modern theme dat ik aanpas met de propere Page Builder.
De laatste site die ik met de hand gemaakt heb, was mijn boekenwebsite. Die nog altijd op PHP 7.4 draaide (van 2019), en dat dat eigenlijk niet meer gepermitteerd was. En dus upgrade naar 8.3 geforceerd — dat kan tegenwoordig gelukkig proper in het dashboard van de hostingpartij — in de volle wetenschap dat er wellicht dingen gingen breken.
Na de update was inderdaad van dat: website kapot wegens onbekende reden.
Dat is meestal omdat er ergens een plugin niet meer werkt. FTP opengezet en de pluginsdirectory hernoemd naar iets anders, website heropgeladen en hoera!
Ik wist eigenlijk meteen waar het aan lag als ik in die pluginsdirectory zat: de Types-plugin die al sinds 2019 niet meer ondersteund wordt. Het ambetante is dat die zorgde voor een aantal custom fields die ik gebruik. Tegenwoordig doe ik dat met ACF SCF, en eeeeiiiigenlijk zou dat in theorie een gemakkelijke switch zijn, want de data wordt op dezelfde (prehistorische) manier opgeslagen: in wp_postmeta
, in rijen met een post_id
dat naar de post verwijst, een meta_key
dat de veldnaam geeft en een meta_value
dat de waarde in het veld bevat. Da’s gewoon standaard-WordPress en de SCF (en Types ervoor) zijn maar propere wrappers errond.
Ik dus SCF geïnstalleerd, testvelden aangemaakt, naar de databasen, gezien dat de oude velden daar wpcf-publicatie
en wpcf-quotering
als naam hebben en nieuwe velden in SCF zo géén prefix hebben, een publicatie
en quotering
-veld gemaakt in SCF, en een rappe update wp_postmeta set meta_key='publicatie' where meta_key = 'wpcf-publicatie'; update wp_postmeta set meta_key='quotering' where meta_key = 'wpcf-quotering';
later was het gepiept.
In de editor, maar niet in de gegenereerde pagina. Ah ja, want daar had ik zelf code geschreven om die velden op de pagina te smijten. Dat dan ook maar aangepast:

En alles werkt weer zoals het zou moeten, met een moderne WordPress op een recente PHP.
Pfioew.