首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wordpress:一个页面需要多个片段(不是自定义文章)

Wordpress:一个页面需要多个片段(不是自定义文章)
EN

Stack Overflow用户
提问于 2016-11-15 17:16:20
回答 1查看 2.1K关注 0票数 2

我正在创建一个插件。我希望在URL中传递参数,或者您可以说,我想要同一个页面的多个URL(但这将加载相同的页面,而不是重定向的)。例如:http://www.ijmsbr.boxysolutions.com/publications-of-ijmsbr/?data=2016-11 --我想要这个http://www.ijmsbr.boxysolutions.com/publications-of-ijmsbr/2016-11/结构中的URL

这些将是多个链接,如

  • 出版物-ijmsbr/2016-11/
  • 出版物-ijmsbr/2016-12/
  • 出版物-ijmsbr/2017-01/

但是所有的链接都应该加载这一页ijmsbr/的出版物。

http://www.ijmsbr.boxysolutions.com/publications-of-ijmsbr/

这是我的定制页面。我想在我的页面上得到这些参数(/2016-11/,/2016-12/)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-30 20:40:01

解析

首先,我们将添加过滤器来设置查询变量。记住,每次在数组中添加新变量时都要调用flush_rewrite_rules()。在运行flush_rewrite_rule函数之后,您可以注释或删除这一行。

代码语言:javascript
复制
function themeslug_query_vars( $qvars ) {
$qvars[] = 'jm_volume';
$qvars[] = 'jm_art_id';
$qvars[] = 'jm_author';
//flush_rewrite_rules();
return $qvars;
}
add_filter( 'query_vars', 'themeslug_query_vars' , 10, 1 );

在注册查询变量之后,我们可以添加add_rewrite_rules并将其分配给我们的URL,如下所示。记住调用flush_rewrite_rules()函数

代码语言:javascript
复制
function add_rewrite_rules($aRules) {
$aNewRules = array(
    'publications-of-ijmsbr/article/(.*)?' => 'index.php?pagename=publications-of-ijmsbr&jm_art_id=$matches[1]',
    'publications-of-ijmsbr/author/(.*)?' => 'index.php?pagename=publications-of-ijmsbr&jm_author=$matches[1]',
    'publications-of-ijmsbr/(.*)?' => 'index.php?pagename=publications-of-ijmsbr&jm_volume=$matches[1]'
);
$aRules = $aNewRules + $aRules;
//flush_rewrite_rules();
return $aRules;
}
add_filter('rewrite_rules_array', 'add_rewrite_rules');
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40615871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档