我正在尝试将用户从一个页面重定向到另一个页面,具体取决于我使用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();
}
}
?>
答案 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();
}
}
?>