Come ottenere l'ID del post con la funzione Add Filter
Sto scrivendo un plugin e sto cercando di capire come aggiungere dati alla fine di un post basandosi su alcune informazioni di meta personalizzate.
Finora ho fatto questo:
add_filter('the_content', 'AppendMeta');
Ed ecco la funzione "AppendMeta"
AppendMeta($content) {
echo $content; // Mostra il contenuto del post
$PersonName = get_post_meta($post->ID, 'PersonName', true);
echo 'Persona: ' . $PersonName;
}
Questo codice funziona se sostituisco $post->ID con l'id del post, ma ho bisogno che funzioni in base al post che l'utente sta attualmente visualizzando. Come posso passare l'id del post come parametro? $post->ID non funziona in questo scenario e non riesco a capire perché.

Non importa, ho scoperto che posso usare get_the_ID();
.
Questa funzione restituirà l'ID del post all'interno del filtro the_content
. La funzione dichiara semplicemente l'oggetto globale $post
e ne restituisce l'ID.
add_filter('the_content', 'wpse51205_content')
wpse51205_content($content) {
echo $content; // Mostra il contenuto del post
$PersonName = get_post_meta(get_the_ID(), 'PersonName', true);
echo 'Persona: ' . $PersonName;
}
Se non vuoi usare get_the_ID()
, devi semplicemente dichiarare l'oggetto $post
come globale prima di usarlo:
add_filter('the_content', 'wpse51205_content')
wpse51205_content($content) {
global $post;
echo $content; // Mostra il contenuto del post
$PersonName = get_post_meta($post->ID), 'PersonName', true);
echo 'Persona: ' . $PersonName;
}
