34 lines
769 B
PHP
34 lines
769 B
PHP
<?php
|
|
|
|
define('LDC_MESSAGE_CAP', 'ldc_message_usage');
|
|
|
|
// The role that can only manage messages
|
|
$ldcMessageRole = 'ldc_message';
|
|
|
|
// Create LDC Message Role
|
|
add_role($ldcMessageRole, 'Ldc Message', []);
|
|
|
|
// allowed roles
|
|
$allowedRoles = [
|
|
'administrator',
|
|
'author',
|
|
'contributor',
|
|
'editor',
|
|
'wpseo_editor',
|
|
'wpseo_manager',
|
|
$ldcMessageRole
|
|
];
|
|
|
|
// Add ldc message authorisation for all users
|
|
foreach ($allowedRoles as $role) {
|
|
// get the the role object
|
|
$admin_role = get_role($role);
|
|
// grant capability
|
|
$admin_role->add_cap(LDC_MESSAGE_CAP, true);
|
|
}
|
|
|
|
// get the the role object
|
|
$admin_role = get_role($ldcMessageRole);
|
|
|
|
// grant capability to wp-admin
|
|
$admin_role->add_cap('read', true);
|