Como adicionar filtro em “Comentários” no painel de administração?

4

Encontrei muitas informações e a maioria dos tutoriais só fala sobre adicionar filtro apenas em postagem / postagem personalizada.

Eu quero fazer algo semelhante a este tutorial na área 'Comentários' no painel de administração.

Adicionar menu de filtros à lista de postagens administrativas (de tipo personalizado) para filtrar postagens por valores de campos personalizados

No entanto, não tenho certeza se o identificador parse_query também manipula a consulta nessa área? Alguém pode ter sugestão no tutorial, plugin que pode ajudar?

    
por user19815 29.08.2012 / 04:26

1 resposta

4

Exemplo de trabalho [Update]

De this Answer , da @TheDeadMedic, aqui está uma adaptação para mostrar apenas comentários de uma determinada post_id . Um link para esta ação é inserido na linha de status.

Hello World é a postagem com o ID 53.

  

Quandoclicado,exibeapenasoscomentáriosdessapostagemnoURLdeexample.com/wp-admin/edit-comments.php?comment_status=all&hello_world=1:

add_action('current_screen','wpse_72210_comments_exclude_lazy_hook',10,2);/***Delayhookingourclausesfiltertoensureit'sonlyappliedwhenneeded.*/functionwpse_72210_comments_exclude_lazy_hook($screen){if($screen->id!='edit-comments')return;//CheckifourQueryVarisdefinedif(isset($_GET['hello_world']))add_action('pre_get_comments','wpse_63422_list_comments_from_specific_post',10,1);add_filter('comment_status_links','wpse_63422_new_comments_page_link');}/***Onlydisplaycommentsofspecificpost_id*/functionwpse_63422_list_comments_from_specific_post($clauses){$clauses->query_vars['post_id']=53;}/***Addlinktospecificpostcommentswithcounter*/functionwpse_63422_new_comments_page_link($status_links){$count=get_comments('post_id=53&count=1');if(isset($_GET['hello_world'])){$status_links['all']='<ahref="edit-comments.php?comment_status=all">All</a>';
        $status_links['hello'] = '<a href="edit-comments.php?comment_status=all&hello_world=1" class="current">Hello World ('.$count.')</a>';
    } 
    else 
    {
        $status_links['hello'] = '<a href="edit-comments.php?comment_status=all&hello_world=1">Hello World ('.$count.')</a>';
    }

    return $status_links;
}

Ganchos úteis

Procure pelos ganchos abaixo, eles estão disponíveis no arquivo /wp-admin/includes/class-wp-comments-list-table.php .

Isso lhe dará um panorama das possibilidades da tela Comentários.

Ações

Filtros

por brasofilo 10.11.2012 / 02:58