Pivot-importer voor WordPress

For an English version, click here.

** Belangrijk! ** Ik heb deze importer nog NIET onder WordPress 2.3 getest, en de kans is aanwezig dat hij niet werkt. Aan de andere kant, het kan ook best zijn dat-ie WEL werkt…

De belangrijkste stappen zijn simpel:

  • Download de zip-file
  • Plemp dit script in /wordpress/wp-admin/import/
  • Zorg ervoor dat de pivot directory, met tenminste pv_cfg_settings.php en de 'db' directorystructuur erin, klaarstaat in je wordpress– directory.
  • Ga in WordPress naar Import, kies Pivot, en volg de instructies.

Belangrijk verschil is dus dat de Pivot-directory nu in die van WordPress terecht komt, en oh ja, downloaden is ook iets makkelijker geworden: het is nu een zip-bestand, dus dat hoef je alleen nog uit te pakken.

Succes, maak altijd eerst een backup voor je aan de gang gaat, en laat me weten of het gelukt is!

Vanaf hier is het de oude documentatie, die ik te zijner tijd wel eens aanpas.

Update: De gebruiksaanwijzing is lichtelijk aangepast; er zat een foutje in. Dank aan Marti voor het spotten!

Deze lag al een hele tijd te sudderen… Zoals de naam al zegt: een scriptje om posts van je Pivot-weblog naar je WordPress-weblog over te hijsen. Voor als je bent overgestapt, bijvoorbeeld. Het script is redelijk gebruikers-proof, bestaande Pivot-gebruikers komen ook weer in WordPress terug, je kunt zelf aangeven wie de admin-gebruiker is, enzovoorts. Qua categorieën gaat het iets minder uitgebreid: elke categorie die nog niet in WordPress bestond, wordt aangemaakt.

Korte gebruiksaanwijzing

  1. Zorg ervoor dat je WordPress blog werkt en dat je — je weet maar nooit — een backup hebt. Het is niet nodig om een lege database te hebben, je kunt in theorie oude Pivot-posts gewoon importeren en dat komt dan allemaal goed.
  2. Download hier het script (rechtermuisknopje, opslaan als), hernoem het naar import-pivot.php (dus zonder de "s" aan het eind) en upload het naar de directory wp-admin. Da's op de server waar je WordPress-blog staat, dus.
  3. Zorg ervoor dat de pivot–directory (met daarin op zijn minst de directory db en het bestand pv_cfg_settings.php) één niveau hoger staat dan je wordpress directory. Als je WordPress niet in een aparte directory hebt geïnstalleerd (wat onverstandig is, en in de meeste gevallen ook niet nodig), moet je even het script openen in een teksteditor en $pivotdir aanpassen. Als je de pivot-directory in dezelfde directory neerzet als WordPress, moet je een ../ van $pivotdir afhalen.
  4. Zorg dat je bent ingelogd als admin in WordPress, en roep dan het script aan. Uitgaande van een standaardinstallatie zou iets van jouwdomein.nl/wordpress/wp-admin/import-pivot.php moeten zijn.
  5. Doorloop de stappen die het script aangeeft. Momenteel is dat in het Engels; als er echt vraag naar is is het te vertalen, maar ik denk dat het allemaal redelijk voor zich spreekt.

Help! Alles is misgegaan! De server is ontploft!

Dat lijkt me sterk, maar in geval van misgaanders ben je ten eerste blij dat je een backup had, en zou ik het bovendien fijn vinden als je me even laat weten wat er precies mis ging, met zoveel mogelijk details (hint: "hij doet-et niet" is iets te summier), en of je foutmeldingen kreeg (zo ja: knippen en plakken graag!). Succesverhalen hoor ik ook graag!
Voor zover ik weet werkt dit script NIET op Windows-servers.

Je kunt vanaf je eigen site pingbacken of een trackback sturen naar deze URL. Meer informatie over pingback en trackback vind je hier.

Marti zegt:

Hoihoi! Nou, de server leeft nog hoor ;-)

