একাধিক ওয়ার্ডপ্রেস ওয়েবসাইট জুড়ে ব্যবহারকারীর ডেটা ভাগ করার সেরা উপায় কী?


10

প্রথমত, মাল্টিসাইট আমি যা খুঁজছি তা নয়। আমার কাছে পৃথক ডোমেনগুলির জন্য ওয়ার্ডপ্রেস ব্যবহার করে আমার কাছে 5 টি ওয়েবসাইট রয়েছে যার জন্য আমি ব্যবহারকারীর অ্যাকাউন্টগুলি সক্ষম করতে চাই। পুরো নেটওয়ার্ক জুড়ে আমার ব্যবহারকারীর ডেটা ভাগ করা দরকার এবং যখন কোনও ব্যবহারকারী কোনও অ্যাকাউন্ট তৈরি করে, তাদের অন্যান্য সমস্ত ওয়েবসাইটে তাত্ক্ষণিকভাবে অ্যাক্সেস থাকতে পারে। মাল্টিসাইট ব্যবহার করার সময় আমি যা করার চেষ্টা করছি তা ওয়ার্ডপ্রেসের দ্বারা প্রস্তাবিত নয়:

যদি আপনি দৃ sites়ভাবে আন্তঃসংযুক্ত, যে ডেটা ভাগ করে নেওয়ার বা ব্যবহারকারীদের ভাগ করে নেওয়ার পরিকল্পনা করেন তবে কোনও মাল্টিসাইট নেটওয়ার্ক সেরা সমাধান হতে পারে না। - http://codex.wordpress.org/ পূর্বে_আপনি_ক্রেট_এ_ নেটওয়ার্ক (1 ম অনুচ্ছেদ, 3 য় বাক্য)

আমি এখানে "ওয়ার্ডে ব্যবহারকারীর টেবিল ট্রিক" ব্যবহার করে চেষ্টা করেছি http://wordpress.org/support/topic/m Multipleple-sites-same-users-how এবং এখানে http://xentek.net/articles/528/ ওয়ার্ডপ্রেস-শেয়ারড-ইউজার-টেবিল-ট্রিক / এবং অন্যান্য বেশ কয়েকটি জায়গায় বাস্তবায়ন হচ্ছে ... সমস্যাটি হ'ল এই তথ্যটি 2-7 বছর বয়সী এবং আমি ওয়ার্ডপ্রেস 3.5.5 ব্যবহার করছি এবং এই "কৌতুক" না কাজ মনে হচ্ছে না।

আমি এই কোডটি $table_prefixলাইনের চারপাশে wp-config এ সন্নিবেশ করানোর চেষ্টা করেছি ।

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

দীর্ঘ গল্প সংক্ষেপে, আমি মনে করি না যে এই কৌশলটি আর কাজ করে না কারণ আমি অ্যাডমিনের পাশের দ্বিতীয় সাইটে লগইন করতে পারছি না।

এই ডেটাটি লিঙ্ক করার সর্বোত্তম উপায়টি সম্পর্কে কোন পরামর্শ?


1
আমি কেন পাই না কেন CUSTOM_USER_TABLEকাজ করব ... দেখুন এখানে কিছু আছে কিনা: wordpress.stackexchange.com/search?q=CUSTOM_USER_TABLE
brasofilo

আমি যখন CUSTOM_USER_TABLE ব্যবহার করি ব্যবহারকারীরা ওয়েবসাইটের মধ্যে ভাগ হয়ে যায়, তবে, দ্বিতীয় ওয়েবসাইটে, আমি কোনও প্রশাসক হিসাবে লগ ইন করতে পারি না। ২-7 বছর বয়সী প্লাগইন এবং নিবন্ধগুলি ঘণ্টার পর ঘণ্টা অনুসন্ধান করা এবং আমাকে বিশ্বাস করতে পরিচালিত করে যে এই কৌশলটি আর 3.5.1 তে কাজ করে না ...
ইয়ান

প্রশ্নটি হ'ল এটি কোনও কৌশল নয় , এটি একটি মূল বৈশিষ্ট্যদেখে মনে হচ্ছে যে কোনও ত্রুটি রিপোর্ট করা হয়নি, এবং [
ডাব্লুপি

