Вы можете использовать функцию wp_insert_post()
для дублирования сообщения.
Вам просто нужно удалить идентификатор сообщения из данных, которые вы передаете ему, и Wordpress создаст новое сообщение вместо обновления существующего.один.Например,
$post_id = 1234;
$post = (array) get_post( $post_id ); // Post to duplicate.
unset($post['ID']); // Remove id, wp will create new post if not set.
wp_insert_post($post);
Комментарии хранятся в другой таблице.И связаны идентификатором сообщения.Поскольку дублированный пост будет иметь другой идентификатор, исходные комментарии не будут с ним связаны.