Come verificare se una chiave post meta esiste o meno nel database di WordPress

25 lug 2012, 12:34:06
Visualizzazioni: 38.6K
Voti: 14

Voglio verificare se una chiave post meta esiste o meno, al di fuori del loop. Esiste una funzione WordPress per controllare se una chiave post meta esiste o meno nel database WordPress. Devo eseguire questo controllo al di fuori del loop. Qualsiasi aiuto sarà molto apprezzato.

1
Commenti

possibile duplicato di Strategia per ottenere i meta dei post da utilizzare al di fuori del loop

Brian Fegter Brian Fegter
25 lug 2012 13:03:41
Tutte le risposte alla domanda 2
1
37

Nel caso qualcun altro si imbatta in questa vecchia domanda come è appena successo a me, sembra che il modo migliore per gestire questa situazione sia utilizzare metadata_exists()

vedi https://developer.wordpress.org/reference/functions/metadata_exists/

Ecco come sarebbe la sintassi per i post meta:

metadata_exists('post', $post_id, 'meta_key_to_check');
14 set 2016 01:34:03
Commenti

Questa è una buona e chiara risposta - nota che il primo argomento non è un post type, ma un gruppo di oggetti - fondamentalmente collegato alla tabella genitore in cui sono archiviati i metadati.

Q Studio Q Studio
6 ott 2022 12:15:55
1

Potresti utilizzare get_post_custom(ID DEL POST QUI) che restituirà un array multidimensionale con tutti i campi personalizzati di un particolare post o pagina.

Quindi qualcosa come:

$meta_data = get_post_custom(785);
if ($meta_data['my_meta_key'][0] != "")
    ...

ti permetterebbe di verificare se una particolare meta_key è vuota o meno.

25 lug 2012 13:31:41
Commenti

Dovresti usare isset( $meta_data['my_meta_key'][0] ) per verificare se esiste. Se vuoi semplicemente sapere se è vuoto OPPURE non esiste, puoi usare direttamente get_post_meta.

NextGenThemes NextGenThemes
14 dic 2020 07:17:35