WordPress:使用特殊字符重命名所有文件名并与数据库同步

时间:2014-01-09 14:17:00

标签: wordpress special-characters filenames

事实证明,我的客户端所拥有的网络主机不允许任何带有特殊字符的文件名(在这种情况下是瑞典字符å,ä,ö)。由于他们已经准备好网站内容并上传了数十张图片,我需要以某种方式批量重命名这些文件,并将其与数据库同步。考虑到我没有对服务器的SSH访问,最快的选择是什么?更新WordPress的帖子附件需要哪些步骤?

编辑:尝试插件媒体文件重命名器,但由于某种原因,它没有选择那些具有特殊字符的文件的单个文件。

1 个答案:

答案 0 :(得分:0)

我找到了这个@ Wordpress Support page的答案。

您可以通过将此脚本添加到主题function.php文件中来解决此问题:

add_filter('sanitize_file_name', 'sa_sanitize_spanish_chars', 10);

function sa_sanitize_spanish_chars ($filename) {
    $spanish_chars = array( '/á/', '/é/', '/í/', '/ó/', '/ú/', '/ü/', '/ñ/', '/Á/', '/É/', '/Í/', '/Ó/', '/Ú/', '/Ü/', '/Ñ/', '/º/', '/ª/' );
    $sanitized_chars = array('a', 'e', 'i', 'o', 'u', 'u', 'n', 'A', 'E', 'I', 'O', 'U', 'U', 'N', 'o', 'a');
    $friendly_filename = preg_replace($spanish_chars, $sanitized_chars, $filename);
    return $friendly_filename;
}

这只会增加对西班牙语特殊字符的支持,因此如果您要清理瑞典字符,则需要在两个数组上添加它们。

希望它有所帮助!