А в чем проблема поставить какой-нибудь плагин, скопировать страницу и грохнуть плагин? Может просто задача чуть в другом состоит? Вот
тут есть код, но по большому счету это копипаста из плагина, плагины делают то же самое. Но если убрать ссылки в админке, проверки и прочее, то останется чистая логика:
// Получаем старую страницу
$old = get_post( $id );
// Задаем параметры для новой страницы, вставляя их из старой
$args = array(
'argument' => $old->argument,
'...' => $old->...,
'...' => $old->...,
);
// Создаем новую страницу
$new_id = wp_insert_post( $args );
// Если нужно - прикручиваем таксономии, метаданные и т.д., используя $new_id
...