Muszę umieścić w edytorze postu metaboks deski rozdzielczej z e-mailem autora posta (lub innymi polami meta użytkownika). Można go więc edytować, gdy administrator recenzuje ten post.
$meta_id = get_the_author_meta( 'user_email', $user_id );
$meta_box = array(
'id' => 'my-meta-box',
'title' => 'DANE FIRMY',
'page' => 'post',
'context' => 'normal',
'priority' => 'high',
'fields' => array(
array(
'name' => 'E-mail box',
'id' => 'mail',
'type' => 'text',
'std' => $meta_id
)
)
);
Ten kod działa, gdy $ user_id jest liczbą całkowitą (kiedy ręcznie tam umieszczam, na przykład 4), ale chcę dynamicznie uzyskać bieżący identyfikator autora ( $user_id
).
get_the_author_meta('user_mail')
powinien działać bez określania $user_id
(mówi to kodeks :)), ale kod jest w functions.php
pętli i poza nią, więc nie działa. Zaczynam od Wordpress i PHP, więc nie wiem, co robić dalej.
Próbowałem także:
global $post;
$user_id=$post->post_author;
źródło
$post_id
dynamicznie. Jeśli używasz wewnątrz metaboksu, wywołanie zwrotne metaboksu zostanie przekazane do$post
obiektu. Więc możesz użyć$post->ID
(Prawdopodobnie możesz po prostu użyć$post->post_author
tej meta.Dzięki tej funkcji mogłem wyświetlić e-mail autora posta na ekranie edycji postu. Nadal nie wiem, jak to zrobić z niestandardowym polem meta, ale myślę, że jestem teraz bliżej.
źródło