Maar ik heb zowel de map pivot als m'n WP installatie in m'n root staan (public_html). Dus als ik in /public_html ben dan zie ik zowel m'n pivot-map met daarin de db enzo staan, en alle wp-bestanden, zoals wp-config.php.
Volgens bovenstaande handleiding moet de pivot-map met inhoud op het zelfde nivo staan als wp-config.php. Da's dus public_html bij mij.
Echter, als ik het script draai dan krijg ik de melding dat ik m'n pivot-map op het goede nivo moet zetten. En da's dus public_html, waar het al staat.

Zit me nu dus een beetje af te vragen waar ik m'n pivotmap heen moet verhuizen zodat het script 'm wél ziet staan. Ga wel wat experimenteren, maar eigenlijk denk ik dat-ie, volgens bovenstaande handleiding, gewoon goed staat?!

Zal wel ergens heel dom overheen aan het kijken zijn ;-)

Max zegt:

Hm, wat je even kunt proberen: open het script, en pas dat pivotdir even aan — haal even een ../ eraf, en probeer het dan opnieuw.

Laat maar even horen hoe dat ging!

Marti zegt:

Heb er een ../ af gedaan; zag nu pas dat die er 2 x voor stond. Suf!
Daarna appeltje eitje — superkek scriptje!

Thx!!!!

Max zegt:

Nou, dat suffe komt dan wel voor mijn rekening. Ik zal even de beschrijving aanpassen!

Marti zegt:

Hé, iets héél weirds: sinds de import is mijn reaxieveldje stuk! De velden voor naam, meel & site zijn foetsie!

Max zegt:

Mja, hij denkt dat ik ingelogd ben, terwijl dat toch heus niet zo is… Moet zeggen dat ik dat nog niet bij andere gebruikers heb gehoord, en ik zou ook niet weten hoe dat verder zou moeten komen…

Marti zegt:

Weird idd! Vooral omdat ik dit keer nergens aan ben geweest, had nét tijd om 2 lullige fotootjes te linken :) Verder met site moeders bezig geweest.
Héél raar! Geen idee ook waar ik nu moet gaan zoeken — een fijn raadsel :(

Marti zegt:

Ben maar even naar het WP forum gegaan, hopenlijk heeft iemand daar enig idee!

Marti zegt:

Opgelost! Komt idd door het importeren, maar is in een paar muisklikjes gefixed. Zie het volgende topic:
http://wordpress.org/support/topic/26503
Kijk, al doende leren we ;-)

Simon zegt:

Geweldig! 8) Alles ging zonder problemen, alleen alle afbeeldingen in posts zijn nu gebroken en worden weergegeven als 'oude' Pivot-tag. Heb je hier een oplossing voor?

Max zegt:

Hm, oplossingen genoeg natuurlijk. =]

Ik heb bij de conversie ook geen rekening gehouden met afbeeldingen, moet ik zeggen. Ik denk dat het ook een beetje lastig wordt om dat te gaan doen, maar dat hangt een beetje af van hoe (en vooral waar) Pivot ze opslaat. Ik kijk er nog even naar, maar verwacht geen lichtsnelheid… =]

Het moet natuurlijk niet al te moeilijk zijn om een WP-plugin te schrijven die die Pivot-tags omzet naar een normale HTML-tag. Dat lijkt me eerlijk gezegd de makkelijkste optie.

Als je een URL hebt waar je import staat, zodat ik kan zien hoe die tags eruit zien…?

Erno zegt:

Werkt erg goed. Moet nog wel alle links binnen Pivot en afbeeldingen met de hand stuk-voor-stuk aanpassen.

Max zegt:

@Simon en Erno: wellicht handig om te weten dat er een zoek-en-vervang plugin is? Daarmee kun je links en dergelijke wellicht het makkelijkste aanpassen. Anders is misschien via mod_rewrite een optie? Laat maar even weten waar jullie precies tegenaan lopen, wellicht is een toevoeging aan de handleiding wel zinnig… =]

Simon zegt:

