Jag har sedan en tid tillbaka utvecklat minisajter genom att använda WordPress som backend. Efter ett tag gick jag över till WPMU för att underlätta underhållet då plugins och WordPress koden ofta uppdateras. Dock har jag alltid funnit att WP MU vart ganska omständligt att använda.
För någon månad sedan modifierade jag istället den vanliga WordPress koden för att göra det möjligt att använda en kodbas för att hosta mutipla WordPress bloggar. Eftersom allt unikt innehåll för en blogg ligger i databasen kan man genom att dynamiskt välja vilka tabeller som WordPress läser ifrån använda en kodbas för alla bloggar.
Hur väljer man då vilka tabeller som ska användas vid ett visst anrop? Enkelt, eftersom PHP variabeln $_SERVER[’HTTP_HOST’] innehåller efterfrågad domän kan du genom att modifiera den lite använda denna sträng som ditt $table_prefix.
Nedan är ett utdrag ut min wp-config.php för att sätta $table_prefix dynamiskt:
// get domain requested
$domain = $_SERVER['HTTP_HOST'];
// cleanup $domain so www never is present, and preplace . with _
$domain = str_replace("www.", "", $domain);
$domain = strtolower($domain);
$domain = str_replace(".", "_", $domain);
$table_prefix = "wp_" . $domain . "_";
Peka sedan de domäner som ska dela WP installation på den katalog som WordPress koden ligger i, installera WordPress och vips, flera bloggar på samma kodbas.
Lite snabbt ihopslängt inlägg, hoppas ni hänger med, annars fråga.