【问题标题】:WordPress : Change %post_id% in permalink by a constant. Possible ?WordPress:将永久链接中的 %post_id% 更改为常量。可能的 ?
【发布时间】:2014-05-21 18:40:07
【问题描述】:

我的任务是将 Joomla 1.0 的内容、类别和其他内容迁移到最新的 WordPress。一切都很顺利,几个 PHP 脚本,有点摆弄 MySQL。但随后,意想不到的问题出现了。我必须更改永久链接:

$sitename/content/view/$post_id/$menu_id

变量来自 Joomla,与 WordPress 无关。我通过 DB 中的 post_name 解决了 $menu_id 的问题。但是现在我也必须更改$post_id,因为它被精确地移动了 44(虽然 42 会更好:),因为首先添加了类别。

所以最后的问题是:我可以以某种方式从我的永久链接设置中的%post_id% 中减去 44 吗? (比如“content/view/(%post_id% - 44)/”)或者可能是 WordPress 代码中的一个小改动?

谢谢。

【问题讨论】:

    标签: php wordpress permalinks


    【解决方案1】:

    我没有看到任何简单的方法来做你想做的事(除了破解 Wordpress 核心,恕我直言,这是一个好主意)。

    如果您使用 Apache 网络服务器并且没有成千上万的帖子,您可以编写一堆 apache 重写规则(在 .htaccess 文件或虚拟主机文件中)来为您处理此重定向。 in this post 描述了一个类似但我必须承认更简单的问题的解决方案。

    即使使用该解决方案(或破解 wordpress 核心),您也会面临其他问题,例如:

    • 如果用户请求 1 到 44 之间的帖子 ID 怎么办?
    • 您将如何显示帖子永久链接?当您显示帖子永久链接时,您必须将 44 添加到帖子 ID,以便之后可以通过您的 hack 减去该数量并重定向到好帖子。

    这就是我现在想到的,但我几乎可以肯定,如果你这样做,还会有其他副作用,因为 ID 随处可见。

    这对您来说是可能的,我强烈建议您重新执行迁移过程,并保持 ID 与您的旧数据库一致。即使需要一些时间,它也会非常非常容易处理和维护。

    【讨论】:

    • 感谢您的回答,我考虑了所有事情并决定在数据库中移动一些类别和文章,结果出乎意料地好,并且可以正常工作。主要问题是,我不能发生任何 301 重定向(当然是客户的词-> 法律),而 .htaccess 可能会发生。因此,如果有人要求将内容从 joomla 1.0 移动到任何内容,请逃跑:)
    猜你喜欢
    • 2010-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-16
    • 2015-05-20
    • 2014-05-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多