【问题标题】:Wordpress pretty permalinks /w Pretty query parameters (For sort) via ModRewriteWordpress 漂亮的永久链接/带有漂亮的查询参数(用于排序)通过 Mod_Rewrite
【发布时间】:2014-01-30 19:43:22
【问题描述】:

我目前有可以通过索引页面(所有帖子)和类别页面查看的 wordpress 页面。

我当前的永久链接结构是“http://www.mysite.com/%postname%/”,它很简洁,我想保留。

当前示例..

首页(帖子列表) http://www.mysite.com/

类别页面(过滤的帖子列表 - 过滤类别) http://www.mysite.com/categoryname/

任何帖子列表都需要通过以下任何参数进行排序(由用户选择)...

最旧的->最新的、最新的->最旧的、昂贵的->最便宜的、最便宜的->昂贵的、最高评级的->最低评级的、最低评级的->最高评级的

我已经在 functions.php 中正确处理了所有排序,它从 GET 参数集中检索。 (最后 4 个是我已正确排序/处理的自定义元属性)

例如... http://www.mysite.com?SortBy=Newest

http://www.mysite.com/categoryname?SortBy=HighestRated

我无法使用 ModRewrite 获得正确运行的 .htaccess 文件来实现此目的....

我希望它们看起来像这些(对于上面的 2 个示例)

http://www.mysite.com/SortBy/Newest/

http://www.mysite.com/categoryname/SortBy/HighestRated

我的网络服务器在 Linux 服务器上运行 Apache。

我当前的 .htaccess 文件看起来像这样......

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

它似乎没有在做我当前的重写操作,但我认为这些操作是由 Wordpress 在其他地方处理的??

【问题讨论】:

  • 你需要WP Rewrite API。 Wordpress 使用其 api 处理所有重写规则。
  • 所以我得写个函数来做?
  • 当然可以!你应该看看add_rewrite_ruke函数。
  • 当然 - 我正在寻找任何指针!?!!对我来说没有意义
  • @MattTheNinja 你做到了吗?

标签: php wordpress .htaccess mod-rewrite


【解决方案1】:

使用 add_query_arg WordPress 函数。 WordPress 旨在拒绝任何它无法识别的 URL 查询参数。您需要告诉 WordPress 您将通过 URL 发送的新参数。

参考: http://codex.wordpress.org/Function_Reference/add_query_arg

"检索修改后的 URL (with) 查询字符串。

您可以使用此函数重建 URL 并将新的查询变量附加到 URL 查询。您还可以检索带有查询数据的完整 URL。”

【讨论】:

  • 谢谢,我仍然明白这如何回答我的问题。这似乎与创建添加了参数的链接有关。我想将查询参数更改为漂亮的 URL。如果确实这样做了,您能否提供一个像我的问题一样的示例,建议根据 WP 在该文章中给出的示例,我无法理解它(如果它是正确的)
猜你喜欢
  • 1970-01-01
  • 2013-03-26
  • 1970-01-01
  • 2015-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-25
相关资源
最近更新 更多