WordPress ваши файлы не кеширует, их кеширует ваш браузер. Для сброса кеша используются параметры-версии, как написал Денис. Это называется "cache busting". Если речь идет о файлах-аттачментах (а не скриптах/стилях), можно добавлять так:
function attachment_cache_busting( $url ) {
return add_query_arg( 'v', time(), $url );
}
add_filter( 'wp_get_attachment_url', 'attachment_cache_busting' );
Данный код заменит URL вида
example.com/wp-content/uploads/2017/06/file.pdf на
example.com/wp-content/uploads/2017/06/file.pdf?v=1433422229. Впрочем, он заменит его для всех URL всех статических файлов, что нам не сильно подходит. Давайте ограничим только для PDF:
function attachment_cache_busting( $url ) {
if ( substr( $url, -3 ) === 'pdf' ) {
$url = add_query_arg( 'v', time(), $url );
}
return $url;
}
add_filter( 'wp_get_attachment_url', 'attachment_cache_busting' );
Можно пойти дальше, если данную манипуляцию может понадобиться проводить для нескольких форматов файлов, не только PDF:
function attachment_cache_busting( $url ) {
$allowed_extensions = array( 'pdf', 'doc', 'docx', 'zip' );
$file_extension = substr( $url, -3 );
if ( in_array( $file_extension, $allowed_extensions ) ) {
$url = add_query_arg( 'v', time(), $url );
}
return $url;
}
add_filter( 'wp_get_attachment_url', 'attachment_cache_busting' );