您可以使用PHP/和WordPress API编写一个数据库补丁,但由于听起来您不会经常重复这个过程,我认为这可能有点过头了。对于这样的批量更改,最直接的方法是直接在数据库上进行快速SQL更新。
通过SQL查询进行批量更新使用直接SQL查询执行批量更新的一个大例外是,要修改的字段包含序列化数据,在这种情况下,使用PHP/WordPress API或specialized tool 可能会更方便。
幸运的是,post段塞作为普通字符串存储在post_name
字段,因此删除尾部连字符的查询非常直观:
UPDATE wp_posts SET post_name = TRIM(TRAILING "-" FROM post_name) WHERE post_name LIKE "%-"
由于直接SQL查询避免了所有形式的检查和平衡,因此在执行任何数据库更改查询之前,备份数据库是谨慎的。
通过服务器配置进行链接重定向(Link Redirection via Server Configuration)由于此内容似乎已经存在了一段时间,并且您可能有用户试图使用旧的、以连字符结尾的URL访问它,因此您可能需要将重写规则添加到.htaccess
文件(或等效文件),以便将旧URL重定向到新的无连字符对应URL:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)-$ $1 [QSA,R=301,L] # Redirect requests to hyphen-terminated URLs
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
这可能需要修改以适应安装的配置。请注意,它将干扰依赖于非文件系统、以连字符结尾的URL(如果存在)的任何其他功能。