WPMU Multidomain

2009-07-24 in Programavimas

Kiekvieną kartą atsinaujinus WPMU, turiu perbėgti per kodą ir padaryti papildomus pakeitimus, kad jis veiktų su skirtingomis domenų galūnėmis. Pakeitimų nėra daug, tačiau turiu viltį, kad juos įtraukus į oficialią WPMU versiją ateityje Blogr.lt atnaujinimas supaprastės.

Taigi šio įrašo tikslas ir bus informuoti apie gan paprastą WPMU modifikaciją.

1. Failas: /wp-includes/wpmu-functions.php. Sukuriame naują funkciją pačioje failo pabaigoje

function get_sites ($site_id = “) {
global $wpdb;

if (!$site_id):
return $wpdb->get_results(„SELECT * FROM $wpdb->site WHERE public = ‘1’ ORDER BY domain ASC“, ARRAY_A);
else:
return $wpdb->get_row(„SELECT * FROM $wpdb->site WHERE id = $site_id“, ARRAY_A);

endif;
}

2. Tas pats failas, surandame funkciją wpmu_validate_blog_signup“ ir iškart po „global $wpdb, $domain, $base;“ naujoje eilutėje pridedame:

$domain = get_sites($_POST[‘site_id’]);
$domain = $domain[‘domain’];

3. Dabar redaguosime registracijos formą, kuri yra faile wp-signup.php

echo ‘<input id=“blogname“ maxlength=“50″ name=“blogname“ type=“text“ value=“‘.$blogname.'“ />’;

print ‘<select name=“site_id“>’;

foreach(get_sites() as $site):

print ‘<option selected=“selected“ value=“‘.$site[‘id’].'“>’.$site[‘domain’].'</option>’;

endforeach;

print ‘</select>’;

4. Kad tvarkingai veiktų prisijungimo funkcionalumas visuose subdomenuose, faile wp-config.php pridedam eilutę

define(‘COOKIE_DOMAIN’, ‘.’ . $_SERVER[‘HTTP_HOST’]);

5. Domenų atsiradimas select’e labai paprastas, tiesiog duomenų bazės lentelėje wp_site pridedame pageidaujamą domeną.

6. Nepamištame domeno DNS nustatumuose sukurti A įrašą *.domenas.lt

Comments are closed.

Dienos akcijos | Dovanos | Nuolaidos
Uždaryti
Eiti prie įrankių juostos