Ottenere variabile PHP da functions.php e stamparla nei file template del tema
Questa potrebbe sembrare una domanda sciocca ma non riesco a capire come fare.
Ho creato una variabile nel mio functions.php - e sto cercando di stamparla nei miei file template.
Immagino sia un problema di scope.
Qual è il modo più semplice per stampare una variabile o creare una funzione che mi permetta di visualizzare questo ID Facebook in vari file template.
Questo è quello che ho attualmente nel mio functions.php...
$fb_app_id = '68366786876786';
E questo è come stavo cercando di stamparla...
<?php echo $fb_app_id; ?>
Qualsiasi suggerimento sarebbe di grande aiuto, grazie mille

Se non hai accesso al valore, è probabile che sia un problema di scope. Assicurati prima di globalizzarlo:
<?php
global $fb_app_id;
echo $fb_app_id;
?>
Alternativa
Non sono un fan delle variabili globali, quindi l'alternativa che consiglio è utilizzare il meccanismo dei filtri integrato in WordPress. Aggiungi il filtro nel tuo file functions.php
e applicalo dove necessario.
In functions.php
:
add_filter( 'fb_app_id', 'return_fb_app_id' );
function return_fb_app_id( $arg = '' ) {
return '68366786876786';
}
Nei tuoi file template:
echo apply_filters( 'fb_app_id', '' );
Oppure usa un action hook
In functions.php
add_action( 'fb_app_id', 'echo_fb_app_id' );
function echo_fb_app_id() {
echo '68366786876786';
}
Nei tuoi file template:
do_action( 'fb_app_id' );
Sia che tu usi un action hook o un filtro dipende interamente da te. Consiglio un filtro perché può restituire un valore. Questo è molto più flessibile che semplicemente inserire chiamate echo
nel tuo template.

no, non la imposterei come globale, ecco perché non ho aggiunto la riga global.

In questo caso utilizzerei le opzioni di WordPress. Puoi impostare un'opzione utilizzando add_option() o update_option() (probabilmente la scelta migliore per il tuo caso). Dovresti usare update_option('fb_app_id', '68366786876786');
da qualche parte nel tuo file functions.php (la funzione dell'hook init sarebbe probabilmente un buon posto).
Potresti quindi mostrare questa opzione nei file del tuo tema utilizzando echo get_option('fb_app_id');
Il motivo per cui suggerirei questo approccio, piuttosto che usare variabili globali (brutto) o hook di azione/filtro, è che se prevedi di rilasciare il tuo tema al pubblico, sarà molto più semplice rendere fb_app_id
un'opzione modificabile in una pagina delle opzioni del tema.