Dat downloaden van die plugin gaat heel goed… ;) (404)

Pivot slaat afbeeldingen standaard op in /images. De map images staat op hetzelfde niveau als index.php (alles uitgegaan van standaard instellingen).

Maar het het gaat meer om het feit dat Pivot afbeeldingen in entries opslaat als '[[image:afbeelding.jpg:alt-text:right:0]]' en dus niet als HTML.

Mod rewrite is uiteraard te gebruiken om de server naar de juiste map te sturen voor oude afbeeldingen, maar het ging em meer om die 'tag' die Pivot erin zet.

Max zegt:

@Simon: Hm, direct linkje werkt daar niet. Dan maar een link naar zijn betreffende postje, daarin staat een link naar de file die wel werkt (heb het net zelf binnengehaald). Postje is hier

Mocht het daarmee nou niet lukken (backup! backup!), dan moesten we maar eens een Pivot-image-tag-interpreter voor WP maken… =]

Simon zegt:

Ah thanks…

Hmmm… Dat werkt toch niet helemaal, omdat je per afbeelding in de tag kunt aangeven of hij links of rechts uitgelijnd moet worden…

Check maar. Deze oplossing is volgens mij iets te dirty, ik heb het idee dat ik heel wat gebroken* heb namelijk in oudere posts… ;D

  • Maar dat is niet erg, want dit is een testlocatie, het is nog niet eens zeker dat we overstappen op WP.
Max zegt:

Als je in het vervang gedeelte ook die align meeneemt zou het mi moeten werken. Of, schoner, regel een CSS class voor uitgelijnde images en pas die op je "nieuwe" plaatjes toe.

Of mis ik iets?

Simon zegt:

Hmmm dat zou op zich kunnen, maar sommige afbeeldingen hebben ook een alt-text in de tag zitten. De border is 1 of 0 (dus 2 mogelijkheden waarbij ik rekening moet houden met vervangen), en uitlijning is meestal links of rechts (weer 2 mogelijkheden). Maar de alt-text varieert, ik heb nu alleen de afbeeldingen kunnen corrigeren zonder alt-text… De rest is zwaar gebroken. =D

Simon zegt:

Waaaaahaaah! Marsmannetjes in paarse leggings!

;o)

Bedankt! Nou nog overhalen over te stappen op WP… =)

Marc zegt:

Als ik het script run, dan verschijnt het gewoon in mijn browser, met andere woorden, het wordt niet als een php-script herkend? Volgens mij doe ik iets heel elementairs fout?

Max zegt:

Marc: Ik denk dat je vergeten bent om de laatste "s" van de naam af te halen, en dat het script bij jou nog op .phps eindigt. En dan krijg je inderdaad de broncode te zien, in kleur.

Marc zegt:

Al gevonden, verkeerd opgeslagen bij het downloaden.

Berry zegt:

Hmm, hij doet het niet. Ik krijg de 'danger'-foutmelding, hij kan de bestanden niet vinden. Maar ik heb alles vijf keer gecheckt!

  • Ik heb wordpress nu in een aparte dir, namelijk http://www.ans-online.nl/test
  • In de map 'test' staat de map 'pivot', deze heb ik gekopieerd vanuit weer een andere subdirectory waarin pivot staat. In de map ans-online.nl/test/pivot staat dat settings-bestand en ook de db-map.
  • In het bestand import-pivot.php heb ik de lokatie van de pivot-directory ongewijzigd gelaten, omdat ik wordpress wel degelijk in een eigen directory (test) heb staan
  • Ik ben ingelogd als admin

Ik weet niet meer wat het probleem kan zijn… suggesties/oplossingen zijn meer dan welkom! Alvast bedankt.

Dennis zegt:

Ik krijg simpelweg de inhoud van het PHP bestand in mijn browser te zien …

"< ?php

// Only change these if you didn't put the pivot directory
// inside the wordpress directory
$pivotdir = "../pivot";
$dbdir = "$pivotdir/db/";

// Stop changing stuff unless you really know what you're doing" Blablabla…

