为了账号安全,请及时绑定邮箱和手机立即绑定

WP v-5.5 $_GET 参数在我的插件中不起作用

WP v-5.5 $_GET 参数在我的插件中不起作用

PHP
慕标琳琳 2023-10-01 17:10:09
我开发了一个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”或类似格式相同。我的建议是尝试使用不同的获取密钥,看看会发生什么。

让我知道你得到了什么。


查看完整回答
反对 回复 2023-10-01
?
慕仙森

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 重定向。


我已经使这个“解决方法”可配置,因为页面参数实际上用于博客中的分页。在您的情况下,您应该仅在参数不是数字时应用此选项,以确保您不会破坏全局分页!


查看完整回答
反对 回复 2023-10-01
  • 2 回答
  • 0 关注
  • 103 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信