You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
1.4 KiB
PHP
75 lines
1.4 KiB
PHP
<?php
|
|
/**
|
|
* Members plugin integration.
|
|
*
|
|
* @since 0.9.0
|
|
* @package RankMath
|
|
* @subpackage RankMath\Role_Manager
|
|
* @author Rank Math <support@rankmath.com>
|
|
*/
|
|
|
|
namespace RankMath\Role_Manager;
|
|
|
|
use RankMath\Traits\Hooker;
|
|
use RankMath\Helpers\Param;
|
|
|
|
defined( 'ABSPATH' ) || exit;
|
|
|
|
/**
|
|
* Members class.
|
|
*/
|
|
class Members {
|
|
|
|
use Hooker;
|
|
|
|
/**
|
|
* Members cap group name.
|
|
*
|
|
* @var string
|
|
*/
|
|
const GROUP = 'rank_math';
|
|
|
|
/**
|
|
* Class Members constructor.
|
|
*/
|
|
public function __construct() {
|
|
$this->action( 'members_register_caps', 'register_caps' );
|
|
$this->action( 'members_register_cap_groups', 'register_cap_groups' );
|
|
}
|
|
|
|
/**
|
|
* Registers cap group.
|
|
*/
|
|
public function register_cap_groups() {
|
|
\members_register_cap_group(
|
|
self::GROUP,
|
|
[
|
|
'label' => esc_html__( 'Rank Math', 'rank-math' ),
|
|
'caps' => [],
|
|
'icon' => 'dashicons-chart-area',
|
|
'priority' => 30,
|
|
]
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Registers caps.
|
|
*/
|
|
public function register_caps() {
|
|
$caps = Capability_Manager::get()->get_capabilities();
|
|
if ( 'administrator' === Param::get( 'role' ) ) {
|
|
$caps['rank_math_edit_htaccess'] = esc_html__( 'Edit .htaccess', 'rank-math' );
|
|
}
|
|
|
|
foreach ( $caps as $key => $value ) {
|
|
\members_register_cap(
|
|
$key,
|
|
[
|
|
'label' => html_entity_decode( $value ),
|
|
'group' => self::GROUP,
|
|
]
|
|
);
|
|
}
|
|
}
|
|
}
|