首页 > 解决方案 > WP v-5.5 $_GET 参数在我的插件中不起作用

问题描述

我开发了一个 wordpress 插件。在我的插件中,我通过获取参数来管理所有页面,(http://example.com/client-portal/?page=dashboard)并且它一直工作到 wordpress 5.4 版

但是新版 wordpress 5.5 版中会自动重定向http://example.com/client-portal/?page=dashboardhttp://example.com/client-portal/. 获取参数自动消失。

我通过这种方式添加了简码 -

//page short code for user page
add_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)有什么问题。

请问你能帮我吗?

提前致谢。

标签: phpwordpresswordpress-plugin-creation

解决方案


我相信您的问题在于“页面”键,这是一个帖子类型的 slug,它在此版本中与 WP 产生冲突。这与将永久链接配置为使用 '?post=98979' 或类似格式相同。我的建议是尝试使用不同的获取密钥,看看会发生什么。

让我知道你得到了什么。


推荐阅读