A Look Into: Creazione di una query WordPress personalizzata
Oggi daremo un'occhiata a WordPress Query . Anche se WordPress ha documentato la sua funzione di interrogazione, è molto intimidatorio e probabilmente poco pratico immergersi in ciascuna delle sezioni. Questa è la scorciatoia di cui hai bisogno.
In questo post discuteremo alcuni suggerimenti pratici sull'applicazione di WordPress Query che potrebbe essere necessario utilizzare frequentemente sul tema.
WP_Query di base
In breve, WP_Query
è una classe che richiede post e pagine WordPress. Possiamo creare una nuova classe WP_Query
in un tema WordPress per interrogare post (o pagine) in specifiche personalizzate.
Per prima cosa, diamo un'occhiata all'indice index.php
all'interno della directory dei temi; dovresti trovare il seguente pezzo di codice.
Si chiama Loop. Per impostazione predefinita mostra tutti i post che sono stati pubblicati.
Vediamo come possiamo personalizzarlo con WP_Query
. In questo esempio, escluderemo i post da una categoria specifica.
Per prima cosa, impostiamo una nuova WP_Query
in una variabile.
$ my_query = new WP_Query ();
Al suo interno, possiamo assegnare l'ID della categoria che vogliamo escludere. Per esempio:
$ my_query = new WP_Query ('cat = -1, -5'); // esclude le categorie 1 e 5
Quindi, ci riferiamo alla variabile all'interno del Loop, come segue.
have_posts ()): while ($ my_custom_query-> have_posts ()): $ my_custom_query-> the_post (); ?>
Nota che quando hai più query personalizzate, in particolare all'interno di una singola pagina, devi includerla con wp_reset_postdata()
.
Assegnazione di query con WP-PageNavi
WP-PageNavi è probabilmente il plugin più popolare per aggiungere una paginazione numerata in WordPress. La maggior parte delle persone tuttavia incontra un errore quando lo usa insieme a WP_Query
personalizzato. L'impaginazione semplicemente non funzionerà .
Dalla versione 2.74, WP-PageNavi ha fornito un'opzione in cui è possibile assegnare una query personalizzata. Prendendo la query personalizzata sopra come nostro esempio, possiamo fare quanto segue:
wp_pagenavi (array ('query' => $ my_query));
... e questo dovrebbe risolvere l'errore.
Cache Query
Va notato che quando si hanno più query, in particolare su una singola pagina, si avranno più carichi del server che potrebbero influire sul rendimento del carico del sito.
Uno dei modi per ottimizzarlo è l'utilizzo dell'API transitoria. In questo caso, lo usiamo per memorizzare nella cache l'oggetto interrogato da WP_Query
e memorizzarlo in un determinato periodo di tempo.
In questo modo, possiamo accelerare i tempi di caricamento delle query recuperando ed elaborando i dati memorizzati nella cache anziché interrogarli ogni volta che viene caricata la pagina.
Ecco un esempio di codice, in cui la cache viene archiviata per 24 ore.
if (! ($ my_query = get_transient ('my_query_cache'))) {$ my_query = new WP_Query ('cat = -1, -5'); set_transient ('my_query_cache', $ my_query, DAY_IN_SECONDS); }
Incartare
Con WP_Query
, possiamo creare query semplici o più complesse. Se scrivere un WP_Query
personalizzato WP_Query
sembra complicato, c'è uno strumento chiamato WP_Query Generator che renderà tutto più semplice.
Spero che questo suggerimento sia utile, e se vuoi approfondire ulteriormente questo argomento, di seguito alcuni riferimenti:
- WordPress Loop - WordPress Codex
- WordPress Query - WordPress Codex
- 4 modi per effettuare il ciclo con WordPress - DigWP
- Metodi di memorizzazione nella cache fai-da-te con WordPress
10 Fatti casuali su San Valentino Probabilmente non lo sapevi
San Valentino arriverà presto e lo scambio obbligatorio di rose, cioccolatini, cene e rituali della data inizieranno a metà febbraio. Nel frattempo mi viene lanciata una sfida per scrivere circa 10 cose interessanti che non sapevo di San Valentino.La cattiva notizia è che non posso scrivere delle solite cose come il nome di San Valentino o il colore o il numero di rose in un mazzo simboleggia. L
I video e i titoli dei video di YouTube possono essere tradotti
Due anni fa, YouTube ha introdotto un sistema che consente ai creatori di contenuti di crowdsource di tradurre i sottotitoli dalla base utenti di YouTube. Avanzando rapidamente fino al 2017, YouTube sta espandendo i suoi strumenti di traduzione per coprire anche i titoli e le descrizioni dei video .Subito disponibile, YouTube ha introdotto un aggiornamento alla sua funzione "Contributi della community" che consentirebbe ai creatori di contenuti di aprire i loro video per le traduzioni