প্লাগইন ছাড়াই ব্যবহারকারীর ভূমিকা নাম পাল্টানোর কোনও উপায় আছে কি?


26

প্লাগইন ব্যবহারের পরিবর্তে হুকের মাধ্যমে কোনও ব্যবহারকারীর নামটির নামকরণ করার উপায় আছে কি?

সম্পাদন করা

উদাহরণস্বরূপ, administrator»owner


আপনি যা অর্জন করতে চান তার বিস্তারিত ব্যাখ্যা করতে পারেন?
বজর্নডাব্লু

ব্যবহারকারীর ভূমিকা নাম পরিবর্তন করুন, এটাই। উদাহরণস্বরূপ, প্রশাসক -> মালিক
শান লি

উত্তর:


44
function change_role_name() {
    global $wp_roles;

    if ( ! isset( $wp_roles ) )
        $wp_roles = new WP_Roles();

    //You can list all currently available roles like this...
    //$roles = $wp_roles->get_names();
    //print_r($roles);

    //You can replace "administrator" with any other role "editor", "author", "contributor" or "subscriber"...
    $wp_roles->roles['administrator']['name'] = 'Owner';
    $wp_roles->role_names['administrator'] = 'Owner';           
}
add_action('init', 'change_role_name');

http://www.garyc40.com/2010/04/ultimate-guide-to-roles-and-capabilities/


আমি এই কাজ করতে পারেন না। আমি যাই করুক না কেন, তারপরেও এটিকে ব্যাকএন্ড তৈরির প্রক্রিয়াতে 'সাবস্ক্রাইবার' বলা হয়। দেখে মনে হচ্ছে $wp_rolesএখন এটির একটি [role_objects]অংশ রয়েছে।
জেথ

এটি খুব আশ্চর্যজনক কিছু করেছিল। এটি কেবল প্রথম অক্ষরকেই প্রভাবিত করেছিল ("ওডমিনিস্ট্রেটর")!
চিহ্নিত করুন

3

একটি সহজ সমাধান হ'ল কেবল কোনও ব্যবহারকারীর ভূমিকা ব্যবহার করে যুক্ত করা add_role, আপনি যেভাবে চান তার নাম রাখতে পারেন এবং যা কিছু ক্ষমতা আপনি চান তা যুক্ত করতে পারেন। http://codex.wordpress.org/Function_Reference/add_role


এটি এড়াতে চেষ্টা করা হয়েছে, তবে আমি অনুমান করি এটি প্লাগইন ছাড়াই সবচেয়ে সহজ উপায়।
শান লি

2

আসলে, এটি অর্জনের অনেকগুলি উপায় রয়েছে:

সঙ্গে বিশুদ্ধ পিএইচপি এবং মাইএসকিউএল আপনি ডিবি ধারাবাহিকভাবে এন্ট্রি সম্পাদনা করতে পারেন। প্রকৃতপক্ষে, ওয়ার্ডপ্রেস wp_optionsটেবিলের ভূমিকাগুলির সিরিয়ালযুক্ত অ্যারে সঞ্চয় করে ।

তাই:

  1. ক্রমিকযুক্ত অ্যারে আনুন:
    SELECT option_value as serialized_string FROM wp_options WHERE option_name = 'wp_user_roles';
  2. স্ট্রিংটি আনসিরিয়ালাইজ করুন - পিএইচপি: $rolesArray = unserialize($serialized_string)
  3. ভূমিকার নাম পরিবর্তন করুন - পিএইচপি: $rolesArray['role_key']['name'] = "New name"
  4. অ্যারের পিছনে সিরিয়ালাইজ করুন - পিএইচপি: echo serialize($rolesArray)
  5. option_valueপূর্ববর্তী বিন্দু থেকে আউটপুট সহ ডিবি বিষয়বস্তু প্রতিস্থাপন করুন

আপনি যদি ওয়ার্ডপ্রেসের সাথে আত্মবিশ্বাসী বোধ করেন তবে আপনি সঞ্চিত মানটি আনার জন্য ডাব্লুপি-ক্লিমে এম্বেড হওয়া ওয়ার্ডপ্রেস আরপিএলget_option('wp_user_roles') ব্যবহার update_optionকরতে পারেন এবং তারপরে এটি আপডেট করার জন্য ব্যবহার করতে পারেন।

এবং (সর্বদা) অপশন ম্যানিপুলেশন এর আগে ডিবি ব্যাকআপ করতে ভুলবেন না;)


অন্যথায়, আপনি যদি ভূমিকা_কি মান সম্পর্কে চিন্তা না করেন ...

ডাব্লুপি-ক্লিমে এটি অর্জন করা খুব সহজ :

  1. বিদ্যমান ভূমিকা সদৃশ - $ wp role create new_role 'New Role' --clone=old_role
  2. পুরানো মুছুন - $ wp role delete old_role
  3. তারপরে নতুন_রোল ব্যবহারকারীদের সাথে যুক্ত করুন।
  4. পুরানো_বোলি = নতুন_ক্রোল অবধি অবধি 1 এবং 2 বার পুনরাবৃত্তি করুন

1

আপনি একটি কাস্টম স্থানীয়করণ ফাইল তৈরি করতে পারেন। এই ফাইলটি পান: http://svn.automattic.com/wordpress-i18n/pot/trunk/wordpress.pot এবং PoEdit সরঞ্জাম ব্যবহার করে সম্পাদনা করুন (উদাহরণস্বরূপ)। পরবর্তী পদক্ষেপে স্থানীয়করণ ফাইলটিকে en_GB.mo (বা অন্যান্য) হিসাবে সংরক্ষণ করুন এবং ডাব্লুপি-কনফিগারেশন ফাইল সম্পাদনা করুন:

সংজ্ঞায়িত ("ডাব্লুপিএলএং", "এন_জিবি");


1
ইতিমধ্যে এই পদ্ধতিটি ব্যবহার করে দেখুন, তবে কিছু টান ডাউন মেনু অনুবাদ করা হয়নি।
শান লি

0

আপনি এটি সরাসরি আপনার ডিবিতে সম্পাদনা করতে পারেন এবং এটি আপনার ওয়েবসাইটের জন্য স্থায়ীভাবে সম্পাদনা করা হবে। এখানে ডাব্লুপি ব্যবহারকারীর ভূমিকা রাখে

SELECT * from blog_options WHERE option_name = 'blog_user_roles'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.