Kjapp og trygg hosting for Wordpress

Overføre databaseoppføringer til poster i wordpress

Tonny Kluften

Administrator
Jeg skal flytte et stort nettsted fra et CMS til Wordpress. Har en database med matoppskrifter.

En oppskrift ser slik ut i databasen:

INSERT INTO rs_recipes (id, cat_id, name, picture, ingredients, directions, nutritional, comments, description, course, servings, calories, preparetime, difficulty, approved, published, user_id, post_date, views, mark, votes) VALUES ('1589','5','Couscous med friske grønnsaker og urter','','400 g Couscous\r\n1 Rødløk\r\n3 Hvitløkbåter\r\n30 g Ingefær, frisk\r\n1 Rød chili\r\n2 ss Koriander, frisk\r\n2 ss Persille, frisk\r\nOlje\r\nSalt og pepper','Lag couscous etter anvisning på pakken.\r\n\r\nFinhakk alt du ønsker den skal smake av.\r\n\r\nBland i olje til couscousen får smidig konsistens.\r\n\r\nLøft inn krydder, grønnsaker og det du ellers måtte ønske til.\r\n\r\nServér straks som eneste rett eller som tilbehør.','','God mat','','','','','','','1','1','0','2007-12-23','257','4.00','1');

Hvordan kan jeg redigere databasen slik at Wordpress viser dette som en post, altså med tittel og innhold slik som under her, i tillegg må den postes i en bestemt kategori:


Kode:
Couscous med friske grønnsaker og urter

[B]Ingredienser[/B]
400 g  Couscous
Rødløk
Hvitløkbåter
30 g  Ingefær, frisk
Rød chili
2 ss  Koriander, frisk
2 ss  Persille, frisk
Olje
Salt og pepper

[B]Fremgangsmåte[/B]
Lag couscous etter anvisning på pakken. Finhakk alt du ønsker den skal smake av. Bland i olje til couscousen får smidig konsistens. Løft inn krydder, grønnsaker og det du ellers måtte ønske til. Servér straks som eneste rett eller som tilbehør.

God mat
 

Robert

Mr. 66
Flere måter, litt avhengig av hva du føler deg komfortabel med,

Den mest proffe løsningen vil være å skrive et PHP script som skriver om sql filen.

Eventuellt kan du benytte PHPmyadmin el. og endre navn, flytte rundt på tabeller slik at de matcher WP tabellene.

Om du heller er fan av å klippe/lime så kjør en eksport av innlegg i WP, og bruk denne som mal for å sette inn dataene fra oppskriftdatabasen. Bruk notepad, noe som støtter RegEx, eller excel, det som passer deg best.
 
U

Uregistrert

Guest
Du skriver jo bare et php script som fetcher oppskriftene fra gammel database og putter dem i wp-databasen da. Dette gjøres jo bare en gang. Et slikt script tar jo ikke lange tiden å lage.
 

Keanu

Geek
Selv ville jeg valgt å laget et lite script som henter ut fra SQL og skriver til Wordpress XML-formatet, det man bruker for å importere og eksportere poster i WP.

Det er noe sikrere med tanke på at man får opp eventuelle feilmeldinger når man så importerer XML-filen til Wordpress. En annen ting er at man da har informasjonen i et format man kan bruke i en hel rekke forskjellige CMS-system, da det finnes mange verktøy for å omgjøre Wordpress-poster til formater som kan importeres in andre CMS.

Når det gjelder hvor man skal plassere det forskjellige innholdet, så er det bare å putte det i custom fields, kanskje med unntak av fremgangsmåte som kan være content. Noe vil trolig være lost, men det har kanskje ikke så mye å si? Slik som user_id? Man kan eventuelt gjøre et join med andre tabeller når man skriver XML-filen for å få det som ligger der. Det meste av SQL-koden vil uansett ligge i det gamle CMSet, og det er bare å få den til å skrive ut dette til XML istedet for HTML.
 

Keanu

Geek
Wordpress importerer og eksporterer i et format som kalles Worpdress eXtended RSS, som er en litt mer avansert form for RSS. Jeg finner ikke noe definisjon av formatet for øyeblikket, men det er bare å sette opp en post slik du vil ha den i Wordpress, eksportere den, se på XML-en og finne strukturen du trenger.

Blant annet skrives custom fields slik:
Kode:
<wp:postmeta>
<wp:meta_key>calories</wp:meta_key>
<wp:meta_value>145</wp:meta_value>
</wp:postmeta>

Det å skrive xml-filen er like basic som å skrive ut html-filen. I stedet for <html><body>... etc lager man en <rss><channel> etc. Om man har kodet en RSS-feed for et CMS er det nøyktig samme prosess, bare med litt ekstra elementer.
 
Topp