php - 如何手动将 Wordpress 永久链接从 id 更改为页面名称
问题描述
我正在修复一个不更新但保持相同状态的旧 wordpress 网站。它创建于 2012 年。多年来,托管公司自动更新了 PHP 和 Wordpress,并破坏了该网站。
我需要网站处于 2012 年的状态,以便一切正常。我已将 Wordpress 版本回滚到 3.3.1,并在网站上运行 PHP 5.4。
某些功能在该站点上再次起作用,这很好。但是,管理面板的作用不如管理菜单出现,但是当您单击选项卡时,它在右侧是空白的。如果你知道如何解决这个问题,请告诉我。错误记录似乎不会产生任何线索。
我的问题是,在回滚时,永久链接已经回到他们的 ID 路由而不是页面名称路由。我需要它们作为页面名称路由,但由于管理菜单已损坏,我必须在 functions.php 中创建一些重写规则来实现这一点。
有人可以告诉我在这上面写什么。我不熟悉重写规则。
解决方案
这应该是不言而喻的,但在尝试之前确保你有一个备份!
我自己没有尝试过,我不确定自 3.3.1 以来发生了多少变化,但这是我会做的:
在wp_options表的option_name列下找到permalink_structure条目。
将option_value修改为您要使用的结构。例如
/%postname%/
要刷新主题中的永久链接或重写规则,您需要使用该
flush_rewrite_rules()
功能。将函数添加到您的 functions.php 文件并刷新页面,然后将其注释掉 - 您只需运行一次。确认
.htaccess
重写规则到位:
# BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress
希望,应该就是这样!
推荐阅读
- swift - SwiftUI 多定时器管理
- windows - 在 Windows 上使用 Docker Compose 的 Kong:无法加载上游的初始列表:无法从节点缓存中获取:无法获取回调锁
- powershell - 为什么将powershell 7设置为默认值时,ansible win_shell模块使用powershell 5?
- c - 简单的 C 程序使用
方法未运行 - r - 如何从列的特定部分找到最大值(行)?
- python - 将包含嵌套列表列表的字典转换为 df
- sql - 如何在没有找到行的删除后有条件地更新/插入?
- python - Python多线程:SystemError:内部例程的空参数
- c# - 使用 Prism 设置对话框的尺寸和位置时出现问题
- firebase - FlutterFire 更新 Array 而不是替换它