Как проверить есть ли файл на сервере и если нету отдать другой файл?

Для проверки наличия файла на сервере в WordPress можно использовать функцию file_exists(). Она принимает в качестве аргумента путь к файлу и возвращает true, если файл существует, и false в противном случае.

Чтобы отдать другой файл, если исходный не существует, можно воспользоваться функциями header() и readfile(). С помощью функции header() можно задать правильные заголовки для файла, а функция readfile() позволяет отправить содержимое файла клиенту.

Вот пример кода, который решает вашу задачу:

$file_path = '/путь/к/файлу.jpg';
$default_file_path = '/путь/к/другому/файлу.jpg';

if (file_exists($file_path)) {
    // Отправляем нужный файл
    header('Content-Type: image/jpeg');
    readfile($file_path);
} else {
    // Отправляем замену
    header('Content-Type: image/jpeg');
    readfile($default_file_path);
}

В этом примере сначала проверяется существование исходного файла по указанному пути file_path. Если файл существует, код устанавливает правильный тип содержимого (Content-Type) для файла с помощью функции header(), а затем отправляет содержимое файла с помощью функции readfile().

Если файл отсутствует, код переходит к ветви else, где устанавливается правильный тип содержимого для заменяющего файла (default_file_path), а затем отправляется его содержимое.

Обратите внимание, что вы должны заменить '/путь/к/файлу.jpg' и '/путь/к/другому/файлу.jpg' на реальные пути к исходному и заменяющему файлам соответственно.