af Erik Hamre, Brugtpris.dk
Derfor valgte jeg WordPress til BrugtPris.dk
BrugtPris.dk er et hobbyprojekt jeg startede i 2019. Det er et site der henter priser på brugte iPhones på fx DBA.dk og udregner en gennemsnitspris. Så kan man nemt få en god ide om hvad en brugt iPhone skal koste, om du skal købe eller sælge.
For at hente priserne, skulle der kodes en prisrobot og der valgte jeg Python, fordi jeg havde erfaring med det. Men jeg kunne selvfølgelig også have valgt PHP, som WordPress jo bygger på.
Her havde jeg så valgmuligheden: Skulle jeg bygge resten af sitet i WordPress, som jeg kender rigtig godt, eller skulle jeg forsøge med Python, for eksempel Django eller Flask.
Jeg valgte WordPress.
WordPress er godt til det meste, men også til custom databaser?
WordPress har enormt mange fordele, ikke mindst brugervenlighed. Alt fungerer “out of the box”, url’er, post og taxonomy struktur og med plugins som Elementor og FacetWP, kan man lave avancerede designs uden at skrive en linje kode.
Men der er også ting som WordPress ikke er så god til, især når man vil bevæge sig lidt udenfor normalen.
Godt nok har WordPress mulighed for at lave custom posts og custom taxonomier, men det er stadig ikke let at lave egentlige gode one-to-many sammenhænge.
Altså, man kan jo sagtens lave strukturen, men problemet er snarere når resultaterne skal vises. Her er der ikke noget i WordPress der som udgangspunkt kan vise avancerede søgninger af custom posts.
WordPress Plugins kan meget, men ikke alt
For overhovedet at få den struktur med historiske priser jeg ønskede, måtte jeg investere i Advanced Custom Fields Pro, dertil skulle jeg have Elementor Pro til at lave skabelonerne til siderne og så FacetWP til at hente resultaterne. Tilsammen er det vel en udskrivning på en 2000kr eller sådan. Ikke så slemt, men det er stadig plugins, der kræver noget teknisk kompetence.
Her må man så få fat på plugins som FacetWP, der kan lave avancerede søgninger i posts og vise det med AJAX. Det er en ok løsning, men også begrænset. Man ikke lave flere skabeloner på samme side og output er begrænset til række med kolonner.
For at lave en forholdsvis simpel side med et dynamisk databaseopslag, endte det med en kombination af Elementor, Advanced Custom Fields Pro og FacetWP, samt at jeg måtte hente Chart.js ind for at vise en graf.
Det ovenstående viser lidt udfordringen med WordPress. Hvis man skal lave en custom løsning udenfor WordPress standard opbygning med posts, pages og kategorier, så begynder det at kræve en masse plugins til at omgå standar. Man begynder at arbejde imod WordPress, ikke med WordPress.
Konklusion
Skulle jeg lave et tilsvarende site i dag, ville jeg have valgt Flask, et python library, der netop er beregnet til simple web applikationer med database. Her skal man lave lidt ekstra arbejde, for eksempel skrive regex til at mappe url’er og skrive modellerne ud, men til gengæld kan man så utrolig nemt hente og præsentere sin data med simple templates.
Apolloweb kan også hjælpe dig med vedligeholdelse af din WordPress side.
Eller måske du er interesseret i en helt ny WordPress Hjemmeside