Sunucuda birden fazla WordPress sitesi var ve birinde diğerinin verilerini de kullanmak isterseniz bu mümkün, yaptım oldu.
Aslında wp-config.php içerisinden sabitler verip daha kolay düzenli olabilir ama ilgilisi için uzatmadan fonksiyonu paylaşıp fikir vermem sanırım yeterlidir, geliştirilebilir.
function ikinci_db(){
$ikinci_user = "kullanici"; //database username
$ikinci_pass = "parola"; //database password
$ikinci_db_name = "veritabani_adi"; //database name
$ikinci_host = "localhost"; //database location
global $ikinci_db;
$ikinci_db = new
wpdb($ikinci_user,$ikinci_pass,$ikinci_db_name,$ikinci_host);
}
add_action('init','ikinci_db');
Yukarıdaki fonksiyon ile başka bir WordPress sitesinin verilerini site içerisinde kullanabilirsiniz, örnek aşağıdaki gibi.
function ikinci_db_post_name_var_mi($requested_url){
global $ikinci_db;
$prefix = 'wp_';
$postname = $requested_url; //post_name
$query = "SELECT COUNT(*) FROM $prefix"."posts WHERE post_name = '".$postname."'";
$total = $ikinci_db->get_var( $query );
//return false;
if($total):
return true;
else:
return false;
endif;
}
Bu örnek ikinci_db veritabanını kullanan WordPress sitesinde ilgili post_name sahip bir veri var mı kontrol eder.
Daha fazlası için “wordpress second database connection” şeklinde araştırabilirsiniz, ayrıca tek veritabanına birden fazla WordPress sitesi kurmak da farklı bir seçenek olabilir $table_prefix bunun için var, kolay gelsin.