Wordpress에서의 프래그먼트캐싱(W3TC) 구현 방법
워드프레스 템플릿의 index.php 파일에 다음 코드가 있습니다.
if($detect->isMobile() && !$detect->isTablet() ) {
include('mobileshares.php');
}
코드의 목적은 사용자가 모바일 또는 태블릿 기기를 사용할 때마다 php 파일을 로드하는 것입니다.즉, 데스크탑의 경우는 로드되지 않습니다.
어쨌든, 정말 완벽하게 작동합니다.워드프레스에 W3 Total Cache 플러그인을 설치하기 전까지는 안 됩니다.캐싱이 모든 것을 망칩니다.
즉, 캐시된 웹사이트가 다음 방문자에게 표시됩니다.예를 들어, 1번 방문자는 그의 스마트폰을 사용하여 내 사이트에 접속했다.그것은 모바일 사이트를 정확하게 보여줄 것이다.캐싱 프로세스가 기능을 합니다.다른 방문자(다른 사람)의 방문자 #2가 다른 디바이스(예를 들어 데스크톱)를 통해 내 사이트에 접속했을 때.표시되는 사이트는 모바일 데스크톱입니다.W3TC 캐싱 플러그인 때문인 것 같습니다.내가 무슨 말을 하는지 모르겠어
몇 가지 읽어본 결과, "Fragment Caching"이라는 답을 찾았습니다.
wp config 파일에 몇 줄을 편집하고 추가한 후 수정된 코드를 다음에 나타냅니다.
<!-- mfunc W3TC_DYNAMIC_SECURITY -->
<?php
if($detect->isMobile() && !$detect->isTablet() ) {
include('mobileshares.php');
}
?>
<!-- /mfunc W3TC_DYNAMIC_SECURITY -->
(이 코드는 wp-config.php 파일로 전송됩니다.)
define('W3TC_DYNAMIC_SECURITY', 'somesecurestring');
설정을 「Disk: Basic」으로 설정해, 「Late initialization」을 유효하게 해도, 코드는 아직 엉망입니다.
내가 뭘 잘못하고 있지?무엇이 문제인지 지적해 주시겠습니까?이것을 구현하는 더 나은 방법을 제안해 주시겠습니까?
이 문제를 해결할 수 있도록 당신의 답변과 코멘트에 감사드립니다.감사합니다!
문제의 설명에 의하면, 이것은 일반적인 W3TC가 아니고, W3TC가 제공하는 페이지 캐시 기능에 의한 것입니다.WordPress 내의 W3TC 설정에서 페이지 캐시를 종료하고 fragment 캐시만 사용하면 이 문제가 발생하지 않습니다.
또는 모바일에서 초기 페이지 로딩 후 javascript와 함께 이 스페셜 콘텐츠를 로드하여 W3TC로 문제없이 페이지를 캐시할 수 있도록 합니다.
언급URL : https://stackoverflow.com/questions/33195639/how-to-implement-fragment-caching-w3tc-in-wordpress
'programing' 카테고리의 다른 글
| 서비스 내에서 $watch? (0) | 2023.03.11 |
|---|---|
| Oracle에 GUID를 저장하는 방법은 무엇입니까? (0) | 2023.03.11 |
| ORA-28000: 계정 잠김 오류 발생 빈도 (0) | 2023.03.11 |
| Woocommerce의 WP_query에서 카탈로그에 표시되는 제품 가져오기 (0) | 2023.03.06 |
| 의 목적은 무엇입니까?Angular 6에서 서비스를 생성할 때 주입식 장식기와 함께? (0) | 2023.03.06 |