2014-12-23 3 views
0

나는 사이트를 통해 사용자의 여행에 따라 페이지 색상이 달라지는 쿼리 문자열을 사용하는 Wordpress 사이트를 구축하고 있습니다.Wordpress 'page_link'필터에 검색어 var을 추가하면 PHP가 발생합니다. 치명적 오류

연속성을 추가하려면 다음 페이지로 현재 색 구성표를 전달하려면 페이지 링크를 필터링하고 현재 쿼리 문자열이 있으면 추가합니다. 이 코드를 통해 :

function append_query_string($url, $post) { 
    if(!empty($_GET['type'])){ 
    return add_query_arg('type', $_GET['type'], $url); 
    } elseif (is_page(array('sound', 'vfx'))) { 
    return add_query_arg('type', get_the_slug(), $url); 
    } 
} 
add_filter('page_link', 'append_query_string', 9, 2); 
add_filter('post_type_link', 'append_query_string', 10, 2); 

두 필터 모두 정상적으로 작동합니다. 메모리 문제를 일으키는 한 페이지를 제외하고 (512메가바이트이었던 나는 불행하게도 메모리 제한을 편집 한

mod_fcgid: stderr: PHP Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 93 bytes) 

도움이되지 않았다, 그것은 메모리 오류를 방지하기에 충분한 메모리를 가지고 : 나는 'page_link'필터에 의해 발생되기 아래를 좁혀 - 나는 그것을 다시 놓았다.) 나는 아직도 페이지를 보지 못했다.

나는 그것을 일으킬 수있는 것에 대한 아이디어가 부족합니다. 나는 처음으로 뭔가 잘못되었다고 생각하지만, 왜 사이트가 왜 한 페이지만으로 아름답게 기능 하는지를 이해하지 못한다.

P. 나는 'page_link'필터를

+0

@Alan 감사와 쿠키에 액세스 할 수 있습니다! 쿼리 문자열 옵션을 사용하기로 선택한 이유는 사용자가 올바른 색 구성표가 첨부 된 URL을 공유 할 수 있도록하기 위해서였습니다. – plowryonline

답변

0

를 사용하지 않도록 설정하면 해당 페이지가 동영상을 슬라이드 쇼를 만들고, 당신이 쿠키를 사용할 수 있습니다 잘 작동 :

add_action('init', 'myfunction'); 
function myfunction() { 
    // You should sanitize 'type' before using it 
    $type = $_GET['type']; 
    if(!empty($type)) { 
     setcookie('current_color', $type, strtotime('+1 day'));  
    } elseif (is_page(array('sound', 'vfx'))) { 
     setcookie('current_color', get_the_slug(), strtotime('+1 day'));  
    } 
} 

는 그런 다음 $_COOKIE['current_color']