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

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)

Panašūs įrašai:

  1. Atsinaujinome – WPMU 2.9.1
  2. WPMU Versijos atnaujinimas