2011-05-14 7 views
0

내 WordPress 축소판에서 CSS 스프라이트를 만들려고합니다. 9 개의 미리보기 이미지가 있으며 모든 것이 잘 작동합니다. 그러나 add_action('publish_post','make_sprite');을 사용하여 함수를 포함하면 오류가 발생합니다. 게시물 게시를 시도 할 때 오류가 발생합니다.WordPress headers 문제

오류 :

경고 : 헤더 정보를 수정할 수 없습니다 - 이미가 보낸 헤더 (출력 /home/softsail/public_html/wp-content/themes/ss3/includes/imgtest.php에서 시작 : 41) 광고에 /home/softsail/public_html/wp-includes/pluggable.php 897

답변

1

[가짜 않음]. 하지만 언제든지 질문에 플래그를 달고 WP 대신 구체적인 조언을 위해 WP.SE으로 이동할 수 있습니다. 귀하의 질문에 충분한 컨텍스트가 없습니다.

귀하의 add_action 함수는 일부 header()을 전송해야합니다. 이미 일부 출력을 만들었 으면 실패합니다. 그게 바로 headers already sent이며, 여기 보이는 경우입니다. 예를 들어 템플릿에서 사용할 수 없습니다.

는 출력을 돌려주는 경우, 일반적인 해결 방법은 (WP의 문서를 읽을 귀찮게하지 않았다) :

<?php 
$later_html = add_action(".."); 

그리고 당신이 실제로 필요할 때 그 결과를 인쇄 :

<template> 
<?php print $later_html; ?> 
... 

어쨌든 일 전으로 부르기 만하면됩니다. 당신이 실제로 (pluggable.php on line 897 확인) 헤더 출력을 필요로하지 않는 경우에, 당신은 단지 그것을 억제 할 수 있습니다 :이 경우

@(add_action('publish_post','make_sprite')); 

가능성이없는 더 나은 옵션을 선택합니다.