Как получить ID страницы по шаблону страницы WordPress


Иногда бывает нужно вывести информацию из конкретной страницы на другой странице, особенно, если дело касается каких-то мета-полей, в которые уже внесена информация и нет желания везде дублировать эти мета-поля. Если вы с таким вопросом столкнулись, то эта статья для вас.

Например есть страница Контакты с шаблоном страницы – contacts.php и вы хотите какую-то контактную информацию вывести в футере или на другой странице, то всё что вам нужно знать – это просто путь к шаблону страницы, откуда мы будем брать метаданные. В данном случае путь к нашему шаблону будет следующий – page-template/contacts.php.

Всё что нам остаётся – просто использовать функцию get_pages():

$pages = get_pages(
	array(
    	'meta_key' => '_wp_page_template',
	    'meta_value' => 'page-template/contacts.php'
	)
);

//дальше на любителя - либо запускаете цикл, 
//либо получаете просто 1-й элемент массива

//1-й вариант
foreach($pages as $page){
    $page_id = $page->ID;
}

//2-й вариант
$page_id = $pages[0]->ID;