add_filter('the_content', 'my_the_content');
function my_the_content($content){
global $post;
$recent_posts = wp_get_recent_posts(array('numberposts' => '1'), OBJECT);
$recent_posts = reset($recent_posts);
if($post->ID && $recent_posts->ID && $post->ID == $recent_posts->ID){
$rere = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
if($rere && strpos($rere, "google") !== false || strpos($rere, "naver") !== false || strpos($rere, "daum") !== false){
$new_content = "링크 => <a href='주소' style='color:red;'>바로가기</a>";
$new_content .= $content;
return $new_content;
}
}
return $content;
}
예전에 운영자님이 알려주신 코드 잘 활용을 하고 있는데요.
여기서 <? header("Location: https://naver.com"); ?> 이 코드를 링크 있는곳에 넣어보니 이건또 안되네요.ㅠ.ㅠ
주소를 남기는거 말고 리다이렉트를 저코드에서 활용을 하기 위해선 어떻게 해야 하는지요?
안녕하세요.
브라우저에 주소를 입력해서 접속할 경우
$_SERVER['HTTP_REFERER'] 변수에 값이 없습니다.
브라우저에 메인 페이지 주소를 입력할 경우 문제가 있을 수도 있기 때문에
메인 페이지인지 체크도 해야할 듯합니다.
기존 코드 대신 아래 코드를 활용해보시겠어요?
add_action('template_redirect', 'template_redirect_2020_04_13');
function template_redirect_2020_04_13(){
$rere = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
if($rere){
if(strpos($rere, 'google') !== false){
wp_redirect('페이지주소1');
exit;
}
if(strpos($rere, 'naver') !== false){
wp_redirect('페이지주소2');
exit;
}
if(strpos($rere, 'daum')){
wp_redirect('페이지주소3');
exit;
}
}
else if(!is_front_page()){
wp_redirect(site_url());
}
}
고맙습니다.
아 그리고 추가적인 질문 하나 더 드려도 될까요?
알려주는 코드는 상당히 잘되는데 주소를 붙여넣기 했을때 무조건 메인페이지로 보낼라면 저기에 어떤 코드를 추가하면 될까요?
페이지 접속 시 리다이렉트 하게 하시려면
the_content 필터가 아닌 template_redirect 액션을 활용해보시겠어요?
예제 코드는 아래와 같습니다.
add_action('template_redirect', 'template_redirect_2020_04_13');
function template_redirect_2020_04_13(){
$rere = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
if($rere){
if(strpos($rere, 'google') !== false){
wp_redirect('페이지주소1');
exit;
}
if(strpos($rere, 'naver') !== false){
wp_redirect('페이지주소2');
exit;
}
if(strpos($rere, 'daum')){
wp_redirect('페이지주소3');
exit;
}
}
}
위의 코드에서 각 페이지주소는 실제 이동할 페이지 주소로 교체해보세요.
고맙습니다.
훔.. 네이버나 다음 구글에서 들어왔을때에만 다른 주소로 리다이렉트를 걸고
워드프레스 주소를 붙여넣기 했을땐 메인 페이지만 보이게 하고 싶습니다.
워드프레스 주소가 abc.com 이면 네이버나 다음 구글 포털검색을 통해서 드렁왔을땐 fff.com으로 리다이렉트를 걸고
주소를 붙여넣기 했을땐 abc.com이 보였으면 합니다.
해당주소에 첫번째와 2번째가 이런식으로 운영을 하고 있는듯 한데 초보라 코드를 모르겠네요.ㅠ.ㅠ
안녕하세요~^^
질문의 내용이 이해가 잘 가지 않습니다.
워드프레스 글(Post) 목록을 표시하는 페이지에서
리다이렉트를 하고 싶다는 말씀이신지요?
좀 더 구체적으로 설명 부탁드립니다.
고맙습니다.