Page Get参数不适用于is_Single()函数

时间:2021-06-27 作者:MT09

如果博客帖子中存在页面参数,我必须重定向到404页面,而不是当前的帖子URL。我尝试检查当前页面类型(单数),并尝试在函数中获取页面参数。php,但我不能。它不能一起工作。我只需要为博客帖子实现它。如果可能的话。htaccess重定向也很好

我尝试过这个代码,但它不起作用。但它在没有is\\u单一功能的情况下工作。使用is\\u single函数时,page参数不返回。

Url示例:www.example.com/this-is-my-first-post?page=2www.example.com/p=22?page=2

谢谢你的帮助。它不起作用了

add_action(\'send_headers\', \'post_page_param_404_redirect\');
function post_page_param_404_redirect() {
        global $wp_query;
        if (is_single() && isset($_GET[\'page\'])) {
                $wp_query->set_404();
                status_header(404);
                get_template_part(404);
                exit();
        }
}
当我不使用is\\u single函数时,它适用于所有页面,但我只需要用于博客帖子

add_action(\'send_headers\', \'post_page_param_404_redirect\');
function post_page_param_404_redirect() {
        global $wp_query;
        if (isset($_GET[\'page\'])) {
                $wp_query->set_404();
                status_header(404);
                get_template_part(404);
                exit();
        }
}

1 个回复
最合适的回答,由SO网友:Altkov 整理而成

事实是send_headers 操作正在处理$wp_query 尚未准备好,您无法使用is_single() 作用但你可以稍后再使用它。有一个parse_query 行动,这可以帮助你。当$wp_query 准备好了,在send_headers 行动

相关推荐

WP_safe_redirect not working

而不是Divi主题中的项目档案/project_category/[category name]/ 我想让他们去/portfolios/#[category name].我修改了以下代码this question 并将其添加到我的孩子主题中functions.php 文件function my_category_redirect() { if ( is_category( ) ) { $category = get_queried_object();