Как сделать так, чтобы при оплате товара из определенной категории, в личном кабинете пользователя генерировалось рандомное 6 значное число, которое сохранялось бы в базе данных за определенным пользователем.
Хук оплаты, плагина что вы используете - смотрите в документации. По срабатыванию этого хука проверяете что это товар из нужной категории. Хук должен передавать метаданные товара - по ним получаете его принадлежность к нужной категории по его id. Ну а далее генерируете рандомное 6-ти значное число - это голый php. Функцию найдете в сети.
Число есть - и надо сохранить его в кастомную таблицу. Как работать - смотрите по запросу $wpdb. Ну и в этой таблице пишете инкремент id, номер заказа, рандомное число что у вас сгенерировалось, id юзера, дату транзакции.
Ничего необычного - апи вордпресс + простой php. Логика описана. Если сложности с реализацией - советую обратиться на фриланс
https://freelance.habr.com/