Добавьте это к плагину для загрузки имени файла хеша , и вам будет хорошо;
/**
* Filter new attachments and set the post_name the same as the hashed
* filename.
*
* @param int $post_ID
*/
function change_attachment_name_to_hash($post_ID)
{
$file = get_attached_file($post_ID);
$info = pathinfo($file);
$name = trim( substr($info['basename'], 0, -(1 + strlen($info['extension'])) ) );
wp_update_post(array(
'ID' => $post_ID,
'post_name' => $name
));
}
add_action('add_attachment', 'change_attachment_name_to_hash');
Не стесняйтесь спрашивать, если вы не уверены, что делает каждая строка!
ОБНОВЛЕНИЕ:
Эта функция подключается к событию add_attachment
сразу после сохранения нового вложения в базе данных.Это действие вызывается изнутри wp_insert_attachment()
.
Сначала мы получаем имя файла вложения (get_attached_file()
).Затем мы используем встроенную функцию PHP pathinfo () , чтобы получить компоненты пути, и удаляем путь к каталогу и расширение файла.
Затем мы вызываем wp_update_post()
, обновляя post_name
вложения в базе данных.