Wordpress:如果变量包含单词,则为PHP重定向

时间:2018-01-30 01:11:46

标签: php wordpress

我正在尝试将用户从一个页面重定向到另一个页面,具体取决于我使用CURL请求获得的变量。在这个例子中,如果我的用户在Page1上,但变量$ result包含单词“Yes”,我希望他被重定向到Page2。

当我上传以下代码时,我的wordpress网站出现故障。

<?php
//create cURL connection
$curl_connection = 
curl_init("https://www.mywebsite2.com/{$info}");

//set options 

curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($curl_connection, CURLOPT_USERAGENT, 
  "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, 1);


//perform our request
$result = curl_exec($curl_connection);



//close the connection
curl_close($curl_connection);


$start = strpos($result, 'info1 ');

$end = strpos($result, 'end', $start);

$length = $end-$start;

$result = substr($result, $start, $length);

return $result;

//**************************************************
// Redirection on my wordpress website using $result

add_action( 'wp', 'redirect' );
function redirect() {
  if ( is_page( 'page1') && (false !== stripos($result, 
'YES') ) {
  wp_redirect(get_page_by_title( 'page1'));
  exit();
  }
  else {wp_redirect(get_page_by_title( 'page2'));
  exit();
  }
}

?>

1 个答案:

答案 0 :(得分:0)

您正在使用wp_redirect()调用函数。因此它需要';'

wp_redirect(get_page_by_title('page2'));
else{wp_redirect(get_page_by_title('page1'));

wp_redirect也需要退出。添加exit();每次重定向后。 wp_redirect documentation

<?php
add_action( 'wp', 'redirect' );
function redirect() {
  if ( is_page('page1') && (false !== stripos($result, 'YES') ) {
  wp_redirect(get_page_by_title( 'page2'));
  exit();
  }
  else {wp_redirect(get_page_by_title( 'page1'));
  exit();
}
}
?>