É possível mostrar metadados de comentários personalizados no painel de administração?

Eu personalizei o meu formulário de comentário com um novo campo (cidade, mas isso realmente não importa). Eu enganei e filtrei e adicionei meus metadados de comentários com add_comment_metadata.

Eu quero mostrar esses metadados no painel de administração de Comentários (wp-admin / edit-comments.php). As buscas do Google são infrutíferas.

Isso é possível? Se assim for, como se faz isso?

Gostaria de mostrá-lo na coluna do autor, mas vou me contentar em ver os metadados na visualização de edição para cada comentário individual.

Solutions Collecting From Web of "É possível mostrar metadados de comentários personalizados no painel de administração?"

Para mostrar o conteúdo em páginas de edição individuais, você precisa adicionar checkboxs metálicas personalizadas à página de edição de comentários. Você usará o comment chave para o argumento $page de add_meta_box .

 < ?php add_action( 'add_meta_boxes_comment', 'pmg_comment_tut_add_meta_box' ); function pmg_comment_tut_add_meta_box() { add_meta_box( 'pmg-comment-title', __( 'Comment Title' ), 'pmg_comment_tut_meta_box_cb', 'comment', 'normal', 'high' ); } function pmg_comment_tut_meta_box_cb( $comment ) { $title = get_comment_meta( $comment->comment_ID, 'pmg_comment_title', true ); wp_nonce_field( 'pmg_comment_update', 'pmg_comment_update', false ); ?> 

;

< ?php }

Você provavelmente também quererá salvar as alterações do administrador. Você pode se conectar ao edit_comment para fazer isso.

 < ?php add_action( 'edit_comment', 'pmg_comment_tut_edit_comment' ); function pmg_comment_tut_edit_comment( $comment_id ) { if( ! isset( $_POST['pmg_comment_update'] ) || ! wp_verify_nonce( $_POST['pmg_comment_update'], 'pmg_comment_update' ) ) return; if( isset( $_POST['pmg_comment_title'] ) ) update_comment_meta( $comment_id, 'pmg_comment_title', esc_attr( $_POST['pmg_comment_title'] ) ); } 

Eu escrevi um tutorial sobre isso se você é interessante em aprender mais - os trechos de código acima são dele.

Para mostrar dados na tabela da lista de comentários é semelhante à adição de colunas personalizadas para as tabelas da lista de publicações .

Para certificar-se de que nós conseguimos a canvas direita, ligue para load-edit-comments.php , pegue a canvas atual e, em seguida, manage_{$screen->id}_columns no manage_{$screen->id}_columns para adicionar outra coluna à tabela de lista de comentários.

 < ?php add_action('load-edit-comments.php', 'wpse64973_load'); function wpse64973_load() { $screen = get_current_screen(); add_filter("manage_{$screen->id}_columns", 'wpse64973_add_columns'); } 

A function que você manage_{$screen->id}_columns no manage_{$screen->id}_columns apenas precisa alterar a matriz associativa para include a coluna. É um $key => $label pair - certifique-se de lembrar a chave, nós a usaremos mais tarde. Vai ficar com o título do comentário acima.

Finalmente, precisamos conectar-se a manage_comments_custom_column para ecoar o título do comentário na tabela de lista real. Isso é bastante direto. Eu usei uma declaração de troca aqui porque facilmente expansível para include mais colunas personalizadas.

Qualquer coluna $key você adicionou anteriormente será o primeiro argumento passado na function gancho.

 < ?php add_action('manage_comments_custom_column', 'wpse64973_column_cb', 10, 2); function wpse64973_column_cb($col, $comment_id) { // you could expand the switch to take care of other custom columns switch($col) { case 'title': if($t = get_comment_meta($comment_id, 'pmg_comment_title', true)) { echo esc_html($t); } else { esc_html_e('No Title', 'wpse64973'); } break; } } 

O código do comentário tut e as coisas acima para colunas da tabela de lista personalizada estão aqui como um plugin .