X

Como adicionar tipos de post do WordPress ao widget “At a glance” do painel

Snippets by IsItWP

Você está procurando uma maneira de adicionar tipos de porta do WordPress ao widget “At a glance” do painel? Embora provavelmente exista um plug-in para isso, criamos um trecho de código rápido que você pode usar para adicionar tipos de post do WordPress ao widget “At a glance” do painel.

O painel do WordPress inclui um widget prático que exibe algumas informações breves sobre seu site em um relance – de forma bastante criativa, ele é intitulado “At a Glance”. Por padrão, ele mostra o número de posts, páginas e comentários no seu site, permitindo que você clique para editar cada uma dessas seções se tiver as permissões corretas.

Ao criar um plug-in com um tipo de post personalizado, geralmente é uma boa ideia adicionar seu tipo de post ao widget, pois isso torna as coisas mais acessíveis e, em geral, mais fáceis de usar para todos. Usando o snippet abaixo, você pode adicionar qualquer número de tipos de post personalizados a esse widget. Tudo o que você precisa fazer é substituir a matriz $post_types por uma matriz dos tipos de post que você deseja adicionar ao widget. Você verá que o snippet inclui uma verificação de segurança para que somente os usuários com permissão para editar cada tipo de post possam clicar e fazer isso.

Depois de adicionar os tipos de post ao widget, eles terão um ícone de círculo próximo a eles por padrão. Porém, você pode substituí-lo facilmente por qualquer um dos dashicons disponíveis no MP6 e no WordPress 3.8+. Tudo o que você precisa é de um CSS simples. O CSS fornecido aqui substituirá o círculo pelo mesmo ícone que o tipo de postagem Posts usa. Você pode substituir o atributo de conteúdo por um dos ícones desse conjunto – basta selecionar o ícone e copiar o CSS relevante do link fornecido.

Instruções:

Tudo o que você precisa fazer é adicionar esse código ao arquivo functions.php do seu tema ou em um plug-in específico do site:

add_filter( 'dashboard_glance_items', 'custom_glance_items', 10, 1 );

function custom_glance_items( $items = array() ) {

    $post_types = array( 'post_type_1', 'post_type_2' );
    
    foreach( $post_types as $type ) {

        if( ! post_type_exists( $type ) ) continue;

        $num_posts = wp_count_posts( $type );
        
        if( $num_posts ) {
      
            $published = intval( $num_posts->publish );
            $post_type = get_post_type_object( $type );
            
            $text = _n( '%s ' . $post_type->labels->singular_name, '%s ' . $post_type->labels->name, $published, 'your_textdomain' );
            $text = sprintf( $text, number_format_i18n( $published ) );
            
            if ( current_user_can( $post_type->cap->edit_posts ) ) {
                $items[] = sprintf( '<a class="%1$s-count" href="edit.php?post_type=%1$s">%2$s</a>', $type, $text ) . "n";
            } else {
                $items[] = sprintf( &apos;&lt;span class=&quot;%1$s-count&quot;&gt;%2$s&lt;/span&gt;&apos;, $type, $text ) . &quot;n&quot;;
            }
        }
    }
    
    return $items;
}

Adicione o seguinte código ao seu arquivo CSS.

#dashboard_right_now a.post_type-count:before,
#dashboard_right_now span.post_type-count:before {
  content: "f109";
}

Observação: Se esta é a primeira vez que você adiciona trechos de código no WordPress, consulte nosso guia sobre como copiar/colar corretamente trechos de código no WordPress, para não danificar seu site acidentalmente.

Se você gostou desse snippet de código, considere dar uma olhada em nossos outros artigos no site, como: 10 melhores plug-ins de tabela do WordPress para organizar dados e como criar um formulário pop-up no WordPress.

Comentários   Deixe uma resposta

  1. the icon no work…

  2. the icon no work…

  3. the icon no work…

  4. the icon no work…

  5. the icon no work…

  6. the icon no work…

  7. the icon no work…

  8. the icon no work…

  9. the icon no work…

  10. the icon no work…

  11. the icon no work…

  12. the icon no work…

  13. the icon no work…

  14. the icon no work…

  15. the icon no work…

  16. the icon no work…

  17. the icon no work…

  18. the icon no work…

  19. the icon no work…

  20. the icon no work…

  21. the icon no work…

  22. the icon no work…

  23. the icon no work…

  24. the icon no work…

  25. Excellent snippet 🙂

    One suggestion for improvement. You can
    make the text displayed in the ‘at a glance’ widget link to the page
    where the custom post types are displayed; just like normal posts or
    pages.

    Simply change (first occurence):

    $items[] = sprintf( ‘%2$s’, $type, $text ) . “n”;

    To this:
    $items[] = sprintf( ‘%2$s’, $type, ‘<a href=”‘ . admin_url() . ‘edit.php?post_type=’ . $type . ‘”>’ . $text . ‘‘ ) . “n”;

    It will even work within the foreach loop; still allowing you to define the custom post types in the first variable of the function.

    Thanks man!!

    1. I think you forgot to close your tag…

Adicionar um comentário

Ficamos felizes por você ter optado por deixar um comentário. Lembre-se de que todos os comentários são moderados de acordo com nossa política de privacidade, e todos os links são nofollow. NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.

WordPress Launch Checklist

A lista de verificação definitiva para o lançamento do WordPress

Compilamos todos os itens essenciais da lista de verificação para o lançamento de seu próximo site WordPress em um ebook prático.
Sim, envie-me o livro eletrônico gratuito grátis!