我创建了一个独特的单一帖子模板,让人们可以选择使用他们通过此链接访问的很棒的“reveal.js”来阅读某个类别的所有帖子
<a href="?show=presentation/">presentation</a>
问题是丑陋的URL,最终看起来像
website.com/post-name/?show=presentation
website.com/completely-different-post-name/?show=presentation
我希望他们看起来像
website.com/post-name/presentation/
website.com/completely-different-post-name/presentation/
我已经花了大约10个小时试图弄明白这一点(我甚至还没睡觉,哈哈);不幸的是,什么都没起作用。
有没有办法做到这一点?
作为补充说明,我尝试在其上执行此操作的网站安装在子目录(localhost/wp)中,但我正在为我的实际网站开发此功能,该网站安装在顶级目录中
最合适的回答,由SO网友:Milo 整理而成
您可以通过Rewrite API\'sadd_rewrite_endpoint
:
function wpa89344_add_presentation_endpoint(){
add_rewrite_endpoint( \'presentation\', EP_PERMALINK );
}
add_action(\'init\', \'wpa89344_add_presentation_endpoint\');
然后,在模板中或任何区分演示文稿与普通视图的地方,检查全局
$wp_query
致
presentation
查询变量:
global $wp_query;
if( isset( $wp_query->query_vars[\'presentation\'] ) ){
include(TEMPLATEPATH . "/single_wide_report.php");
} else {
include(TEMPLATEPATH . "/single_normal_report.php");
}
请注意,在添加端点以刷新永久链接并创建新的重写规则后,需要访问永久链接设置页面。
编辑-输出$wp_query
在里面single.php
: