WordPress hacks&snippets – del 5 – Søg og erstat links i databasen

brianbrandt 0 kommentarer

Hejsa!

Dette er femte del, i en ny serie af blogindlæg, jeg vælger at kalde “WordPress hacks&snippets”. Denne serie henvender sig til dem, der har fået blod på tanden med selv at redigere i WordPress temaer og temafunktioner – i modsætning til at prøve at løse alt med plugins.

Se de øvrige dele af serien her:

WordPress hacks&snippets – del 1 – Personlig hilsen på login-side

WordPress hacks&snippets – del 2 – wp_head()

WordPress hacks&snippets – del 3 – jQuery via Google CDN

WordPress hacks&snippets – del 4 – Tøm skraldespanden automatisk

Kode snippet 5: Søg og erstat links i databasen.

Hack #5 tillader dig – via direkte SQL manipulation – at ændre links i dine blogposter/sider, direkte i databasen – i stedet for at skulle gøre det manuelt for hver eneste forekomst.

Men hvorfor er det interessant?

Hvis du f.eks. har lavet om på din permalinkstruktur men har en del hard-kodede links i dine plogposter – og du har MANGE poster/sider – så kan det tage flere timer, at løbe dem allesammen igennem fror at ændre de links.

Til gengæld kan det gøres på meget kortere tid, ved at lade databaseserveren foretage ændringerne automatsik for dig. HUSK at tage backup af databasen først…

OBS: Dette hack er KUN beregnet for avancerede brugere, der har styr på deres database-server.

Denne snippet er beregnet til mySQL/phpMyAdmin for dit webhotel.

update NAVN_PAA_DIN_TABEL set NAVN_PAA_FELT = replace(NAVN_PAA_FELT, 'GAMMEL_VAERDI','NY_VAERDI');

F.eks. hvis du vælger at bruge “category” betegnelsen mellem navnet på din side og navnet på din kategori, men har en masse links, der henviser til selve kategorisiden hard-kodede i dine indlæg:

update DIN_SIDES_TABEL_PREFIX_posts set post_content = replace(post_content, 'din-sides-navn.dk/kategorinavn/','din-sides-navn.dk/category/kategorinavn/');

Det, der sker, er at vi overskriver den første værdi (GAMMEL_VAERDI) – med vores egen værdi (NY_VAERDI). Husk at erstatte NAVN_PAA_DIN_TABEL med navnet på den tabel du ønsker at ændre og NAVN_PAA_FELT med navnet på det felt du ønsker at ændre.

[obs-hacks]