我正在为事件和csr事件自定义帖子类型创建库页面。
现在它有三种类型的页面:
www.example。com/gallery www.example。com/gallery/events www.example。com/gallery/csr事件我已经使用wp\\u insert\\u post通过编程为上述slug创建了页面:事件库示例:
wp_insert_post(
array(
\'comment_status\' => \'closed\',
\'ping_status\' => \'closed\',
\'post_author\' => 1,
\'post_parent\' => $page[\'parent\'],
\'post_name\' => $page[\'slug\'],
\'post_title\' => $page[\'title\'],
\'post_status\' => \'publish\',
\'post_type\' => $page[\'post-type\'],
\'page_template\' => $page[\'template\'],
)
);
因此,页面名称是gallery、events和csr events。
我已将gallery设置为父页,将events和csr events设置为gallery的子级。
然后在模板库中。php我检查$wp_query->query_vars[\'pagename\']
这给了我画廊或事件或csr事件。基于此,我编写了一个查询来获取图像。
我已经为这3个图库页面创建了一个存档列表,方法是在this plugin 以以下格式返回URL:
- http://www.example.com/gallery/2015/09
- http://www.example.com/gallery/events/2015/08
- http://www.example.com/gallery/csr-events/2015/09
对于具有自定义帖子类型的其他存档页面,它将返回:http://www.example.com/events/2015/09
和我修改了插件的重写规则,该规则适用于其他自定义帖子类型,但不适用于库页面:
$line_separated = implode( \'|\', $post_types );//works for events/
$newrules[\'(\' . $line_separated . \')/(\\d*)/(\\d*)$\'] = \'index.php?post_type=$matches[1]&m=$matches[2]$matches[3]\';
我应该在这里使用什么重写规则
http://www.example.com/gallery/events/2015/08 工作。
我试过这个
$newrules[\'gallery/events/(\\d*)/(\\d*)$\'] = \'index.php?pagename=events&m=$matches[1]$matches[2]\';
但它只是加载库/事件并删除年份和月份,我可以使用哪些重写规则加载事件页面并保留url,以便在
m
.
注意:此处的gallery不是自定义帖子类型。这只是一页。