Vast een n00b vraag, maar hoe 'roep' ik dat script goed aan? :$

Dennis zegt:

PS: en nee, de –s heb ik er vanaf gehaald ;)

Gerard zegt:

Het werkt heel mooi, de comments komen ook mee, echter ik zie steeds 'geen reactie' staan. Maar als ik erop klik dan zie ik de reacties wel ! Weird…
En bij het importeren 'ziet' het scriptje ook het aantal comment.
Anyway… great stuff

Tjee, op de een of andere manier importeert ie slechts vijf van de twintig posts ofzo ok. De rest is leeg (wel een ID, geen titel en tekst, datum op 1970). Wordt er een beetje treurig van. heb voor de zekerheid de pivot-dir nog een keer gekopieerd. Helpt niet.

Zit er een grens aan de grootte van posts? Of kan een of andere niet standaard instelling in pivot dit veroorzaken?

Ik gebruik pivot 1.30 beta 1 en wordpress 2.0.2. Ik krijg ook een foutmelding als ik op het importmenu in wp klik:

Warning: session_start(): Cannot send session cache limiter — headers already sent (output started at /www/web1171/html/journal/wp-admin/admin-header.php:16) in /www/web1171/html/journal/wp-admin/import/pivot.php on line 363

Maar ik kan dus wel verder gaan naar "import pivot"


Robert zegt:

hm, raar dat je commentaar weghaalt dat zegt dat je script niet werkt. Is dat de standaard gang van zaken? Ik gebruik nu maar de rss import voor pivot2wordpress. Schiet niet echt op, maar ja. Zou je niet een tip kunnen geven over de foutmelding die ik steeds krijg, of heb je daar echt geen zin in?:

Warning: session_start(): Cannot send session cookie — headers already sent by (output started at /www/web1171/html/journal/wp-admin/admin-header.php:16) in /www/web1171/html/journal/wp-admin/import/pivot.php on line 363

Warning: session_start(): Cannot send session cache limiter — headers already sent (output started at /www/web1171/html/journal/wp-admin/admin-header.php:16) in /www/web1171/html/journal/wp-admin/import/pivot.php on line 363

Ligt het aan de versie van wp die ik gebruik (2.0.2 ipv 2.0)?

Mooi spul — met een paar klikken stonden ze allemaal in WordPress, complimenten!

Tim zegt:

Ik krijg deze foutmelding: Fatal error: Cannot access empty property in d:\www\vitamine-t.nl\www\wordpress\wp-admin\import\pivot.php on line 177

Nick zegt:

Fijn script, werkt prima! Bedankt!

hansje zegt:

Thx werkt prima hier!
(op wat kleine dingetjes na, dat de links niet geimporteerd worden in de sidebar en bepaalde speciale tekens zoals ë , é , etc, maar ben al lang blij dat de posts zelf en de reacties enzo er weer zijn :))

Suffie zegt:

Een aardige hoeveelheid postjes verdwijnt met de melding:

Warning: mktime() expects parameter 6 to be long, string given in /home/suffie/public_html/wp/wp-admin/import/pivot.php on line 252
Klaar !

Ken dat???

Yogi zegt:

Ik heb hetzelfde "probleem" als Dennis, ik krijg Ik krijg simpelweg de inhoud van het PHP bestand in mijn browser te zien …

// Only change these if you didn’t put the pivot directory
// inside the wordpress directory
$pivotdir = "../pivot";
$dbdir = "$pivotdir/db/";

// Stop changing stuff unless you really know what you’re doing" Blablabla…

Wat doe ik in godesnaam fout?
P.S. Ik ben blond, maar geen digibeet :-)

BB zegt:

Ik vroeg me af of hij ook werkt voor het importeren van Pivot 1.40 naar WP 2.1.2.???

Wiro zegt:

Perfect! Van Pivot 1.40 naar WP 2.1.2 gaat prima! Alleen nog even de leestekens en de links naar de images aanpassen en alles is weer ok! Thanks!!

Lnnk zegt:

