Plugin WordPress – exibe os tipos de usuário e suas regras

Num processo de migração entre duas instalações WordPress foi necessário verificar quais os tipos de usuário cadastrados e seus “slug”.

Eis a solução:

<?php
/*
Plugin Name: ZZZ Read WP User Roles
Description: Lê e exibe o conteúdo desserializado da chave "wp_user_roles" na tabela wp_options.
Version: 1.0
Author: ort
*/

// Hook para adicionar uma página de menu ao painel de administração do WordPress
add_action('admin_menu', 'add_plugin_page');

function add_plugin_page() {
// Adiciona uma nova página ao menu de configurações
add_options_page(
'Read WP User Roles', // Título da página
'Read WP User Roles', // Título do menu
'manage_options', // Capacidade necessária para ver a opção do menu
'read-wp-user-roles', // Slug da página
'display_roles_page' // Função que irá renderizar a página
);
}

// Função para exibir a página de opções do plugin
function display_roles_page() {
// Busca a opção 'wp_user_roles' da tabela wp_options e a desserializa
$user_roles = get_option('wp_user_roles');

// Verifica se a opção existe e não está vazia
if (!empty($user_roles)) {
echo '<div class="wrap">';
echo '<h2>WP User Roles</h2>';
echo '<h2>Resumo</h2>';
global $wp_roles;
if (!isset($wp_roles)) $wp_roles = new WP_Roles();
$roles = $wp_roles->get_names();
echo '<pre>'; print_r($roles); echo '</pre>';
echo '<h2>Detalhe</h2>';
echo '<pre>' . print_r($user_roles, true) . '</pre>'; // Exibe os dados desserializados
echo '</div>';
} else {
echo '<div class="wrap">';
echo '<h2>WP User Roles</h2>';
echo '<p>Não foi possível encontrar os dados dos papéis de usuário.</p>';
echo '</div>';
}
}

Instruções de uso:

  1. Crie um novo arquivo PHP com o conteúdo fornecido acima.
  2. Nomeie o arquivo (por exemplo, zzz_read-wp-user-roles.php) e coloque-o na pasta wp-content/plugins/.
  3. Acesse o painel de administração do WordPress, vá até a página de plugins e ative o plugin “Read WP User Roles”.
  4. Após ativado, vá para Configurações > Read WP User Roles para ver os dados desserializados dos papéis de usuário.

Lembre-se de testar o plugin em um ambiente de desenvolvimento antes de usar em um site em produção, para garantir que tudo funciona como esperado.


Publicado

em

por

Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *