ยังมีการเปลี่ยนชื่อบทบาทผู้ใช้ผ่านเบ็ดแทนที่จะใช้ปลั๊กอิน?
แก้ไข
ตัวอย่างเช่นadministrator
»owner
ยังมีการเปลี่ยนชื่อบทบาทผู้ใช้ผ่านเบ็ดแทนที่จะใช้ปลั๊กอิน?
ตัวอย่างเช่นadministrator
»owner
คำตอบ:
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]
ส่วนหนึ่งของอาร์เรย์
วิธีแก้ไขง่ายๆคือเพียงเพิ่มบทบาทผู้ใช้โดยใช้add_role
วิธีที่คุณสามารถตั้งชื่อสิ่งที่คุณต้องการและเพิ่มความสามารถที่คุณต้องการ
http://codex.wordpress.org/Function_Reference/add_role
จริงๆแล้วมีหลายวิธีที่จะบรรลุเป้าหมายดังกล่าว:
ด้วยpure php และ mysqlคุณสามารถแก้ไขรายการต่อเนื่องในฐานข้อมูล อันที่จริง Wordpress เก็บอาร์เรย์ของบทบาทในwp_options
ตาราง
ดังนั้น:
SELECT option_value as serialized_string FROM wp_options WHERE option_name = 'wp_user_roles';
$rolesArray = unserialize($serialized_string)
$rolesArray['role_key']['name'] = "New name"
echo serialize($rolesArray)
option_value
เนื้อหาdb ด้วยเอาต์พุตจากจุดก่อนหน้าหากคุณรู้สึกมั่นใจกับ Wordpress คุณสามารถใช้Wordpress REPL ในตัวใน wp-cliเพื่อดึงค่าที่เก็บไว้ด้วยget_option('wp_user_roles')
แล้วใช้update_option
เพื่ออัปเดต
และ (เสมอ) อย่าลืมสำรองข้อมูลฐานข้อมูลก่อนที่จะจัดการตัวเลือก;)
…มันง่ายมากที่จะบรรลุเป้าหมายนั้นด้วยwp-cli :
$ wp role create new_role 'New Role' --clone=old_role
$ wp role delete old_role
คุณสามารถสร้างไฟล์การแปลที่กำหนดเองได้ รับไฟล์นี้: http://svn.automattic.com/wordpress-i18n/pot/trunk/wordpress.potและแก้ไขโดยใช้เครื่องมือ PoEdit (ตัวอย่าง) ในขั้นตอนถัดไปบันทึกไฟล์การแปลเป็น en_GB.mo (หรืออื่น ๆ ) และแก้ไขไฟล์ wp-config:
define ("WPLANG", "en_GB");
คุณสามารถแก้ไขได้โดยตรงในฐานข้อมูลของคุณและจะถูกแก้ไขอย่างถาวรสำหรับเว็บไซต์ของคุณ นี่คือที่ที่ WP รักษาบทบาทผู้ใช้
SELECT * from blog_options WHERE option_name = 'blog_user_roles'