Bij mij werkt hij prima. Erg fijn, dank je wel!

karin zegt:

ik ben helemaal blond wat pivot betreft en iemand heeft mij gevraagd een pivot blog om te zetten naar wordpress. Naar wat ik boven lees, een fluitje van een cent. Pivot staat daar in een subdirectory, nu wil ik wordpress ook in een subdirectory zetten. Maar mijn belangrijkste vraag: wat gebeurt er met de pivot blog als je hem importeert in wordpress? Gaat dit via kopieren of verplaatsen. Maw. gaat tijdens het importeren van de pivot gegevens de pivot weblog uit de lucht? Of kun je ze gewoon naast elkaar laten draaien, totdat je zelf aangeeft dat er overgeschakeld is naar wordpress?

Max zegt:

Je kunt ze gewoon naast elkaar laten draaien. Aangezien er geen enkele noodzaak is om de data in de Pivot-database te veranderen, doet het script dat ook niet… =]

karin zegt:

Bedankt, ik heb inmiddels alle berichten in wordpress ingeladen en de links naar de foto's ook aangepast met de plugin. Maar het gaat nog niet helemaal goed. Het gaat om de website http://www.fanlogradio1journaal.nl daar staan naast de gewone blogberichten ook allerlei pagina's in, die geen berichten zijn. (in de linkerkolom zie je een heel overzicht) Ook zijn er een heleboel links. Is het ook mogelijk om deze snel te importeren? De pagina's van de Loggers (rechtsboven) heb ik maar via copy/paste zelf in pagina's gemaakt, maar ik kan mij voorstellen dat daar ook een snellere optie voor is. Maar ik ken pivot helemaal verder niet. Ik heb alleen deze klus voor de import in wordpress op me genomen. (die staat trouwens op /wordpress)
Is er een mogelijkheid om de rest ook te importeren?
Ik vind het trouwens een superplugin, want al die andere berichten heeft hij toch snel binnengehaald en dat waren er heel wat!

Max zegt:

Ik weet niet precies hoe Pivot met die vaste pagina's omgaat. Als dat pagina's zijn die ook ergens in een makkelijk bereikbare plek te vinden zijn… Dan moet dat natuurlijk ook wel te importeren zijn. Als ze als post worden geïmporteerd, dan is het met een foefje ook mogelijk om een (WordPress-)post in een pagina te veranderen.

Laat maar even weten wat het geval is, desnoods per e-mail.

karin zegt:

Onze russische vriend had vast een heel goed advies, maar helaas, mijn russisch is niet zo goed ;-)
Een deel van de pagina's in pivot staan in een aparte directory — loggers (loggers/pivot/entry.php?id=), maar een deel zijn gewoon entry's (pivot/entry.php?id=), hetzelfde als de blogberichten, maar niet meegenomen bij het binnenhalen.
Ik h oop dat ik een inlog van het pivot weblog kan krijgen, zodat ik daar ook wat inzicht in heb. Want pivot is voor mij gewoon helemaal nieuw en mijn kennis daarvan is blanco. Maakt het soms moeilijk die kant van het verhaal te doorgronden, begrijpen en zelf een oplossing te vinden.
Ik ga eens informeren hoe de eigenaren van het pivotblog dingen hebben ingedeeld, wellicht dat jij daar dan meer raad mee weet dan ik.

Max zegt:

Zoals het nu op mij overkomt zijn er twee Pivots geïnstalleerd, eentje voor de posts en eentje voor de pagina's. Zou dus een kwestie zijn van een tweede import (maar dan van die extra Pivot), en dan direct in de database gaan rommelen om die nieuwe posts in pagina's te veranderen. Uiteindelijk is het enige verschil tussen een post en een pagina in WordPress de waarde van één veldje in de database: verander post_type van post naar page en je bent klaar.

Dan is het nog een kwestie van de pagina's in de juiste volgorde zetten, maar dat kun je weer vanuit de WordPress admin-schermen doen.

karin zegt:

