我开发了一个wordpress插件。在我的插件中,我通过获取参数来管理所有页面,例如(http://example.com/client-portal/?page=dashboard),它一直工作到 WordPress 版本 5.4但新版本的 WordPress 5.5 版会自动重定向http://example.com/client-portal/?page=dashboard到http://example.com/client-portal/. 获取参数自动消失。我通过这种方式添加了短代码 -//page short code for user pageadd_shortcode( 'ccgclient_portal', array($this,'ccgclient_portal_shortcode_func') );这是我的简码功能 -function ccgclient_portal_shortcode_func(){ ob_start(); include_once 'pages/user/index.php'; return ob_get_clean();}并通过 - 获取参数if(isset($_GET['page']) && $_GET['page'] == 'dashboard'){ include_once 'dashboard.php';}不知道新版本的wordpress(5.5)有什么问题。请问你能帮我吗?提前致谢。
2 回答
不负相思意
TA贡献1777条经验 获得超10个赞
我相信您的问题与“页面”键有关,这是一个帖子类型的标题,它与此版本中的 WP 产生冲突。这与配置永久链接以使用“?post=98979”或类似格式相同。我的建议是尝试使用不同的获取密钥,看看会发生什么。
让我知道你得到了什么。
慕仙森
TA贡献1827条经验 获得超7个赞
我的插件也有同样的问题。我的问题不是使用新密钥。我的客户在这里定义了“页面”。这是关于世界各地所有旧链接的。
我的情况是这样解决的:
add_action( 'parse_request', 'ai_parse_request', 1);
并在
function ai_parse_request( $query ) {
unset( $query->query_vars['page']);
return $query;
}
我从 $query 中删除了“page”参数以避免 301 重定向。
我已经使这个“解决方法”可配置,因为页面参数实际上用于博客中的分页。在您的情况下,您应该仅在参数不是数字时应用此选项,以确保您不会破坏全局分页!
- 2 回答
- 0 关注
- 103 浏览
添加回答
举报
0/150
提交
取消