Cum să obții ID-ul postării cu funcția Add Filter în WordPress
Scriu un plugin și încerc să aflu cum să adaug date la sfârșitul unei postări bazate pe unele informații Meta Personalizate.
Până acum am făcut asta:
add_filter('the_content', 'AppendMeta');
Și aici este funcția "AppendMeta"
AppendMeta($content) {
echo $content; // Afișează conținutul postării
$PersonName = get_post_meta($post->ID, 'PersonName', true);
echo 'Persoana: ' . $PersonName;
}
Acest cod funcționează dacă înlocuiesc $post->ID cu ID-ul postării, dar am nevoie să funcționeze bazat pe postarea pe care o vizitează utilizatorul. Cum pot să transmit ID-ul postării ca parametru? $post->ID nu funcționează în acest scenariu și nu înțeleg de ce.

Nu-i nimic, am aflat că pot folosi get_the_ID();
.
Această funcție va returna ID-ul postului în interiorul filtrului the_content
. Funcția pur și simplu declară obiectul global $post
și returnează ID-ul său.
add_filter('the_content', 'wpse51205_content')
wpse51205_content($content) {
echo $content; // Afișează conținutul postului
$PersonName = get_post_meta(get_the_ID(), 'PersonName', true);
echo 'Persoană: ' . $PersonName;
}
Dacă nu doriți să folosiți get_the_ID()
, trebuie doar să declarați obiectul $post
ca global înainte de a-l folosi:
add_filter('the_content', 'wpse51205_content')
wpse51205_content($content) {
global $post;
echo $content; // Afișează conținutul postului
$PersonName = get_post_meta($post->ID), 'PersonName', true);
echo 'Persoană: ' . $PersonName;
}
