Доброго времени суток. Штатно метабокс отображается на странице редактирования поста, а я его ещё хотел добавить на страницу "Редактирования комментария", т.е. чтобы отображались все комментарии, что относятся к посту, к которому относится редактируемый комментарий. Код функции позаимствовал
отсюда. Но почему то не работает - не показывает комментарии, хотя они точно есть.
<?php
add_action( 'admin_menu', 'all_display_comments_add_meta_box' );
function all_display_comments_add_meta_box() {
add_meta_box( 'commentsdiv', __( 'Comments' ), 'my_post_comment_meta_box', 'comment', 'normal', 'high' );
}
function my_post_comment_meta_box( $post ) {
$total = get_comments(
array(
'post_id' => $post->ID,
'number' => 1,
'count' => true,
)
);
$wp_list_table = _get_list_table( 'WP_Post_Comments_List_Table' );
$wp_list_table->display( true );
if ( 1 > $total ) {
echo '<p id="no-comments">' . __( 'No comments yet.' ) . '</p>';
} else {
$hidden = get_hidden_meta_boxes( get_current_screen() );
if ( ! in_array( 'commentsdiv', $hidden, true ) ) {
?>
<script type="text/javascript">jQuery(document).ready(function(){commentsBox.get(<?php echo $total; ?>, 10);});</script>
<?php
}
?>
<p class="hide-if-no-js" id="show-comments"><a href="#commentstatusdiv" onclick="commentsBox.load(<?php echo $total; ?>);return false;"><?php _e( 'Show comments' ); ?></a> <span class="spinner"></span></p>
<?php
}
wp_comment_trashnotice();
}
Как будет правильно?