Klopt, er is een tweede weblog. Ik wilde deze nog importeren, maar dat gaat niet meer. WordPress is nu geupgrade naar 2.3.1 en dan gaat er iets mis met de categories, de database is gewijzigd. Ik had bij de eerste keer een oudere versie van wordpress geinstalleerd en daarmee kon ik pivot binnenhalen. Toen wordpress geupgrade en nu werkt de plugin niet meer. Dat meoten ze dan zelf maar even handmatig overzetten. Zoveel staat daar gelukkig niet in

Max zegt:

Hm, dat betekent dan ook dat ik even aan de sleutel moet om te kijken wat er veranderd is…

karin zegt:

volgens mij zijn de wp_categories vervangen door wp_terms en meer tabellen in de database zijn wat betreft de categories vervangen door iets met _terms. Ik heb nu dus eerst een oude wordpress geinstalleerd, daarna geimporteerd vanuit pivot en daarna dus geupgrade. Bij de nieuwe wordpress krijg ik meldingen bij het importeren dat hij dus de categorie tabellen niet kan vinden in de database. Ik ben er nog niet achter of het alleen de naamgeving is, of dat er verder nog iets in de tabellen zelf is gewijzigd. Maar zoiets staat vast wel in de codex van wordpress neem ik aan.

Stefan zegt:

Beste Max,

Op de resultaatpagina ziet dat er ongeveer zo uit:

ziekjes: Post already imported

Post ID is 24.
Couldn’t get post ID

C’est fini: Post already imported

Post ID is 25.
Couldn’t get post ID

Couldn’t get post ID

Couldn’t get post ID

Couldn’t get post ID

Couldn’t get post ID

Couldn’t get post ID

Couldn’t get post ID

Couldn’t get post ID

Couldn’t get post ID

Couldn’t get post ID

Couldn’t get post ID

Couldn’t get post ID

Apple is comming…: Post already imported

Post ID is 26.

In Pivot heb ik wel gewoon alle posts beschikbaar.

Heeft u misschien nog id’en?

Alvast heel erg bedankt!

Raymond zegt:

Ik heb hetzelfde probleem als Stefan hierboven. Ik ga van Pivot 1.40.5 naar WordPress 2.3.3 en krijg bij de import een hele reeks willekeurige berichten van Couldn't get post ID. 9 berichten van de 160 zijn geimporteerd en das helaas wat veel handwerk :)

Vicky zegt:

ik heb hetzelfde probleem als de 2 personen hierboven.. :(

jan-willem zegt:

Ook ik heb exact hetzelfde probleem met importeren.

Max zegt:

Het is de hoogste tijd dat ik de importer eens onder handen ga nemen. Intussen zijn zowel Pivot als WordPress dermate veranderd — vooruitgang, dames en heren — dat er nu gewoon dingen niet meer kloppen.

Het gaat nog even duren, maar uiteindelijk komt het goed.

Not that I'm impressed a lot, but this is more than I expected when I found a link on SU telling that the info is awesome. Thanks.

PB Elskamp zegt:

Overzetten van alle posts naar WP ging top! Maar kan iemand mij vertellen hoe ik het makkelijkst alle oude pivot url's met 301 kan doorzetten naar de nieuwe WP url's??

Max zegt:

OF een beetje rommelen in je .htaccess, OF de WP Redirection Plugin gebruiken.

Rutger zegt:

Even weer peilen hier: kan ik mijn postjes naar WordPress schoppen met PivotX 2.0.0? Of is die nog niet ondersteund?

Francisca zegt:

Ik krijg het volgende probleem:

Warning: mktime() expects parameter 6 to be long, string given in hierstaatdeurl/wp-admin/import/pivot.php on line 252
Couldn't get post ID

En dat een aantal keren onder elkaar. Help?

Rutger zegt:

@Francisca: Gebruik je PivotX? De plugin is niet ondersteund voor PivotX ;-)

Francisca zegt:

Nee, ik gebruik Dreamwind, dus Pivot 1.4.2 als ik correct ben :)

Laat maar horen