Permitir acesso ao wp-admin com o WooCommerce

O WooCommerce, plataforma com a qual desenvolvemos lojas online, implementa um bloqueio à área de administração do WordPress (normalmente /wp-admin/) para todos os utilizadores que não tenham capacidade de editar posts (edit_posts) ou gerir o WooCommerce (manage_woocommerce).

Em teoria isto é boa ideia, mas pode causar alguns problemas.

Num projecto que estamos neste momento a desenvolver para um cliente, temos a necessidade de ter um perfil (role) de utilizador específico que vai ter acesso a algumas áreas do wp-admin. Serão áreas muito restritas e com funcionalidades específicas deste projecto.

Para isso, e com a ajuda do Capability Manager Enhanced, criámos um novo role, uma nova capacidade (capability).

special_capability_wordpress

 

Utilizámos então o seguinte código no functions.php do nosso tema:

add_filter('woocommerce_prevent_admin_access', 'customs_woocommerce_prevent_admin_access_filter');
function customs_woocommerce_prevent_admin_access_filter($prevent_access) {
	if (is_user_logged_in() && current_user_can('our_special_capability')) {
		$prevent_access=false;
	}
	return $prevent_access;
}

Agora todos os utilizadores pertencentes a este role já não são redireccionados para a página My Account do WooCommerce sempre que tentam aceder ao wp-admin.

Agora só falta implementar as funcionalidades para estes utilizadores, mas isso “é outra pinga” 😉

No comments yet.

Deixe um comentário

*

_