Categories
블로그 관리일지

모바일 Page Cache 문제 수정

친구가 덧글을 달아준 덕분에 문제를 확인할 수 있었다.. (그동안 덧글이 없어 확인하지 못했다는 슬픈 이야기).
문제를 일으킨 것은 페이지를 캐쉬해주는 W3 Total Cache와 모바일 웹 페이지를 구성해주는 WPtouch. 모바일에서 접속하면 WPtouch가 자동으로 모바일에 최적화된 웹 페이지를 보여주는데, 아래에는 모바일-PC 전환 버튼이 있어, 원하면 PC 버전을 볼 수 있게 해주었다. 그런데 W3 Total Cache가 캐쉬된 페이지를 계속 보여주기 때문에 이 동작이 제대로 동작하지 않고 있었다.
결국 W3 Total Cache 플러그인의 Page Cache – Advanced 메뉴에서 Rejected User Agents 항목에 아래 세 줄을 추가해주었다.

  • iPhone
  • Android
  • iPad

모바일에서 접속했을 때는 Page Cache를 사용하지 않도록 설정하고 나니 원하는 대로 정상동작하였다.

Categories
개발(Development)

모바일 WPtouch에서 Skip to comments 링크를 Disqus로 연결하기

뭔가 굉장히 어려운 제목이다. 상황은 이렇다. WordPress 블로그를 모바일 환경에 적합하게 보여주는 WPtouch 라는 플러그인이 있다. 아이폰에서 보여지는 화면이 대략 아래와 같다.

제목 아래에 보면 “↓ Skip to comments”라는 링크가 있다. 해당 링크를 누르면 본문을 건너띄고 바로 댓글을 달 수 있는 곳으로 화면을 이동시켜준다. WordPress에서 제공하는 댓글 시스템을 그대로 이용하고 있다면 아무런 문제가 없을 것이다. 하지만 Disqus라는 소셜댓글시스템을 블로그에 설치했다면 위 링크가 동작하지 않는 것을 알 수 있다. 매번 수동으로 스크롤을 내려서 이동해야 하기 때문에 사람에 따라 불편할 수 있는 부분이다. 그래서 해당 부분을 수정하기로 했다.
수정을 위해서는 WPtouch 플러그인의 테마(Theme) 폴더로 접근을 해야한다. WordPress의 플러그인 에디터에서는 테마 폴더가 보이지 않아서 FTP 프로그램을 이용해 접근했다. 보통 Default 테마를 사용하기 때문에 해당 위치로 이동하여 포스트 영역을 담당하는 Single.php 파일을 연다.

해당 파일을 살펴보면 skip to comment 링크를 추가하는 소스를 찾을 수 있다. 해당 부분을 다음과 같이 변경해준다.

원본 소스. 현재 #dsq_add_new_comment 로 링크가 걸려있다.

수정한 소스. #disqus_thread 로 링크를 변경해준다.

이 문제는 Disqus의 HTML이 dsq_add_new_comment을 사용하다가 disqus_thread로 변경됐기 때문에 생기는 문제 같다(추측임). WPtouch 개발자가 수정해주기 전까지는 위와 같은 방법으로 조치를 취해줘야 할 것 같다.