从你的描述来看,应该就是某个插件篡改了固定链接导致的。
这个问题需要一点点定位,逐渐缩小范围。目前如果怀疑是固定链接被篡改的话,需要你在下次发生 404 的时候查看一下 wp_options 数据表中 meta_key 为 permalink_structure 的行,看看其 meta_value 字段是否就是你设置的固定链接值(对于 Nginx 来说,更新固定链接只需要改这里的值即可,所以说通过观察其值也可以直接得知是否被篡改,这不像 Apache 还需要查看 .htaccess 文件)。
如果确认是被篡改的话要么是把插件禁用挨个查,要么是用 xdebug 记录 PHP 执行堆栈,找到触发会更改固定链接的 SQL 语句的执行位置,再顺藤摸瓜向上查到具体是哪个插件搞的。不过这需要有一点点技术能力才行,我暂时没想到有什么简单的方法能查出来。