alexsancho / wp-accented-uploads
替换未来上传文件中的重音符号,并具有wp-cli命令,可用来清理当前内容。
Requires
- php: >=5.6
- composer/installers: ^v1.0.0
- roave/security-advisories: dev-master
This package is auto-updated.
Last update: 2021-09-24 06:35:35 UTC
README
WordPress 插件,可以删除未来上传文件中的重音字符,如 åöä
,并具有简单的 wp-cli 命令,可删除当前上传文件和数据库中附件链接的重音字符。这极大地帮助了您网站的当前和未来迁移,并帮助您避免奇怪的文件编码错误。它还将空格转换为破折号 ' ' => '-'
,并删除任何其他特殊字符,如 ™ ¼
,以免给您带来麻烦。
清理西里尔、德语、法语、波兰语、西班牙语、匈牙利语、捷克语、希腊语、瑞典语的重音符号。它甚至使用 PHP Normalizer 类 从文件中删除罕见的但可能出现的 Unicode NFD 字符。这些通常发生在您在 OS-X 上将上传文件挂载到 vagrant 虚拟机中时。
此插件甚至试图修复已经损坏的文件。例如,您可以修复您可能已上传的文件 ääkkönen.png
已损坏为 ääkkönen.png
的情况。更多内容请见最后一节。这些编码错误来自 http://www.i18nqa.com/debug/utf8-debug.html。
此插件和 wp-cli 命令与 WordPress 多站点兼容。
安装
Composer
使用 composer 安装,运行
$ composer require alexsancho/wp-accented-uploads
或将它添加到您的 composer.json
{ "require": { "alexsancho/wp-accented-uploads": "*" }, "extra": { "installer-paths": { "htdocs/wp-content/mu-plugins/{$name}/": ["type:wordpress-muplugin"] } } }
它作为 mu-plugin 安装,这样您的客户就不会意外地禁用它。
使用 WP CLI 删除上传和数据库中的重音符号
它将在所有附件中搜索带重音的文件名。如果找到任何,它会检查这些附件是否在帖子内容中使用,并从 wp_posts 和 wp_postmeta 中清理所有附件文件名路径的实例。
在运行此命令之前,请备份您的文件和数据库。它对我们有效,但我们不能保证。
# You can analyze before running it:
$ wp sanitize all --verbose --dry-run
# When you are sure go ahead and run it
$ wp sanitize all
# If you have a network you can do network wide replace
$ wp sanitize all --network
示例输出
$ wp sanitize all
Found: 5 attachments.
This may take a while...
REPLACING: ääkkönen.png ---> aakkonen.png
----> Checking image: /var/www/wp/wp-content/uploads/2016/04/ääkkönen.png
----> Replaced file: ääkkönen.png -> aakkonen.png
----> Checking thumbnail: /var/www/wp/wp-content/uploads/2016/04/ääkkönen-150x68.png
----> Replaced thumbnail: ääkkönen-150x68.png -> aakkonen-150x68.png
Remaining workload: 2 attachments...
Success: Replaced 1 from 5 attachments.