我有一个名为myalbums
的自定义帖子类型,因此归档页面的网址为http://mysite/gallery
(我在其创建时添加了'rewrite' => ['slug' => 'gallery']
。
所以,我希望有一个像http://mysite/gallery/special
这样的替代网址来查看相同的网页,但只需要一些过滤器。在一个页面上,您可以看到一些专辑,另一方面,您可以看到其他人。
我该怎么办?我怎么知道用户何时在其中一个上?
PS。我使用Timber Wordpress
答案 0 :(得分:0)
创建页面模板并使用WP_Query返回该页面上的自定义帖子。然后,您可以添加一个AJAX过滤器来隐藏/显示帖子。我不会为您编写完整的代码,但这里是WP_QUERY文档的开头,以显示您的帖子。
SitemapGenerator::create('https://localhost:90/')->writeToFile('sitemap.xml');
答案 1 :(得分:0)
我刚刚使用了这样的重写api:
add_filter('query_vars', 'add_query_vars');
function add_query_vars($aVars) {
$aVars[] = "my-var";
return $aVars;
}
add_filter('rewrite_rules_array', 'add_rewrite_rules');
function add_rewrite_rules($aRules) {
$aNewRules = array('gallery/special/([^/]+)/?$' => 'index.php?post_type=myalbums&my-var=$matches[1]');
$aRules = $aNewRules + $aRules;
return $aRules;
}
无法访问http://mysite/gallery/special/anything
此请求转到archive.php
文件,我可以让var只调用$wp_query->query_vars['my-var']
。