1. Грубый метод
Создать папку sitemap в корне и создать там index.php
Если нужны функции WordPress и доступ к базе, то включить в файл основной файл загрузки WP
require '../wp-load.php';
2. Если нужно прямо в WordPress
Скрипт нужно повесить на хук "init", который происходит до передачи заголовков страницы.
Данный код добавить в functions.php темы
add_action( 'init', 'qna_habr_q_971257' );
function qna_habr_q_971257() {
global $wp;
// Получить базовый url
$current_url = home_url();
// Получить текущий url
$current_url = $current_url . $_SERVER['REDIRECT_URL'];
// Получить ID поста/страницы
$id = url_to_postid( $current_url );
// Получить массив get запроса
print_r( $_GET );
// Здесь ваш скрипт... //
// Завершить функцию выходом если не хотите продолжать загружать страницу
wp_die();
}
Для условия определения страницы, на которой находимся я привёл пример нескольких функций. Вы можете определить по данным из глобального $_SERVER, можете воспользоваться определением ID страницы по url и определять по ID на какой странице находитесь. Но учтите, что is_page() функция на данном этапе загрузки еще не работает.
И завершить функцию можно выходом wp_die(); если вам не нужно продолжение загрузки страницы.