Kategoriler
WordPress

Başka bir WordPress veritabanına bağlanmak

Birden fazla WordPress sitesini tek yerde çalıştırabilmek, fonksiyon.

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.

https://wordpress.org/documentation/article/installing-multiple-blogs/
Installing Multiple WordPress Instances

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.