folder Tahribat.com Forumları
linefolder Database - Veritabanı
linefolder Wordpress Farklı Domainlerde Aynı "Users" Tablosu Nasıl Kullanılır ?



Wordpress Farklı Domainlerde Aynı "Users" Tablosu Nasıl Kullanılır ?

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mehmetdiyebiri
    mehmetdiyebiri's avatar
    Kayıt Tarihi: 18/Haziran/2010
    Erkek

    Hocalar 3-4 farklı domaine wordpress kurup bunların hepsinde tek bir "users" tablosunu nasıl kullanabilirim ? Bir network gibi olacak kullanıcılar networkteki herhangi bir siteden üye olduğunda tüm domainlere o kullanıcı adı ile giriş yapabilecek


    PUHU Leather Goods - https://www.instagram.com/puhuleathergoods
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ar0fer
    Ar0fer's avatar
    Kayıt Tarihi: 03/Mayıs/2011
    Erkek

    Çizik lazım olabilir.

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    shock56
    shock56's avatar
    Kayıt Tarihi: 31/Mart/2007
    Erkek

    Dostum bunun için biraz uğraşman gerekir. Şöyle bir çözüm uygulayabilirsin. Öncelikle wordpress kuracağın sitelere ayrı bir veritabanı bağlantısı oluşturmalısın. Örnek olarak

    wp-config.php içerisine şunları ekle

    define('UZAK_DB_USER', 'username');
    define('UZAK_DB_PASSWORD', 'password');
    define('UZAK_DB_NAME', 'uzak_data' );
    define('UZAK_DB_HOST', '134.234.211.222:3307'); //ip adresi ve port
    
    $uzak_db = new wpdb(UZAK_DB_USER, UZAK_DB_PASSWORD, UZAK_DB_NAME, UZAK_DB_HOST);
    $uzak_db->show_errors();
    
    /*Burada alternatif veritabaın bağlantısı kurmuş olduk. Şimdi wordpress komutları ile yapmış oluğumuz her şeyi yapabiliriz

    Şimdi de kullanıcının kayıt olacağı sırada çalıştıracağımız kancayı oluşturuyoruz. Bu kanca user_register dir.  Örnek kullanım

    add_action('user_register', 'kullanici_kayit');
    
    function kullanici_kayit($user_id) {
    
        if ( isset( $_POST['first_name'] ) ){
    		global $uzak_db;
    		$table_name = $uzak_db->prefix . "users";
    		$user_registered=$_['$user_registered'];
    		$user_registered = gmdate('Y-m-d H:i:s');
    		
    		//burada kullanıcıyı diğer sitemize de kaydediyoruz. 
    		$uzak_db->insert( $table_name, array( 'ID' => $user_id, 'user_login' => $_POST['user_login'],'user_pass'=> $_POST['user_pass'],'user_nicename'=>$_POST['user_nicename'],'user_email'=>$_POST['user_email'],'user_email'=>$_POST['user_email'],'user_registered'=>$user_registered) );
    		
    	}

     

    Böylelikle siteye yeni kayıt olan birini uzak veritabanına da eklersin. Daha sonra kullanıcı siteye giriş yapmak istediğinde diğer sitelere kaydı var mı diye sorgulatmamız gerek bunu da wp-login kancası ile yaparız. Aşağıda fonksiyonun kullanımı

    <?php
    function your_function($user_login, $user) {
        //buraya kulalnıcı siteye giriş yapmak istediğinde çalışmasını istediğimiz kodları yazıyoruz.
    } add_action('wp_login', 'your_function', 10, 2); ?>

    Dostum şu anda biraz işim olduğu için kodları üstünkörü yazdım. Mantığı bu şekilde olabilir. Boş zamanım olursa kodların çalışan versiyonunu yazarım. Hadi kolay gelsin.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Mycity
    Mycity's avatar
    Banlanmış Üye
    Kayıt Tarihi: 01/Şubat/2011
    Erkek

    çizik


    Bazıları sadece konuşur bazıları ise hayalleri ile dünya'ya yön verir.. Mycity
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mehmetdiyebiri
    mehmetdiyebiri's avatar
    Kayıt Tarihi: 18/Haziran/2010
    Erkek
    shock56 bunu yazdı

    Dostum bunun için biraz uğraşman gerekir. Şöyle bir çözüm uygulayabilirsin. Öncelikle wordpress kuracağın sitelere ayrı bir veritabanı bağlantısı oluşturmalısın. Örnek olarak

    wp-config.php içerisine şunları ekle

    define('UZAK_DB_USER', 'username');
    define('UZAK_DB_PASSWORD', 'password');
    define('UZAK_DB_NAME', 'uzak_data' );
    define('UZAK_DB_HOST', '134.234.211.222:3307'); //ip adresi ve port
    
    $uzak_db = new wpdb(UZAK_DB_USER, UZAK_DB_PASSWORD, UZAK_DB_NAME, UZAK_DB_HOST);
    $uzak_db->show_errors();
    
    /*Burada alternatif veritabaın bağlantısı kurmuş olduk. Şimdi wordpress komutları ile yapmış oluğumuz her şeyi yapabiliriz

    Şimdi de kullanıcının kayıt olacağı sırada çalıştıracağımız kancayı oluşturuyoruz. Bu kanca user_register dir.  Örnek kullanım

    add_action('user_register', 'kullanici_kayit');
    
    function kullanici_kayit($user_id) {
    
        if ( isset( $_POST['first_name'] ) ){
    		global $uzak_db;
    		$table_name = $uzak_db->prefix . "users";
    		$user_registered=$_['$user_registered'];
    		$user_registered = gmdate('Y-m-d H:i:s');
    		
    		//burada kullanıcıyı diğer sitemize de kaydediyoruz. 
    		$uzak_db->insert( $table_name, array( 'ID' => $user_id, 'user_login' => $_POST['user_login'],'user_pass'=> $_POST['user_pass'],'user_nicename'=>$_POST['user_nicename'],'user_email'=>$_POST['user_email'],'user_email'=>$_POST['user_email'],'user_registered'=>$user_registered) );
    		
    	}

     

    Böylelikle siteye yeni kayıt olan birini uzak veritabanına da eklersin. Daha sonra kullanıcı siteye giriş yapmak istediğinde diğer sitelere kaydı var mı diye sorgulatmamız gerek bunu da wp-login kancası ile yaparız. Aşağıda fonksiyonun kullanımı

    
    }
    add_action('wp_login', 'your_function', 10, 2);
    ?>

    Dostum şu anda biraz işim olduğu için kodları üstünkörü yazdım. Mantığı bu şekilde olabilir. Boş zamanım olursa kodların çalışan versiyonunu yazarım. Hadi kolay gelsin.

    hocam boş zamanının olmasını bekliyorum, başlığı unutma : )


    PUHU Leather Goods - https://www.instagram.com/puhuleathergoods
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    sRcN
    sRcN's avatar
    Kayıt Tarihi: 24/Ağustos/2009
    Erkek

    gerek yok o kadar kasmaya user tablosunu kullanmak için bu kodu wp-config.php ye ekle. Ancak diğer domainleride aynı dbye kurman gerekir ancak her kurduğun site için db bilgilerini yazarken prefixini değiştirmelisin...

     

    define('CUSTOM_USER_TABLE', 'wp_users'); 
    define('CUSTOM_USER_META_TABLE', 'wp_usermeta');
    sRcN tarafından 20/Nis/13 18:44 tarihinde düzenlenmiştir

    Wordpress - SEO & Digital Marketing
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    shock56
    shock56's avatar
    Kayıt Tarihi: 31/Mart/2007
    Erkek
    sRcN bunu yazdı

    gerek yok o kadar kasmaya user tablosunu kullanmak için bu kodu wp-config.php ye ekle. Ancak diğer domainleride aynı dbye kurman gerekir ancak her kurduğun site için db bilgilerini yazarken prefixini değiştirmelisin...

     

    define('CUSTOM_USER_TABLE', 'wp_users'); 
    define('CUSTOM_USER_META_TABLE', 'wp_usermeta');

    Evet sRcN arkaşın söylediği yöntem çok daha makul ve mantıklı. Ben gece kod yazarken fazla abartmışım :) 

Toplam Hit: 1260 Toplam Mesaj: 7