不使用插件将页面URL重定向到主页URL

时间:2015-03-14 作者:coder

如何重定向此页面URL,http://localhost/wordpress_rnd/?page_id=2, 到主页URL,http://localhost/wordpress_rnd/, 不使用任何插件?

4 个回复
SO网友:cfx

正确的方法是使用template_redirect 通过将函数添加到functions.php:

function redirect_to_home() {
  if(!is_admin() && is_page(\'2\')) {
    wp_redirect(home_url());
    exit();
  }
}
add_action(\'template_redirect\', \'redirect_to_home\');

SO网友:paul

add_action( \'init\', function() {
    if ( 0 === stripos( $_SERVER[\'REQUEST_URI\'], \'/page_id=2\' ) ) {

       wp_redirect( home_url(), 301 );
       exit;

    }
}
将此代码放入mu插件或主题函数中。php文件

SO网友:cristian.raiber

找到页面。php(假设您已经创建了它)。在此行之后<?php get_header(); ?> 添加以下代码:

<?php if(is_page(\'2\')) {
    wp_redirect( home_url(), \'302\' ); 
} ?>
在上述代码中,is_page(\'2\') 实际上是您在示例中指定的页面ID。

SO网友:Fiaz Husyn

WP_REDIRECT 是您需要在wordpress中用于重定向的函数。它可以像这样使用:

wp_redirect( $location, $status );
exit;
//$location is required parameter. It is used to give the target url to which page will get redirected.
//$status is optional. It is used to set status code. Default is 302
您可以使用此功能将用户从一个页面重定向到另一个页面。应将其置于任一函数中。php或用于显示当前页面的模板文件。现在要在您的情况下使用它,只需将以下代码放在函数的底部。php文件

$redirectFromPageID = 2;  //Redirect from Page having ID of 2
$redirectTo = home_url(); //Redirect to Home URL

if( is_page( $redirectFromPageID ) ){
    wp_redirect( $redirectTo  );
    exit;
}

结束

相关推荐

Redirect before post page

我有一个类别的帖子列表页面。我想在未登录的用户查看帖子页面之前,将其重定向到登录页面。我尝试了wp成员插件,但没有。在wp members插件中,有一个钩子the_content() 它会更改内容,不会重定向。我如何解决这个问题?