Как натянуть дополнительную страницу (например контакты) в теме wordpress?
index.php — это не шаблон главной страницы, это самый базовый шаблон, он используется в том случае, если WP не найдет для запроса более подходящий. В этом шаблоне должен быть самый базовый цикл, а для главной лучше использовать front-page.php или home.php

Чтобы создать страницу с контактами вы можете создать файл с произвольным названием, например template-contacts.php. Обязательно в начале файла должны быть следующие строки и ваша верстка

/*
Template Name: Шаблон с контактами
Template Post Type: page
*/

После этого в админке, при создании новой записи в разделе «Страницы» у вас появится селект с выбором искомого шаблона

Чтобы заказчик смог менять информацию на этой странице, вы можете использовать плагины ACF или Carbon Fields, они создают поля, которые можно редактировать в админке. Значения этих полей нужно выводить в вашей верстке, тогда информация будет подгружаться из базы данных

Советую вам почитать подробнее про иерархию шаблонов, а для закрепления посмотреть как сделаны популярные темы и дефолтные twenty
Легко. Делаете шаблон страницы "Контакты". Контакты как и другие коммерческие страницы чаще всего реализуют через "Страницы", а не "Записи". Идете в шаблон page.php и присоединяете через функцию шаблон контакты для вашей страницы "Контакты".

Вот здесь смотрите https://wp-kama.ru/function/is_page