-
2006/04/04 12:47 오후 #1277
3월 31일 오후에 달력이 4월달로 표시가 되어, 코드를 보던중
current_time() 함수(wp-includes/functions.php의 50라인에서 63라인에 위치)중에서function current_time($type, $gmt = 0) {
를
function current_time($type, $gmt = 9) {
로 변경함으로써 문제를 해결한 줄 알았습니다.
관련링크 http://cys.kr/wp/2006/03/31/32/
그런데 방명록을 설치하고 테스트 하다가 보니까 글 작성시간이 gmt는 0이 적용된 시간으로 표시가 되더군요. 이상하다 싶어 좀더 확인해보니 포스트랑, 코멘트가 다 그렇게 되어 있었습니다. 그래서 다시 위에서 고칠걸 원래대로 하니까 포스트랑 코멘트는 제대로 표시가 됩니다.
아마도 매달 말일에 달력이 이상하게 표시될 것 같은데, 혹시 저와 같은 경험을 하신 분이나 해결책을 아시는 분이 계시면 좀 알려주시면 고맙겠습니다.
존하루되세요..
2006/04/04 12:47 오후 #12863월 31일 오후에 달력이 4월달로 표시가 되어, 코드를 보던중
current_time() 함수(wp-includes/functions.php의 50라인에서 63라인에 위치)중에서function current_time($type, $gmt = 0) {
를
function current_time($type, $gmt = 9) {
로 변경함으로써 문제를 해결한 줄 알았습니다.
관련링크 http://cys.kr/wp/2006/03/31/32/
그런데 방명록을 설치하고 테스트 하다가 보니까 글 작성시간이 gmt는 0이 적용된 시간으로 표시가 되더군요. 이상하다 싶어 좀더 확인해보니 포스트랑, 코멘트가 다 그렇게 되어 있었습니다. 그래서 다시 위에서 고칠걸 원래대로 하니까 포스트랑 코멘트는 제대로 표시가 됩니다.
아마도 매달 말일에 달력이 이상하게 표시될 것 같은데, 혹시 저와 같은 경험을 하신 분이나 해결책을 아시는 분이 계시면 좀 알려주시면 고맙겠습니다.
존하루되세요..
2006/04/04 3:31 오후 #1278function current_time($type, $gmt = 0) {
중에서 $gmt = 0 값은 고정된것이 아니구요 기본값입니다.
함수를 사용할때 값을 넣어주시면 그 값으로 적용됩니다.
문제가되는 함수를 출력하는곳에서
$time = current_time('mysql', '9');
처럼 사용하시면 됩니다. 보통 기본값만 사용하는 곳에서는
$time = current_time('mysql')
처럼 $gmt값을 제외하고(자동으로 기본값 0이 적용됨) 사용하기때문에 그런 현상이 일어날 수 있습니다.
2006/04/04 3:31 오후 #1287function current_time($type, $gmt = 0) {
중에서 $gmt = 0 값은 고정된것이 아니구요 기본값입니다.
함수를 사용할때 값을 넣어주시면 그 값으로 적용됩니다.
문제가되는 함수를 출력하는곳에서
$time = current_time('mysql', '9');
처럼 사용하시면 됩니다. 보통 기본값만 사용하는 곳에서는
$time = current_time('mysql')
처럼 $gmt값을 제외하고(자동으로 기본값 0이 적용됨) 사용하기때문에 그런 현상이 일어날 수 있습니다.
익명손님@2006/04/05 12:58 오전 #1280워드프레스 포럼에 보니 "gmt_offset"값을 get_calendar() 에서 두번 적용하는 현상때문에 문제가 일어날 수 있다고 하네요.
서버시간과 UTC Time 사이에 문제가 있을경우 발생 할 수도 있는 경우라고 하는데, 저는 달력을 사용해보질 않아서 잘은 모르겠습니다.
우선 관리자메뉴-설정(opitons)에서 "Times in the weblog should differ by:" 의 값을 우리나라에 맞게(9) 입력하셨다면 get_calendar() 함수를 아래와 같이 수정해 보세요.
template-functions-general.php파일의 436번째줄(wp2.0.2기준)부근을 수정하시면 됩니다.
} else {
$thisyear = gmdate('Y', current_time('timestamp') + get_settings('gmt_offset') * 3600);
$thismonth = gmdate('m', current_time('timestamp') + get_settings('gmt_offset') * 3600);
}
$unixmonth = mktime(0, 0 , 0, $thismonth, 1, $thisyear);와 같은 부분을 찾아서
} else {
$thisyear = gmdate('Y', current_time('timestamp'));
$thismonth = gmdate('m', current_time('timestamp'));
}
$unixmonth = mktime(0, 0 , 0, $thismonth, 1, $thisyear);이렇게 바꿔주시면 됩니다.
수정하시기 전에 먼저 백업하시는것 잊지 마시구요. 이 방법으로 해결이 되었으면 합니다. 🙂
익명손님@2006/04/05 12:58 오전 #1289워드프레스 포럼에 보니 "gmt_offset"값을 get_calendar() 에서 두번 적용하는 현상때문에 문제가 일어날 수 있다고 하네요.
서버시간과 UTC Time 사이에 문제가 있을경우 발생 할 수도 있는 경우라고 하는데, 저는 달력을 사용해보질 않아서 잘은 모르겠습니다.
우선 관리자메뉴-설정(opitons)에서 "Times in the weblog should differ by:" 의 값을 우리나라에 맞게(9) 입력하셨다면 get_calendar() 함수를 아래와 같이 수정해 보세요.
template-functions-general.php파일의 436번째줄(wp2.0.2기준)부근을 수정하시면 됩니다.
} else {
$thisyear = gmdate('Y', current_time('timestamp') + get_settings('gmt_offset') * 3600);
$thismonth = gmdate('m', current_time('timestamp') + get_settings('gmt_offset') * 3600);
}
$unixmonth = mktime(0, 0 , 0, $thismonth, 1, $thisyear);와 같은 부분을 찾아서
} else {
$thisyear = gmdate('Y', current_time('timestamp'));
$thismonth = gmdate('m', current_time('timestamp'));
}
$unixmonth = mktime(0, 0 , 0, $thismonth, 1, $thisyear);이렇게 바꿔주시면 됩니다.
수정하시기 전에 먼저 백업하시는것 잊지 마시구요. 이 방법으로 해결이 되었으면 합니다. 🙂
2006/04/09 1:45 오후 #1282아.. 말씀하신 에러가 맞다면.. 확인은 꼭 말일이 아니더라도 가능할겁니다..
우리나라 시간으로 밤 12시가 넘어서 다음날이 되었는데, 아직 워드프레스 달력에서 이전 날짜로 표시된다면 해결되지 않은겁니다. ^^;
2006/04/09 1:45 오후 #1291아.. 말씀하신 에러가 맞다면.. 확인은 꼭 말일이 아니더라도 가능할겁니다..
우리나라 시간으로 밤 12시가 넘어서 다음날이 되었는데, 아직 워드프레스 달력에서 이전 날짜로 표시된다면 해결되지 않은겁니다. ^^;
-
AuthorPosts
- 답변은 로그인 후 가능합니다.