Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

समान wp_users और wp_usermeta तालिकाओं को साझा करते हुए दो Wordpress इंस्टाल के बीच सभी उपयोगकर्ता भूमिकाओं को सिंक करें।

मुझे उपयोगकर्ता भूमिकाओं को समन्वयित करने में समस्याएं थीं (प्रति उपयोगकर्ता एकाधिक उपयोगकर्ता भूमिकाएं)। मध्यरात्रि तेल को दो रात से अधिक समय तक जलाने के बाद मुझे मूर्खतापूर्ण जादुई समाधान मिला :)

मैंने "add_action ('set_user_role', 'ksu_save_role', 10, 2) में 'set_user_role' को 'add_user_role' में बदल दिया है);"

छोटे जादुई ट्वीक के बाद अंतिम कोड

function ksu_save_role( $user_id, $role ) {

    // Site 1
    // Change value if needed
    $prefix_1 = 'first_';

    // Site 2 prefix
    // Change value if needed
    $prefix_2 = 'second_';

    $caps = get_user_meta( $user_id, $prefix_1 . 'capabilities', true );
    $level = get_user_meta( $user_id, $prefix_1 . 'user_level', true );

    if ( $caps ){
        update_user_meta( $user_id, $prefix_2 . 'capabilities', $caps );
    }

    if ( $level ){
        update_user_meta( $user_id, $prefix_2 . 'user_level', $level );
    }
}

add_action( 'add_user_role', 'ksu_save_role', 10, 2 ); // THE MAGIC MODIFICATION

कोड क्रेडिट:https://kinsta.com/blog/share-logins-wordpress/

इसे functions.php में जोड़ें और आप जाने के लिए बहुत अच्छे हैं।

यह "वूकॉमर्स सब्सक्रिप्शन" और "YITH ऑटोमैटिक रोल चेंजर फॉर वूकामर्स प्रीमियम" जैसे रोल चेंजर प्लगइन्स के साथ संगत है।

आप जितनी चाहें उतनी भूमिकाएँ सेट और बदल सकते हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP/MySQL के साथ पदानुक्रमित रिकर्सन मेनू

  2. एक मान के लिए एकाधिक स्तंभों की जाँच करना

  3. MYSQLI::prepare() , प्लेसहोल्डर का उपयोग करते समय त्रुटि :something

  4. MySQL में IP को लॉन्ग में बदलना

  5. मारियाडीबी के साथ डेटाबेस भ्रष्टाचार:इंजन में तालिका मौजूद नहीं है