Wordpress:如何将生成的URL(永久链接)转换为漂亮的URL?

时间:2010-03-20 19:33:31

标签: rewrite wordpress-plugin permalinks wordpress

在插件中,我正在生成一个分类的分页链接,
http://localhost/?cat=17&paged=5。该类别以slug和id为人所知。

有没有办法让这个URL转换为用户定义的“好永久链接”格式,
http://localhost/category/foo/page/5

(假设我们正在运行Wordpress 2.8 / 2.9 +)

编辑:由于对我想要实现的目标存在一些误解,这就是我所拥有的:

  • 类别ID
  • 页码(即该类别档案的第五页)

使用这些数据,我可以创建该页面的URL,例如http://localhost/?cat=17&paged=5,并且效果很好。这个问题具有视觉性质:如果用户启用了非常好的永久链接,那么这将不太适合。 问题是:如何从(或为)我获得的信息中获得正确的,非常永久的(即http://localhost/category/foo/page/5)?

编辑2:显然,如果用户有非常永久链接已禁用,那么就没有相当多的永久链接。我知道,这实际上不是问题的主题......目前,让我们假设用户有一个任意永久链接设置。我生成一个链接,看起来应该像用户想要的那样。

6 个答案:

答案 0 :(得分:1)

你看过WP_Rewrite吗?

答案 1 :(得分:0)

All In One SEO符合您的要求吗?我实际上以30美元的价格购买了“专业”版本,这非常值得。

答案 2 :(得分:0)

我的Wordpress安装(2.9.2)会自动执行此操作 - 规范的URL已经内置到Wordpress中一段时间​​了。也许你的插件是disabling this feature

答案 3 :(得分:0)

我猜你已经弄明白但我只是想把它拿出来给别人看。我想我了解你的情况。如果我已正确阅读您的问题,则更改管理永久链接设置不适用。

您可以获取类别ID,然后使用get_category_link()函数获取“漂亮”的永久链接。然后将分页添加到最后。

您可以爆炸永久链接以获取类别ID和分页编号,然后使用上面的步骤将它们组合在一起。

这是你在找什么?

答案 4 :(得分:0)

生成链接的正确方法是使用get_category_linkadd_query_arg

在您的示例中,以下内容可行:

$category_link = add_query_arg( array('paged' => 5), get_category_link($category->term_id));

这将生成URL,Wordpress将重定向到正确的页面。

答案 5 :(得分:-1)

查看此页面,它解释了非常好的永久链接。 http://codex.wordpress.org/Using_Permalinks

您应该在

中找到这些设置
  

Wordpress->设置 - >固定链接

我认为

  

/%类别%/%postname%

朝着你想要的方向

您也可以尝试使用htaccess重定向您的网址,以下是一些示例:

[http://]perishablepress.com/press/2008/02/06/permalink-evolution-customize-and-optimize-your-dated-wordpress-permalinks/

抱歉darf bis jetzt nur ein link posten pfft ...: - (

亲切的问候, Mahatmanich