OK, this, put in functions.php
works for me, based on this question and answer:
/* Send users away from wp-admin/edit.php to page with ID 999
for post type my_post_type */
add_filter( 'parse_query', 'filter_post_edit_screen' );
function filter_post_edit_screen($query) {
global $pagenow;
if (is_admin() && $pagenow=='edit.php' && $query->query["post_type"] == "my_post_type"){
wp_redirect(get_permalink(999));
exit;
}
return $query;
}
don’t know whether it is clean to call wp_redirect()
for this hook but don’t see why not.