id
is already used by WordPress, it’s a query variable and a reserved name. If you put ?id=5
on the end of a URL, you’re asking for the post with ID 5.
Instead, have you considered using a person
post type? This would give you an archive, add/edit screen, admin listings, templates, individual person templates, URL paths, etc all for free No need to create a page and a page template, just use single-person.php
and archive-person.php