Hallo.

Ik ben op dit moment bezig met het vernieuwen van een site. Deze site heeft een groot archief aan nieuwsberichten, die ik wil overzetten naar Wordpress.
Het archief is weg gezet in een database. De naam van de kolommen heb ik al aangepast, zodat ze overeenkomen met wat Wordpress doet. De nieuwsberichten hebben alleen minder kolommen dat Wordpress heeft.

Hoe kan ik deze nieuwsberichten overzetten naar wp_posts, zodat Wordpress ze in kan lezen?
Exporteren en importeren? Als je bijvoorbeeld phpmyadmin gebruikt zou je dit kunnen doen mits de database niet té groot is. Mocht het te groot zijn kom je waarschijnlijk uit op een commando via een console/ssh o.i.d.
Dat heb ik net geprobeerd, maar dan maakt hij een nieuwe tabel aan.
De gegevens staan nu in wp_posts2 (waar WP dus niks mee doet) en het moet naar wp_posts. Moet ik dan alle wp_posts2 in het geexporteerde bestand wijzigen in wp_posts? Dan ben ik wel even bezig..
even op zoek naar een batch-programma
Nee als jij ervoor kiest om Export naar sql bestand te doen, kun je deze dus opslaan en in een anderen tabel importeren.
Maar als ik je zo hoor, waarom hernoem je die tabel niet gewoon van wp_posts2 naar wp_posts?
Daarnaast duurt tekst in een bestand wijzigen met 'replace all' niet heel lang ;)
omdat dan niet alle kolommen aanwezig zijn omdat de oude site daar geen gebruik van maakte. Ook ziet Wordpress niks als ik dat doe.
Al geprobeerd

[size=xsmall]Toevoeging op 20/03/2014 15:09:47:[/size]

er zitten bijna 8000 entries in.
Ik heb ze uiteindelijk wel in de goede tabel gekregen. Wordpress liet wel zien dat er bijna 8000 posts waren (Alles: 8000, gepubliceerd: 0) maar ik kon geen van allen zien in het overzicht.
Ik ben niet bekend met WP maar ik vermoed dat er dan een kolom in de wp_posts tabel staat waarin aangeven wordt of een post gepubliceerd moet worden of niet.
Het grootste probleem is de datum. Doordat het oude systeem met een andere tijdnotering werkte dan Wordpress, correspondeert dat niet met elkaar. Het oude systeem schrijft de datum weg in de database zonder het te "vertalen", waardoor in MyAdmin de datum onleesbaar is. Dit vertalen gebeurd pas bij het inlezen van een databasebericht.
Wordpress vertaalt de datum al voordat het weggeschreven wordt in de database, waardoor ik in MyAdmin precies kan zien op welke datum een bericht staat.

Op een 1 of andere manier moet ik die datum van het oude systeem vertalen, voordat ik alles importeer in de database van Wordpress, zodat Wordpress met die datum kan werken.
Maak voor je archief berichten een 'tijdelijke' tabel, daarna kan je met INSERT .... SELECT die berichten overhevelen naar de wpposts tabel.

INSERT INTO wp_posts (post_date)
SELECT STR_TO_DATE(datum, '%d-%m-%Y') FROM archief

Als de datum als UNIX timestamp is opgeslagen kan je FROM_UNIXTIME(datum) gebruiken.

Zelf even aanvullen met de velden die je nodig hebt.

Opmerking

Let op dat deze manier van inserten rare dingen doe met de AUTO_INCREMENT value


Reageren