Беда в том, что ваша техника, как вы говорите, довольно ограничительна, но на самом деле она не так уж безопасна (легко подделать заголовок реферера).
Лучшим решением, но опять же не совсем безопасным, было бы просто использовать непонятное именование файлов (затрудняя простое «угадывание» URL), но не устанавливая ограничения на то, где и как пользователь может прослушивать файл.
Если вы хотите абсолютной безопасности, плагин, который позволял вам загружать мультимедиа внутри вашего администратора WordPress в каталог за пределами корневого веб-каталога.
После этого пользователи войдут в систему, чтобы просмотреть загруженный носитель, но для их использования потребуется загрузить и сохранить файлы.
Процесс загрузки будет выполняться с использованием простого скрипта загрузки файлов PHP, чтобы представить файлы вне корневого веб-каталога.