Entries verplaatsen naar andere tabel

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ellen Skapandi

Ellen Skapandi

20/03/2014 14:33:28
Quote Anchor link
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?
Gewijzigd op 20/03/2014 14:36:37 door Ellen Skapandi
 
PHP hulp

PHP hulp

22/12/2024 16:00:39
 
Michael -

Michael -

20/03/2014 14:38:28
Quote Anchor link
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.
 
Ellen Skapandi

Ellen Skapandi

20/03/2014 14:45:08
Quote Anchor link
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
 
Michael -

Michael -

20/03/2014 14:47:36
Quote Anchor link
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 ;)
 
Ellen Skapandi

Ellen Skapandi

20/03/2014 14:49:05
Quote Anchor link
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

Toevoeging op 20/03/2014 15:09:47:

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.
Gewijzigd op 20/03/2014 14:52:06 door Ellen Skapandi
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

20/03/2014 17:10:39
Quote Anchor link
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.
 
Ellen Skapandi

Ellen Skapandi

25/06/2014 18:39:13
Quote Anchor link
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.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

25/06/2014 19:00:46
Quote Anchor link
Maak voor je archief berichten een 'tijdelijke' tabel, daarna kan je met INSERT .... SELECT die berichten overhevelen naar de wpposts tabel.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
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
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.