Regarding the “Add new” part, here’s an example that I assume will help you. I haven’t used WP_List_Table so unfortunately I can’t comment much on that. But based on the class reference I’d guess you’d need to use the get_columns()
method.
Using the code below you should be able to generate an url that you can use as href
for an a
tag. You can then render the a
wherever you need it to be.
admin_url('post-new.php?post_type={post_type}');
When clicked, the genereated url should take the user to “Add new {post_type}” editing view.
Example copied from, How to get new post URL?