X

Como adicionar ícones para tipos de post personalizados no WordPress

Snippets by IsItWP

Deseja adicionar ícones para o tipo de postagem personalizada no WordPress para páginas de postagem novas e editadas? É fácil com nosso snippet de código. Vamos dar uma olhada.

Instruções:

Adicione esse snippet ao functions.php ou a um plug-in específico do site. Não se esqueça de alterar o URL na linha 9 para o local de seu ícone de 24px por 24px.

add_action( 'admin_head-post.php', 'post_type_icon');
add_action( 'admin_head-post-new.php', 'post_type_icon');
function post_type_icon() {
        global $post_type;
	?>
	<style>
	<?php if($post_type == 'products'){ ?>
	#icon-edit { 
                background: url('<?php echo 'http://example.com/wp-content/themes/theme_name/i/icon_24x24.png';?>') no-repeat; }
	<?php } ?>
        </style>
        <?php
}

Como alternativa, você pode usar este código. Esse snippet cria um tipo de postagem personalizado (chamado “products” na linha 9) e define o ícone de menu para esse tipo de postagem personalizado. Adicione esse snippet ao functions.php ou a um plug-in específico do site. Na linha 10 desse snippet, definimos o URL menu_icon como o local da imagem do ícone de 16px por 16px a ser exibida no menu de administração.

$args = array(
        'label' => __('Products'),
        'singular_label' => __('Product'),
        'public' => true,
        'show_ui' => true,
        'capability_type' => 'page',
        'hierarchical' => false,
        'rewrite' => true,
        'query_var' => 'products',
    'menu_icon' => 'http://site.com/wp-content/themes/theme_name/i/icon_16x16.png',
        'supports' => array('title','editor','comments','thumbnail')
);
register_post_type( 'product' , $args );

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 acidentalmente seu site.

Se você gostou desse snippet de código, considere dar uma olhada em nossos outros artigos no site, como: Melhores construtores de páginas do WordPress (comparados).

Comentários   Deixe uma resposta

  1. Cannot seem to get this to work in WP 3.2.1.  I have a custom theme I’m developing and I’ve added my own function into the functions.php and added the actions, but no dice.

    It appears as though the only styles that are applying to it are from the “colors-fresh.css” stylesheet.  I’ve checked all misspellings and made sure that my if statements match up with the correct post type definition.

    1. If you view the source on the admin page you should be able to see if the css above is added to the proper custom post type admin pages. This is simply css that overrides he default icons used. You may also want to try adding !important to the end of the css to make sure it would override any defaults.

    2. Of course 6 minutes later, I figure it out.  I switched the line

      to

      This seemed to be all that was necessary to fix it.  No idea why the previous line wasn't working for me because logically it should have been.

      1. Uh, code tags not work?

        1. Nope :/ not in with diquss,

  2. it can be done with one hook
    like here

    add_action("admin_head", array(&$this, "stylize")); //i use classes

    function stylize() {
    global $post_type;
    if($post_type == 'billboard') echo '#icon-edit {background: url("'.plugins_url( 'billboard.png', __FILE__ ).'") no-repeat; }';
    }

    1. Yes I was thinking about using admin_head, however we only need to replace the large icon on two pages so adding to the admin_head would still add the code to every page.

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!