তোমার মন্তব্যের জন্য ধন্যবাদ. আপনার লিঙ্কগুলিতে আমি দেখেছি এমন কিছু বিষয়গুলির গভীর গভীরতা দেখে উত্তরটি সন্ধান করতে সক্ষম হয়েছি। আমি আমার সমাধানটি নীচে পোস্ট করেছি। ধন্যবাদ আবার @ ব্রাসোফিলো
ইয়ান

সত্যিই দুর্দান্ত আপনি কীভাবে ব্যবহারকারীদের ভাগ করবেন সে সম্পর্কে সমস্ত উপায় কভার করেছেন। তবে এখানে কিছুটা আলাদা পরিস্থিতি ive। IV 5 ওয়ার্ডপ্রেস ওয়েবসাইট যা প্রতিটি নির্দিষ্ট ওয়েবসাইটের নিজস্ব ডিবি থাকে। সমস্ত নতুন ব্যবহারকারী টেবিলকে এমনভাবে সংযুক্ত করার জন্য আমি কীভাবে আপনার সমাধানটি ব্যবহার করতে পারি যখন একটি নতুন ব্যবহারকারী 5 টির মধ্যে যে কোনও একটিতে নিবন্ধন করে, তিনি তত্ক্ষণাত কোনও একক রেজিস্ট্রেশন ব্যবহার করে অন্য যে কোনও ওয়েবসাইটে লগইন করতে পারবেন? আমি ডাব্লুপিএমইউ ব্যবহার করে একটি একক ডাটাবেসে এটি সম্পাদন করার কিছু উপায় সম্পর্কে অবগত তবে আমি ওয়ার্ডপ্রেসের পৃথক ইনস্টলেশনগুলিতে এটি করার কোনও উপায় খুঁজে পাচ্ছি না। কোন সাহায্য প্রশংসা করবে। ধন্যবাদ

উত্তর:


8

ঠিক আছে, প্রথমত, আমি একটি বোকা বোধ করি, যদিও আমার প্রতিরক্ষামে এই বিষয়ে কথা বলা বেশিরভাগ নিবন্ধগুলি এই কাজটি করার ক্ষেত্রে খুব গুরুত্বপূর্ণ বিবরণ উল্লেখ করে না। উত্তরটি হ'ল ডাটাবেসে আপনার কমপক্ষে একজন প্রশাসকের অনুমতি নেওয়া দরকার। এই তথ্যটি এখানে কোডেক্সে পাওয়া যাবে: http://codex.wordpress.org/ সম্পাদনা_wp-config.php# কাস্টম_ ব্যবহারকারীর_আর_ ব্যবহারকারীর_আপনার

আপনি wp-config.php ফাইল সেট আপ করার পরে, আপনি মাস্টার ইউজারমেটা টেবিল (আমার ক্ষেত্রে wp_usermeta) ফিল্ড wp_capables সারি এবং মেটা_ভ্যালিউ কলামে পরিবর্তন করা জরুরী। পিএইচপিএমআইএডমিনের মাধ্যমে এটি করুন।

দ্রষ্টব্য: লগ ইন করার জন্য কমপক্ষে একজন ব্যবহারকারীর প্রশাসকের জন্য এটি করুন once আপনি একবারে প্রবেশের পরে ব্যাকএন্ড থেকে অন্যান্য সমস্ত ব্যবহারকারী / অ্যাডমিনের ভূমিকা সামঞ্জস্য করতে পারেন।

ব্যবহারকারীদের অনুমতি কী হবে তার স্ক্রিনশট

তৈরি করা প্রতিটি ওয়েবসাইটের জন্য এটির জন্য নতুন সাইটগুলির উপসর্গটি প্রশাসকের ব্যবহারকারীর ভূমিকা নির্ধারিত করা দরকার।

আমার ক্ষেত্রে যেহেতু আমি এই মুহূর্তে 2 টি সাইটে এই কাজটি দেখছি ঠিক তেমন দেখাচ্ছে:

a:1:{s:13:"administrator";s:1:"1";}
tbs_capabilities = a:1:{s:13:"administrator";s:1:"1";}

Wp_usermeta মানের স্ক্রিনশট

