2015-10-18 8 views
14

Così ho questo codice nel mio file index.php nel mio modello wordpress: scopoCome implementare caching dei frammenti (W3TC) in Wordpress

if($detect->isMobile() && !$detect->isTablet()) { 
    include('mobileshares.php'); 
} 

I codici è quello di caricare un file php ogni volta che l'utente è utilizzando un dispositivo mobile o tablet. Ciò significa che non verrà caricato se è desktop.

In ogni caso, funziona davvero perfettamente. NON FATTO Ho installato il plug-in W3 Total Cache nel mio wordpress. Il caching fa scomparire tutto.

ciò significa che il sito Web che è stato memorizzato nella cache verrà mostrato al visitatore successivo. Ad esempio, il visitatore n. 1 ha effettuato l'accesso al mio sito utilizzando il suo smartphone. mostrerà il sito mobile correttamente. quindi il processo di caching farà il suo lavoro. quando un altro visitatore (persona totalmente diversa), il visitatore n. 2, ha effettuato l'accesso al mio sito tramite un diverso dispositivo (diciamo) desktop. il sito che verrà mostrato sarà il desktop mobile. Credo che sia a causa del plugin di caching del W3TC. non sono sicuro che abbia senso qui.

Così ho fatto alcune letture e ho trovato uno answer che è Framment Caching.

Dopo la modifica e l'aggiunta di poche righe nel mio file di configurazione wp: Ecco il mio codice rivisto ora:

<!-- mfunc W3TC_DYNAMIC_SECURITY --> 
    <?php 

     if($detect->isMobile() && !$detect->isTablet()) { 
      include('mobileshares.php'); 
     } 
    ?> 
<!-- /mfunc W3TC_DYNAMIC_SECURITY --> 

(Questo codice va a wp-config.php file di)

define('W3TC_DYNAMIC_SECURITY', 'somesecurestring'); 

Ho impostato le mie impostazioni su "Disk: Basic" e abilitato "Late initialization", il codice è ancora incasinato!

Cosa sto sbagliando? Potresti per favore indicare cosa c'è che non va? Puoi suggerire un modo migliore per implementare questo?

Apprezzo tutte le vostre risposte/commenti in modo da poter risolvere questo problema. Grazie!

+0

Potresti aggiungere alcuni dettagli relativi a "Il caching fa scomparire tutto". ? – sitilge

+0

Immagino che abbiate verificato anche che non state minimizzando o ignorate mfunc? E come note @sitilge, è necessario fornire maggiori dettagli. –

+0

dispiace per quello. ho aggiornato la domanda. –

risposta

1

In base alla descrizione del problema, questo non è causato da W3TC in generale, ma dalla funzionalità di Page Cache fornita da W3TC. Nelle impostazioni W3TC di WordPress, spegni la cache della pagina e utilizza solo la cache dei frammenti e non avrai questo problema.

Oppure caricare questo contenuto speciale con javascript dopo il caricamento iniziale della pagina sui dispositivi mobili in modo che la pagina possa essere memorizzata nella cache con W3TC senza causare problemi.

Problemi correlati