В чем разница между локализационными файлами .po, .mo и .pot?
Я занимаюсь переводом сайта на WordPress и мне нужно лучше понять эти термины. Может кто-нибудь помочь с определениями и объяснить разницу между файлами .po, .mo и .pot при локализации WordPress?

Это не какие-то собственные форматы WordPress, а просто типы файлов gettext, которые используются в WordPress.
В Глоссарии руководства по переводу даны следующие определения:
MO-файлы: MO (Machine Object) — это бинарный файл данных, содержащий объектные данные, используемые программой. Обычно применяется для перевода программного кода и может быть загружен или импортирован в программу GNU gettext.
PO-файлы: PO-файлы содержат непосредственно переводы. Для каждого языка существует свой PO-файл, например, для французского — fr.po, для немецкого — de.po, для американского английского — en-US.po.
POT-файлы: POT-файлы являются шаблонами для PO-файлов. Они содержат все строки для перевода, но без самих переводов. По сути, POT-файл — это пустой PO-файл, содержащий только исходные строки.
Технические детали форматов файлов можно найти в документации gettext:

Итак, чтобы лучше понять, в двух словах, файлы .mo и .pot остаются нетронутыми (файл .mo по сути создается автоматически с помощью программы, например poedit)? Я до сих пор не понимаю, когда нам нужен файл .pot..

Файл .pot используется, когда кто-то начинает новый файл .po для перевода на новый язык. Таким образом, рабочий процесс выглядит так: .pot (оригинальные строки) → .po (оригинальные строки и их перевод на конкретный язык) → .mo (скомпилированный бинарный результат).

Ты имеешь в виду, что для работы переводов в теме должен быть перевод, который начинается с импорта файла .pot в poedit? Я игнорировал файл .pot (потому что тема, которую я рассматривал, только готова к локализации, но не имеет готовых переводов и не предоставляет файлов .pot), и после настройки файлов en-EN.po и .mo на предпочитаемый язык я не увидел изменений языка.

Я бы посоветовал просто задать новый вопрос. :) Вы смешиваете свою очень специфичную проблему (не работает кастомизация) с очень общим вопросом (какие бывают форматы файлов).

@Er.AmitJoshi Я добавил ссылки на технические детали, если вам интересны внутренние механизмы. :)

У меня появилось несколько файлов .mo, и я подумал, что это может быть взлом из-за закодированного "мусора" внутри. Могут ли эти файлы создаваться без злого умысла? Путь: /wp-content/languages/themes/twentytwenty-en_GB.mo

@landed да, файлы mo
имеют бинарный формат, они не предназначены для чтения человеком.

Могут ли файлы .mo содержать вредоносный код? Я в замешательстве, ведь я даже удалил эту тему, так что же создаёт эти файлы?
