Filtro por termo da taxonomia no Post Type

871 views
Skip to first unread message

Júlio Cavalcanti

unread,
Sep 13, 2011, 9:49:46 AM9/13/11
to wordpress-brasil
Pessoal, não sei se vcs perceberam ou se acontece com vcs tb, mas quando se cria um Custom Post Type, na tela de listagem dos posts não aparece o filtro por termos da taxonomia da mesma forma que aparece na tela de posts(padrão) do wordpress. Dai eu fui pesquisar pra ver se encontrava algum codigo que inserisse esse filtro. Eu cheguei a achar e o código mostra os selects de filtro, mas a filtragem nao funciona. No meu caso pode ter alguma coisa diferente porque o post type Trabalhos que eu criei, setei pra que pudesse se relacionar a termos de 2 outras taxonomias(Clientes e Cases) 'taxonomies' => array('clientes','trabalhos','cases')

Filtro da listagem de Posts
filtro_posts.png

Filtro do post type Trabalhos
filtro_post-type.png

O código que achei foi esse:
function my_restrict_manage_posts() {
    global $typenow;
    $args=array( 'public' => true, '_builtin' => false ); 
    $post_types = get_post_types($args);
    if ( in_array($typenow, $post_types) ) {
    $filters = get_object_taxonomies($typenow);
        foreach ($filters as $tax_slug) {
            $tax_obj = get_taxonomy($tax_slug);
            wp_dropdown_categories(array(
                'show_option_all' => __('Show All '.$tax_obj->label ),
                'taxonomy' => $tax_slug,
                'name' => $tax_obj->name,
                'orderby' => 'term_order',
                'selected' => $_GET[$tax_obj->query_var],
                'hierarchical' => $tax_obj->hierarchical,
                'show_count' => false,
                'hide_empty' => true
            ));
        }
    }
}
function my_convert_restrict($query) {
    global $pagenow;
    global $typenow;
    if ($pagenow=='edit.php') {
        $filters = get_object_taxonomies($typenow);
        foreach ($filters as $tax_slug) {
            $var = &$query->query_vars[$tax_slug];
            if ( isset($var) ) {
                $term = get_term_by('id',$var,$tax_slug);
                $var = $term->slug;
            }
        }
    }
}
add_action('restrict_manage_posts', 'my_restrict_manage_posts' );
add_filter('parse_query','my_convert_restrict');

Alguém sabe como resolver isso? Obrigado. Abraço.


Júlio Cavalcanti 
[ Desenvolvedor Web ] 

:: www.juliocavalcanti.com :: 

Email: con...@juliocavalcanti.com
Gmail: juliocava...@gmail.com

Recife - PE 

"Bem-aventurados os limpos de coração, porque verão a Deus." (Mateus 5:8)
filtro_post-type.png
filtro_posts.png

marlus araujo

unread,
Sep 16, 2011, 8:57:09 PM9/16/11
to wordpres...@googlegroups.com

Júlio Cavalcanti

unread,
Sep 16, 2011, 9:05:25 PM9/16/11
to wordpres...@googlegroups.com
Obrigado Marlus! Funcionou! =)


Júlio Cavalcanti 
[ Desenvolvedor Web ] 

:: www.juliocavalcanti.com :: 

Email: con...@juliocavalcanti.com
Gmail: juliocava...@gmail.com

Recife - PE 

"Bem-aventurados os limpos de coração, porque verão a Deus." (Mateus 5:8)


--
Você recebeu esta mensagem por estar inscrito na lista de debates "WordPress Brasil" através do sistema Google Groups.
 
Para enviar uma mensagem: wordpres...@googlegroups.com
Para cancelar sua inscrição: wordpress-bras...@googlegroups.com
Para visitar o grupo: http://groups.google.com.br/group/wordpress-brasil?hl=pt-BR
 
Temas: http://wordpress.org/extend/themes/
Plugins: http://wordpress.org/extend/plugins/
Projeto WordPress: http://br.wordpress.org/

wpmidia lab

unread,
Sep 16, 2011, 10:14:12 PM9/16/11
to wordpres...@googlegroups.com
O link que eu passei nao ajudou? 
Ou era o mesmo que tu achou?? eheheh


--
Você recebeu esta mensagem por estar inscrito na lista de debates "WordPress Brasil" através do sistema Google Groups.
 
Para enviar uma mensagem: wordpres...@googlegroups.com
Para cancelar sua inscrição: wordpress-bras...@googlegroups.com
Para visitar o grupo: http://groups.google.com.br/group/wordpress-brasil?hl=pt-BR
 
Temas: http://wordpress.org/extend/themes/
Plugins: http://wordpress.org/extend/plugins/
Projeto WordPress: http://br.wordpress.org/



--
Míriam de Paula 
(a.k.a. Drika)
Twitter: @miriamdepaula

wp
midia
desenvolvimento web
http://wpmidia.com.br
twitter: @wpmidia


filtro_post-type.png
filtro_posts.png

marlus araujo

unread,
Sep 16, 2011, 10:17:49 PM9/16/11
to wordpres...@googlegroups.com
O que funcionou pra mim (com hierarquização de filtros etc) é um que estava nos comentários, mas do mesmo post

Leonardo Antonioli

unread,
Sep 17, 2011, 10:33:08 AM9/17/11
to WordPress Brasil Lista
Obrigado, Marius. O código funcionou pra mim também!
Só deu um erro porque inicialmente coloquei os termos em vez das
taxonomias nos $filters
Mas assim que acertei, tudo funcionou. Fica a dica pra quem tiver
problemas.
Reply all
Reply to author
Forward
0 new messages