我注意到,在WordPress中的某些情况下(例如在我的自定义帖子类型中),GET变量在URL中显示如下:
www.url。com/事件/酷事件?操作=编辑(&A);消息=1
但是,在其他情况下(例如,当我指向使用重写API创建的登录“虚拟”页面时),URL如下所示:
www.url。com/登录/?操作=登录
如您所见,在第一个变量之前有一个正斜杠。这是什么原因造成的?哪一种是他们出现的正常方式?有什么功能上的区别吗?最后,假设这是有意义的,我如何才能让他们以相似的方式行事?
William更新
add_action( \'init\', \'add_virtual_page_template\' );
function add_virtual_page_template()
{
global $wp, $wp_rewrite;
$wp->add_query_var( \'template\' );
add_rewrite_endpoint( \'login\', EP_PERMALINK | EP_PAGES );
add_rewrite_rule( \'login/?\', \'index.php?template=login\', \'top\' );
$wp_rewrite->flush_rules();
}
add_action( \'template_redirect\', \'add_virtual_page_redirect\' );
function add_virtual_page_redirect()
{
global $wp;
$queryvar = get_query_var(\'template\');
if ($queryvar && $queryvar == \'login\')
{
include(site_url(\'wp-login.php\'));
exit;
}
}