প্রথম লাইনটি ডিফল্ট টেবিল উপসর্গের জন্য অনুমতি নির্ধারণ করে (এই ক্ষেত্রে ডাব্লুপিপি), এবং দ্বিতীয় লাইনটি দ্বিতীয় ওয়েবসাইটের জন্য অনুমতি নির্ধারণ করে (এই ক্ষেত্রে tbs_ উপসর্গ সহ)।

ব্রাসোফিলোকে এমন মন্তব্যের জন্য ধন্যবাদ যে আমাকে অবশেষে আমার সমস্যা সমাধানের জন্য আরও কিছুটা খুঁড়তে ইঙ্গিত করেছে!

আমি আশা করি যে এই উত্তরটি আমার যেমন একই সমস্যা ছিল তাদের অন্যদেরও সহায়তা করতে পারে।


কখনও এই বৈশিষ্ট্যটি ব্যবহার করেন নি, তবে এটির কাজটি করার জন্য এই ছোট্ট কৌশলটি রয়েছে তা জেনে আনন্দিত;) চমৎকার লিখুন +1
brasofilo

1
আপনাকে ধন্যবাদ, এটি অবশ্যই টিউটোরিয়ালে উল্লেখ করা উচিত!
মিরসিয়া সান্দু

2

Wp_users এবং wp_meta ভাগ করার সময় অন্য সমস্যা আছে, অন্যান্য ওয়ার্ডপ্রেস ইনস্টলেশন ব্যবহারকারীদের চিনতে পারে তবে এটি অন্য ওয়েবসাইট থেকে আসা ব্যবহারকারীদের ভূমিকা স্বীকৃতি দেয় না । ভূমিকা অনির্ধারিত হিসাবে প্রদর্শিত হবে।

সুতরাং, আপনি প্রয়োজনীয় হিসাবে আপনার wp-config.php সম্পাদনা করেছেন:

define('CUSTOM_USER_TABLE', 'someprefix_users');
define('CUSTOM_USER_META_TABLE', 'someprefix_usermeta');

আমি মনে করি এটি করার সবচেয়ে সহজ উপায়, ডিবির সাথে ঝাঁকুনি না দিয়ে, ডাব্লুপি ইন্টার্নাল ব্যবহার করে। লগইন করার পরে, কোনও ভূমিকা নির্ধারণ করা সম্ভব। যাক, আমাদের সবার জন্য অবদানের ভূমিকা এবং ব্যবহারকারী 'সুপারম্যান' এর জন্য প্রশাসকের ভূমিকা দরকার।

function check_user_role($user_login, $user) {
  if ( $user_login == 'superman' ) {
     $user->add_role('administrator');
     } else {
     $user->add_role('contributor');
  }
}

// the action fired on login
add_action('wp_login', 'check_user_role', 10, 2);

সুতরাং, প্রাথমিক ওয়েবসাইট থেকে আসা ব্যবহারকারীরা লগইন করার সময় নির্ধারিত 'অবদানকারী' পান।

  • আপনি প্রশাসক ব্যবহারকারীর সাথে লগ-ইন হওয়ার পরে ব্যবহারকারী চেক মুছতে পারেন।
  • ব্যবহারকারীদের একাধিক ভূমিকা থাকতে পারে, দক্ষতার বিষয়টি।

http://codex.wordpress.org/Class_Reference/WP_User


0

আমাকে একটি নতুন সারি তৈরি করতে হয়েছিল:

meta_key='tbs_capabilities' meta_value='a:1:{s:13:"administrator";b:1;}'

এবং user_id=1। আপনি যে পদ্ধতিটি বর্ণনা করেছেন তা কার্যকর হয়নি।


1
উপরের উত্তরে "টিবিএস" হ'ল আমি ইনস্টল করা দ্বিতীয় ওয়ার্ডপ্রেস ওয়েবসাইটটির উপসর্গ। সুতরাং টেবিলটি wp_posts হওয়ার পরিবর্তে তারা tbs_posts হবে। আপনি স্পষ্টভাবে $ টেবিল_প্রিফিক্স = 'tbs_' সেট না করে; এটা কাজ করবে না।
আয়ান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.