✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Cerca i metadati dei post nell’area di amministrazione di WordPress

16

Dopo aver lavorato con WordPress per un periodo di tempo prolungato, è probabile che tu abbia lavorato con i metadati dei post in qualche modo. Forse hai semplicemente letto i metadati dal database, o forse hai scritto e letto anche dalla tabella del database.

Può essere un’API davvero potente ogni volta che devi associare determinate informazioni ai tuoi post (o, se ti piacciono ancora di più le cose, ai tuoi modelli).

Detto questo, cosa succede quando vuoi includere informazioni dalla tabella dei metadati ma non hai la comodità di plugin come SearchWP o Relevanssi?

Inoltre, supponiamo che il caso d’uso sia solo per gli amministratori e solo per l’area di amministrazione di WordPress. Cioè, vuoi cercare i tuoi post dalla schermata Tutti i post ma vuoi includere anche i metadati dei post nei criteri di ricerca.

Cosa poi?

Cerca nei metadati dei post

Immediatamente, ogni volta che cerchi post nell’area di amministrazione di WordPress, cercherà una frase nel titolo del post, nell’estratto del post e nel contenuto del post e quindi restituirà quei risultati.

Quindi, per espandere la ricerca per includere i metadati dei post, dobbiamo aggiornare la query eseguita in modo che incorpori le tabelle dei metadati dei post. Ma c’è di più. In particolare, per la massima flessibilità e la migliore esperienza utente, ti consigliamo di:

  • includi porzioni di una frase in modo che non cerchi semplicemente qualcosa alla lettera nell’articolo,
  • e, naturalmente, gestire correttamente il caso in cui non viene inserito alcun termine di ricerca in modo che la schermata Tutti i post possa ancora essere visualizzata nel suo formato standard.

Ciò significa che non solo è necessario modificare la query di ricerca per includere una meta chiave e un meta valore, ma è necessario eseguire correttamente l’escape di intere frasi in modo da poter utilizzare LIKEun’operazione anziché INun’operazione o =un’operazione.

Cerca i metadati dei post nell'area di amministrazione di WordPress

Alcune delle cose che è importante sapere prima di leggere il resto di questo articolo includono:

In definitiva, avremo bisogno di usare due hook con due funzioni personalizzate. E poiché non posso fornire un esempio completo di come potrebbe apparire nel tuo caso d’uso, il codice deve essere un po’ generalizzato.

Agganciarsi alla ricerca

Nel seguente succo, vedrai tre cose:

  1. Verifica che l’utente si trovi nell’area di amministrazione e si trovi nella pagina di modifica.
  2. L’utente ha inserito una ricerca.
  3. La frase di ricerca è stata convertita in una matrice, sottoposta a escape e aggiunta alla proprietà della meta query dell’istanza di WP_Query.

Vedi sotto :

Supponendo che tutto quanto sopra sia vero, ciò aggiornerà la query eseguita sul database di WordPress prima del rendering della pagina successiva in modo che i risultati che includono le informazioni sui metadati.

Aggiornamento della clausola WHERE

Prima di finire, però, dobbiamo anche assicurarci di aver aggiornato la query eseguita.

Per impostazione predefinita, la query viene costruita utilizzando ANDun’operazione che ci impedisce di guardare correttamente i titoli dei post, estratti, contenuti e metadati; tuttavia, la query deve essere aggiornata in modo che utilizzi ORun’operazione.

Letteralmente, questo significa che apparirà nel titolo, nel contenuto, nell’estratto o nei metadati.

Ho scelto di utilizzare un’espressione regolare nella mia implementazione, ma la tua implementazione potrebbe funzionare con la sostituzione delle sottostringhe. Quindi, c’è un po’ di commenti per darti la massima flessibilità.

Questo aggiorna la WHEREclausola che viene attivata per completare il lavoro impostato nella parte iniziale dell’articolo in cui aggiungiamo i metadati.

Ci sono altri modi

Nota che ci sono alcuni modi incredibilmente flessibili per lavorare con WP_Query per ottenere i risultati di cui hai bisogno. E la tua implementazione varierà a seconda di cosa stai facendo.

Quindi considera questo uno dei tanti modi che possono essere usati; sappi però che se hai:

  1. una sola chiave,
  2. un valore (o un valore che può essere suddiviso in un array),
  3. e vuoi cercare metadati insieme al contenuto del post tradizionale

Allora questo funzionerà.

Fonte di registrazione: tommcfarlin.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More