You can still use the core comment functionality for the custom post type, then filter the edit-comments.php admin screen and create a new admin page with the required comments table.
Step 1. Removing the comments from the edit-comments.php admin screen can be done by using the comments_clauses
filter:
<?php
// Remove comments for specific post type ('project' in this case)
function exclude_comments_on_post_type( $clauses, $wp_comment_query ) {
global $wpdb;
if ( ! $wp_comment_query -> query_vars['post_type' ] ) {
$clauses['where'] .= $wpdb->prepare( " AND {$wpdb->posts}.post_type != %s", 'project' );
}
return $clauses;
}
// Load the above only on the needed admin screen
function exclude_comments_on_post_type_hook( $screen ) {
if ( $screen->id == 'edit-comments' ) {
add_filter( 'comments_clauses', 'exclude_comments_on_post_type', 10, 2 );
}
}
// Execute the hook
add_action( 'current_screen', 'exclude_comments_on_post_type_hook', 10, 2 );
Step 2. In order to display those comments elsewhere in the admin interface, you'll need to create a new admin page using the add_menu_page()
function and insert a custom WP_List_Table instance that will show the comments on that post type. Since it's a farily long read, I'll just post one of the links here without pasting all the details: https://www.sitepoint.com/using-wp_list_table-to-create-wordpress-admin-tables/