WPSEO_Role_Manager_VIP{}Yoast 1.0

Устарела с версии 19.9. Больше не поддерживается и может быть удалена. Рекомендуется заменить эту функцию на аналог.

VIP implementation of the Role Manager.

Хуков нет.

Использование

$WPSEO_Role_Manager_VIP = new WPSEO_Role_Manager_VIP();
// use class methods

Методы

  1. protected add_role( $role, $display_name, array $capabilities = [] )
  2. protected remove_role( $role )

Список изменений

Устарела с 19.9

Код WPSEO_Role_Manager_VIP{} Yoast 21.6

final class WPSEO_Role_Manager_VIP extends WPSEO_Abstract_Role_Manager {

	/**
	 * Adds a role to the system.
	 *
	 * @deprecated 19.9
	 * @codeCoverageIgnore
	 *
	 * @param string $role         Role to add.
	 * @param string $display_name Name to display for the role.
	 * @param array  $capabilities Capabilities to add to the role.
	 *
	 * @return void
	 */
	protected function add_role( $role, $display_name, array $capabilities = [] ) {
		_deprecated_function( __METHOD__, 'Yoast SEO 19.9' );

		$enabled_capabilities  = [];
		$disabled_capabilities = [];

		// Build lists of enabled and disabled capabilities.
		foreach ( $capabilities as $capability => $grant ) {
			if ( $grant ) {
				$enabled_capabilities[] = $capability;
			}

			if ( ! $grant ) {
				$disabled_capabilities[] = $capability;
			}
		}

		wpcom_vip_add_role( $role, $display_name, $enabled_capabilities );
		if ( $disabled_capabilities !== [] ) {
			wpcom_vip_remove_role_caps( $role, $disabled_capabilities );
		}
	}

	/**
	 * Removes a role from the system.
	 *
	 * @deprecated 19.9
	 * @codeCoverageIgnore
	 *
	 * @param string $role Role to remove.
	 *
	 * @return void
	 */
	protected function remove_role( $role ) {
		_deprecated_function( __METHOD__, 'Yoast SEO 19.9' );

		remove_role( $role );
	}
}