Sviluppando per WordPress ti imbatterai in due funzioni fondamentali: get_option() e get_post_meta().
Entrambe restituiscono valori dal database, ma hanno scopi diversi.
Vediamo nel dettaglio.
get_option()
La funzione get_option() ha lo scopo di recuperare le impostazioni globali di WordPress oppure le impostazioni personalizzate di temi e plugin.
Recupera i dati dalla tabella wp_options.
Ad esempio, in un ecommerce realizzato con WooCommerce si recupera la valuta principale impostata nel plugin (es. “EUR”):
$currency = get_option( 'woocommerce_currency' );
Altri esempi su quando usare get_option:
- Il titolo del sito (
get_option('blogname')) - L’email dell’amministratore (
get_option('admin_email'))
Quindi se le impostazioni sono relative all’intero sito e non al singolo contenuto, normalmente si usa get_option().
get_post_meta()
La funzione get_post_meta() viene usata per recuperare i metadati associati a un singolo post, pagina o custom post type.
Recupera i dati dalla tabella wp_postmeta.
Ad esempio si può usare per recuperare il prezzo di un prodotto:
$price = get_post_meta($product_id, 'prezzo', true);
Altri esempi che mi vengono in mente al volo:
- L’URL di un’immagine aggiuntiva in un post.
- Le informazioni extra di un evento (data, luogo, orario).
Quindi se il dato è legato a un contenuto specifico si utilizza get_post_meta().
Riassumendo
La scelta dipende dal livello di applicazione del dato:
- Globale →
get_option() - Specifico per un contenuto →
get_post_meta()
Conoscere la differenza tra queste due funzioni ti permette di strutturare meglio plugin e temi, evitando ridondanze e mantenendo il codice più pulito ed efficiente.


