WordPress分页自定义页面重写规则

时间:2016-11-26 作者:Muhammad Umar

您好,我正在尝试为以下部分运行分页规则custom pages 正在从外部api获取数据

目前的结构类似,运行良好

http://domain.com/?page_id=55&page=2
但希望它像

http://domain.com/pagename/2
我尝试设置以下永久链接,但它不起作用

/%postname%/?page=$


/page_id=%post_id%&page=$
你能指导一下如何让它工作吗?

1 个回复
SO网友:Dan.

如果数据来自第三方,那么将规则放入WP admin面板的Permalinks部分将不起作用。

您需要编写一些代码来为分页注册自己的URL参数,以便实现干净的URL。

首先,您需要注册参数,我建议不要调用它page 因为这可能与WP的本地版本冲突。

function custom_query_vars_filter($vars) {
  $vars[] = \'pg\';
  return $vars;
}
add_filter( \'query_vars\', \'custom_query_vars_filter\' );
添加自定义查询变量后,您需要flush permalinks for WP可以获取新的自定义查询变量-要做到这一点,只需在管理面板设置中重新保存permalink结构。

然后,无论在何处输出指向包含自定义分页URL参数的URL的链接,请执行以下操作以创建链接:

add_query_arg(array(\'pg\' => 2), \'/pagename\');
然后在页面上,要获取用于API查询的页码,请执行以下操作:

get_query_var(\'pg\');
此外,您需要设置permalink 结构到post name (在管理面板设置中)如果您还没有。

相关推荐

Force pretty permalinks?

我正在构建一个插件,该插件将用于单个站点,并依赖于add_rewrite_rule 要工作,需要打开永久链接。打开它们并不困难,因为它只是一个站点,但我担心其中一个管理员可能会在不知道自己在做什么的情况下关闭它,并破坏该站点。如何以编程方式强制保持漂亮的永久链接?