programing

Wordpress에서의 프래그먼트캐싱(W3TC) 구현 방법

newnotes 2023. 3. 11. 09:24
반응형

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

반응형