2016-10-18 4 views
0

게시 제목을 HTTP 헤더로 설정하려고합니다. I합니다 (->ID 옵션 및없이) 아래 코드의 변화와 아무것도 출력의 숫자를 시도했습니다 또는 I는 Trying to get property of non-object in 오류 얻을 :기능에서 Wordpress 게시 제목

is_admin() || add_action('send_headers', function(){ 
    global $post; 
    $title = get_the_title($post->ID); 
    header('X-IC-Title:' . $title); 
}, 1); 
+0

"아무것도 인쇄하지 않는다"는 것을 의미합니까? HTTP 헤더는 브라우저에 인쇄되지 않습니다. 요청에 추가 된 헤더가 표시되지 않는다는 것을 의미합니까? – maiorano84

+0

질문을 설명하십시오. –

+0

@ maiorano84 제 용어에 대한 사과. 예, 요청한 HTTP 헤더가 표시되지 않습니다. – Mike

답변

1

귀하의 코드는 실제로 매우 가까운입니다.

모든 동작 후크 중 this list을 살펴보면 Wordpress 개체가 완전히 설정되기 전에 send_headers 동작이 발생하는 것을 알 수 있습니다.

이것은 Wordpress 전역 변수를 참조하는 일반적인 개체와 함수가 수명주기의이 시점에서 작동하지 않는다는 것을 의미합니다. 포스트 관련 데이터를 검색 할 수 있도록 나중에 실제로 코어에 연결해야합니다.

is_admin() || 체크 표시가있는 이유를 모르겠습니다. add_actiontrue (Source)의 부울 값을 차례로 반환하는 add_filter (Source)에 대한 호출을 반환합니다.

단락이 여기에 당신에게 어떤 소용이 없을 것이다, 그래서 나는 다음 코드를 수정 한 : 나는 농가 서버에 깨끗한 암반 설치에서이 테스트 한

add_action('wp', function(){ 
    global $post; 
    $title = get_the_title($post->ID); 
    header('X-IC-Title:' . $title); 
}, 1); 

을 네트워크 출력 (스크린 샷 첨부)에 새 헤더가 표시됩니다.

Bedrock Test

는 희망이 도움이!