拦截wp中的404并根据其自定义字段值重定向到帖子

时间:2018-02-17 18:50:16

标签: php wordpress

所以这是我的问题:

  1. 我有一个巨大的' (超过1000页)非wp网站,我已移植到wordpress。
  2. 无法将旧网站的网址与新网站相匹配 网站因为页面标题和一般信息架构 已经改变了
  3. 因此,在一个自定义的帖子类型中,该类型将保留“列表”列表。 (listings_cpt)我已经存储了名为old_website_url的自定义字段。
  4. 我的目标是使用template_redirect挂钩拦截404请求,因为根据我所读取的内容,在加载模板并发送实际标头之前,它似乎适合拦截404。
  5. 假设有人试图看到一个页面不存在,但其网址存在于listing_cpt帖子的old_website_url中,我可以将其重定向到保存此值的帖子固定链接。
  6. 我做了很多试验/错误的方法但没有成功。

    有人能指出我正确的方向吗? 有没有更好的方法来实现这一目标?

    提前致谢

1 个答案:

答案 0 :(得分:1)

那么你的方法应该有效。以下是您需要做的事情:

  1. 创建一个自定义404页面,其中包含所有帖子
  2. 为每篇帖子阅读其old_website_url自定义字段
  3. 如果帖子的old_website_url自定义字段与当前网址匹配,则会将用户重定向到帖子的网址。
  4. 查看WordPress documentation