Мне нужно разместить в метабоксе панели редактирования сообщений сообщение электронной почты автора сообщения (или другие мета-поля пользователя). Так что это может быть отредактировано, когда администратор просматривает этот пост.
$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
)
)
);
Этот код работает, когда $ user_id является целым числом (когда я помещаю туда, например, 4), но я хочу динамически получить текущий идентификатор автора ( $user_id
).
get_the_author_meta('user_mail')
должен работать без указания $user_id
(кодекс говорит, что :)), но код находится внутри functions.php
и вне цикла, поэтому он не работает. Я начинаю с Wordpress и PHP, поэтому я не знаю, что делать дальше.
Также попробовал это:
global $post;
$user_id=$post->post_author;
источник
$post_id
динамически. При использовании внутри метабокса ваш обратный вызов метабокса будет передан$post
объекту. Таким образом, вы можете использовать$post->ID
(Возможно, вы можете просто использовать$post->post_author
для этой мета.С помощью этой функции я смог отобразить сообщение автора сообщения на экране редактирования сообщения. Все еще не знаю, как заставить это работать с пользовательским метаполем, но я думаю, что сейчас я ближе.
источник