WP v-5.5 $_GET 参数在我的插件中不起作用
WP v-5.5 $_GET parameter does not work in my plugin
我开发了一个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 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)有什么问题
你能帮帮我吗?
提前致谢。
我认为您的问题出在 'page' 键上,这是一个 post 类型的 slug,它在这个版本中与 WP 产生了冲突。这与配置永久链接以使用 '?post=98979' 或类似格式相同。
我的建议是尝试使用不同的获取密钥,看看会发生什么。
告诉我你得到了什么。
我的插件也有同样的问题。
我的问题不是使用新密钥。我的客户在这里定义了“页面”。它是关于世界上所有旧链接。
我的情况是这样解决的:
add_action( 'parse_request', 'ai_parse_request', 1);
并在
function ai_parse_request( $query ) {
unset( $query->query_vars['page']);
return $query;
}
我从 $query 中删除了“page”参数以避免 301 重定向。
我已将此“解决方法”设置为可配置,因为页面参数实际上用于博客中的分页。在你的情况下,你应该只在例如该参数不是数字,以确保您不会破坏全局分页!
我开发了一个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 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)有什么问题
你能帮帮我吗?
提前致谢。
我认为您的问题出在 'page' 键上,这是一个 post 类型的 slug,它在这个版本中与 WP 产生了冲突。这与配置永久链接以使用 '?post=98979' 或类似格式相同。 我的建议是尝试使用不同的获取密钥,看看会发生什么。
告诉我你得到了什么。
我的插件也有同样的问题。 我的问题不是使用新密钥。我的客户在这里定义了“页面”。它是关于世界上所有旧链接。
我的情况是这样解决的:
add_action( 'parse_request', 'ai_parse_request', 1);
并在
function ai_parse_request( $query ) {
unset( $query->query_vars['page']);
return $query;
}
我从 $query 中删除了“page”参数以避免 301 重定向。
我已将此“解决方法”设置为可配置,因为页面参数实际上用于博客中的分页。在你的情况下,你应该只在例如该参数不是数字,以确保您不会破坏全局分页!