WPMU Multidomain
Liepa 24, 2009 in Programavimas by Andrius
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
Panašūs įrašai:


