{"id":303,"date":"2026-05-14T17:00:19","date_gmt":"2026-05-14T20:00:19","guid":{"rendered":"https:\/\/neodoor.neo\/?post_type=neodoor_aula&#038;p=303"},"modified":"2026-05-21T09:04:03","modified_gmt":"2026-05-21T12:04:03","slug":"show-id","status":"publish","type":"post","link":"https:\/\/www.portanova.com.br\/notebook\/show-id\/","title":{"rendered":"[MU] Mostrar IDs no Admin"},"content":{"rendered":"<h2>Aula: Mostrar IDs no Admin com MU-Plugin \u2013 Substituindo &#8220;blog-id-in-site-admin-menu&#8221; e &#8220;simply-show-ids&#8221;<\/h2>\n<p><strong>Objetivo:<\/strong> Criar um MU-Plugin leve que exibe o ID do blog (em multisite) no menu administrativo e tamb\u00e9m adiciona uma coluna &#8220;ID&#8221; nas listas de posts, p\u00e1ginas, usu\u00e1rios, coment\u00e1rios, categorias e tags, substituindo os plugins <code>blog-id-in-site-admin-menu<\/code> e <code>simply-show-ids<\/code>.<\/p>\n<p><strong>Contexto:<\/strong> Esses dois plugins s\u00e3o \u00fateis para desenvolvedores que precisam identificar rapidamente IDs de elementos no admin. Nosso MU-Plugin unifica as funcionalidades em um \u00fanico c\u00f3digo enxuto, sem sobrecarga, e funciona tanto em sites simples quanto em redes multisite.<\/p>\n<h3>Funcionalidades implementadas<\/h3>\n<ul>\n<li><strong>ID do blog (multisite):<\/strong> Exibe o ID do site atual na barra superior do admin (toolbar) e tamb\u00e9m como um widget no dashboard.<\/li>\n<li><strong>Coluna ID em posts e p\u00e1ginas:<\/strong> Adiciona coluna &#8220;ID&#8221; na lista de todos os tipos de post (posts, p\u00e1ginas, CPTs como aulas).<\/li>\n<li><strong>Coluna ID em usu\u00e1rios:<\/strong> Adiciona coluna &#8220;ID&#8221; na lista de usu\u00e1rios.<\/li>\n<li><strong>Coluna ID em coment\u00e1rios:<\/strong> Adiciona coluna &#8220;ID&#8221; na lista de coment\u00e1rios.<\/li>\n<li><strong>Coluna ID em categorias e tags:<\/strong> Adiciona coluna &#8220;ID&#8221; nas telas de listagem de taxonomias.<\/li>\n<li><strong>Op\u00e7\u00e3o de ativar\/desativar via constante<\/strong> (opcional, para controle fino).<\/li>\n<\/ul>\n<h3>C\u00f3digo do MU-Plugin<\/h3>\n<p>Crie a pasta <code>wp-content\/mu-plugins\/neodoor-show-ids\/<\/code> e dentro dela o arquivo <code>neodoor-show-ids.php<\/code> com o conte\u00fado abaixo:<\/p>\n<pre><code>\n\n&lt;?php\nadd_node( array(\n            'id'    =&gt; 'blog-id',\n            'title' =&gt; 'ID do Blog: ' . $blog_id,\n            'href'  =&gt; '#',\n            'meta'  =&gt; array( 'class' =&gt; 'blog-id-display' )\n        ) );\n    }\n\n    \/**\n     * Adiciona um widget no dashboard mostrando o ID do blog (multisite)\n     *\/\n    public function add_blog_id_dashboard_widget() {\n        if ( ! is_multisite() ) {\n            return;\n        }\n        wp_add_dashboard_widget(\n            'dashboard_blog_id',\n            'ID do Blog',\n            array( $this, 'render_blog_id_widget' )\n        );\n    }\n\n    public function render_blog_id_widget() {\n        echo '<p>ID atual do blog: <strong>' . get_current_blog_id() . '<\/strong><\/p>';\n        if ( current_user_can( 'manage_network' ) ) {\n            echo '<p><a href=\"\/notebook\/&#039;%20.%20network_admin_url(%20&#039;sites.php&#039;%20)%20.%20&#039;\">Gerenciar sites<\/a><\/p>';\n        }\n    }\n\n    \/**\n     * Adiciona a coluna \"ID\" no array de colunas\n     *\/\n    public function add_id_column( $columns ) {\n        $columns['neodoor_id'] = 'ID';\n        return $columns;\n    }\n\n    \/**\n     * Renderiza o ID na coluna para posts\/p\u00e1ginas\/CPTs\n     *\/\n    public function render_id_column( $column_name, $post_id ) {\n        if ( 'neodoor_id' === $column_name ) {\n            echo esc_html( $post_id );\n        }\n    }\n\n    \/**\n     * Renderiza o ID na coluna de usu\u00e1rios\n     *\/\n    public function render_user_id_column( $output, $column_name, $user_id ) {\n        if ( 'neodoor_id' === $column_name ) {\n            return $user_id;\n        }\n        return $output;\n    }\n\n    \/**\n     * Renderiza o ID na coluna de coment\u00e1rios\n     *\/\n    public function render_comment_id_column( $column_name, $comment_id ) {\n        if ( 'neodoor_id' === $column_name ) {\n            echo esc_html( $comment_id );\n        }\n    }\n\n    \/**\n     * Adiciona coluna ID para taxonomias (categorias, tags, etc.)\n     *\/\n    public function add_taxonomy_id_columns() {\n        $taxonomies = get_taxonomies( array( 'show_ui' =&gt; true ), 'names' );\n        foreach ( $taxonomies as $taxonomy ) {\n            add_filter( \"manage_edit-{$taxonomy}_columns\", array( $this, 'add_id_column' ) );\n            add_filter( \"manage_{$taxonomy}_custom_column\", array( $this, 'render_taxonomy_id_column' ), 10, 3 );\n        }\n    }\n\n    \/**\n     * Renderiza o ID para termos de taxonomia\n     *\/\n    public function render_taxonomy_id_column( $content, $column_name, $term_id ) {\n        if ( 'neodoor_id' === $column_name ) {\n            return $term_id;\n        }\n        return $content;\n    }\n}\n\nNeodoor_Show_IDs::get_instance();\n\n<\/code><\/pre>\n<h3>Instru\u00e7\u00f5es de instala\u00e7\u00e3o<\/h3>\n<ol>\n<li>Certifique-se de que o autoloader <code>loader.php<\/code> esteja presente em <code>\/mu-plugins\/<\/code>.<\/li>\n<li>Crie a pasta <code>neodoor-show-ids<\/code> dentro de <code>\/mu-plugins\/<\/code>.<\/li>\n<li>Dentro dela, crie o arquivo <code>neodoor-show-ids.php<\/code> e cole o c\u00f3digo acima.<\/li>\n<li>Desative e remova os plugins <code>blog-id-in-site-admin-menu<\/code> e <code>simply-show-ids<\/code> (se estiverem ativos).<\/li>\n<\/ol>\n<h3>Como testar<\/h3>\n<ul>\n<li><strong>ID do blog (multisite):<\/strong> Se voc\u00ea estiver em uma instala\u00e7\u00e3o multisite, ver\u00e1 na barra superior do admin um item &#8220;ID do Blog: X&#8221; e tamb\u00e9m um widget no dashboard.<\/li>\n<li><strong>IDs em posts\/p\u00e1ginas:<\/strong> Acesse <strong>Posts \u2192 Todos os posts<\/strong> ou <strong>P\u00e1ginas \u2192 Todas as p\u00e1ginas<\/strong>. Uma nova coluna &#8220;ID&#8221; aparecer\u00e1 com o n\u00famero de cada item.<\/li>\n<li><strong>IDs em usu\u00e1rios:<\/strong> Acesse <strong>Usu\u00e1rios \u2192 Todos os usu\u00e1rios<\/strong> \u2013 coluna &#8220;ID&#8221; vis\u00edvel.<\/li>\n<li><strong>IDs em coment\u00e1rios:<\/strong> Acesse <strong>Coment\u00e1rios<\/strong> \u2013 coluna &#8220;ID&#8221; vis\u00edvel.<\/li>\n<li><strong>IDs em categorias\/tags:<\/strong> Acesse <strong>Posts \u2192 Categorias<\/strong> ou <strong>Tags<\/strong> \u2013 coluna &#8220;ID&#8221; vis\u00edvel.<\/li>\n<\/ul>\n<h3>Funcionamento em multisite<\/h3>\n<p>O MU-Plugin detecta automaticamente se o WordPress est\u00e1 em modo multisite. Se estiver, exibe o ID do blog na toolbar e no dashboard. Em instala\u00e7\u00f5es single-site, essas funcionalidades s\u00e3o ignoradas, mas as colunas de IDs continuam funcionando normalmente.<\/p>\n<h3>Personaliza\u00e7\u00f5es poss\u00edveis<\/h3>\n<ul>\n<li><strong>Remover widget do dashboard:<\/strong> Basta remover ou comentar a linha <code>add_action( 'wp_dashboard_setup', [ $this, 'add_blog_id_dashboard_widget' ] );<\/code>.<\/li>\n<li><strong>Alterar t\u00edtulo da coluna:<\/strong> No m\u00e9todo <code>add_id_column<\/code>, troque <code>'ID'<\/code> por qualquer outro texto (ex: <code>'Identificador'<\/code>).<\/li>\n<li><strong>Desativar para tipos de post espec\u00edficos:<\/strong> Adicione uma verifica\u00e7\u00e3o no <code>add_id_column<\/code> usando <code>get_current_screen()<\/code>.<\/li>\n<\/ul>\n<h3>Plugins substitu\u00eddos<\/h3>\n<ul>\n<li><code>blog-id-in-site-admin-menu<\/code> \u2013 totalmente substitu\u00eddo (toolbar + dashboard widget).<\/li>\n<li><code>simply-show-ids<\/code> \u2013 totalmente substitu\u00eddo (colunas de ID em posts, p\u00e1ginas, usu\u00e1rios, coment\u00e1rios, taxonomias).<\/li>\n<\/ul>\n<h3>Observa\u00e7\u00f5es finais<\/h3>\n<ul>\n<li>O c\u00f3digo n\u00e3o interfere no frontend do site, apenas no admin.<\/li>\n<li>N\u00e3o h\u00e1 necessidade de configura\u00e7\u00e3o \u2013 funciona imediatamente ap\u00f3s criado.<\/li>\n<li>Compat\u00edvel com PHP 8.4 e vers\u00f5es recentes do WordPress (6.x).<\/li>\n<li>Se voc\u00ea n\u00e3o usa multisite, as partes espec\u00edficas de blog ID s\u00e3o ignoradas \u2013 o plugin permanece leve.<\/li>\n<\/ul>\n<h3>Registro no caderno<\/h3>\n<p>Data: <!--?php echo date('d\/m\/Y'); ?--><\/p>\n<p>Funcionalidade: Exibi\u00e7\u00e3o de IDs no admin (posts, usu\u00e1rios, coment\u00e1rios, taxonomias e blog ID)<\/p>\n<p>Plugins substitu\u00eddos: blog-id-in-site-admin-menu, simply-show-ids<\/p>\n<p>Tempo de implementa\u00e7\u00e3o: ~10 minutos (cria\u00e7\u00e3o e testes)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Aula: Mostrar IDs no Admin com MU-Plugin \u2013 Substituindo &#8220;blog-id-in-site-admin-menu&#8221; e &#8220;simply-show-ids&#8221; Objetivo: Criar um MU-Plugin leve que exibe o ID do blog (em multisite) no menu administrativo e tamb\u00e9m adiciona uma coluna &#8220;ID&#8221; nas listas de posts, p\u00e1ginas, usu\u00e1rios, coment\u00e1rios, categorias e tags, substituindo os plugins blog-id-in-site-admin-menu e simply-show-ids. Contexto: Esses dois plugins s\u00e3o [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,4],"tags":[],"class_list":["post-303","post","type-post","status-publish","format-standard","hentry","category-lessons","category-pluginsmu"],"_links":{"self":[{"href":"https:\/\/www.portanova.com.br\/notebook\/wp-json\/wp\/v2\/posts\/303","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.portanova.com.br\/notebook\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.portanova.com.br\/notebook\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.portanova.com.br\/notebook\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.portanova.com.br\/notebook\/wp-json\/wp\/v2\/comments?post=303"}],"version-history":[{"count":0,"href":"https:\/\/www.portanova.com.br\/notebook\/wp-json\/wp\/v2\/posts\/303\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.portanova.com.br\/notebook\/wp-json\/wp\/v2\/media?parent=303"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.portanova.com.br\/notebook\/wp-json\/wp\/v2\/categories?post=303"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.portanova.com.br\/notebook\/wp-json\/wp\/v2\/tags?post=303"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}