$user_id
)。 get_the_author_meta('user_mail')
应该在不指定$user_id
的情况下工作(codex表示:)),但是代码在functions.php
中且在循环外部,因此它不起作用。我从Wordpress和PHP开始,所以我不知道下一步该怎么做。 也尝试过:
$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
)
)
);
#1 楼
最简单的方法是使用get_post_field()
:$post_author_id = get_post_field( 'post_author', $post_id );
有关此问题的更多详细信息,请查看此StackOverflow答案。
#2 楼
您可以使用以下命令:/**
* Gets the author of the specified post. Can also be used inside the loop
* to get the ID of the author of the current post, by not passing a post ID.
* Outside the loop you must pass a post ID.
*
* @param int $post_id ID of post
* @return int ID of post author
*/
function wpse119881_get_author( $post_id = 0 ){
$post = get_post( $post_id );
return $post->post_author;
}
#3 楼
add_action( 'edit_form_after_title', 'myprefix_edit_form_after_title' );
function myprefix_edit_form_after_title() {
global $post;
$author_id=$post->post_author;
$authord = get_the_author_meta( 'user_email', $author_id);
echo $authord;
}
使用此功能,我可以在帖子编辑屏幕中显示帖子作者的电子邮件。仍然不知道如何使其与自定义元字段一起使用,但是我想我现在就更近了。
评论
这也是你自己的问题。您可以对其进行编辑以进行澄清。
–funwhilelost
14年6月17日在1:08
评论
嗯,它对我不起作用-我认为功能必须连接到过滤器之一,但不知道哪个。
–th3rion
13-10-24在6:22
对我有用...确定要传递一个(有效)帖子ID吗?
–斯蒂芬·哈里斯(Stephen Harris)
13-10-24在13:04
但是我想在每个帖子的编辑屏幕中显示此meta字段(而不仅仅是一个帖子),并且帖子作者可以不同,因此必须根据编辑屏幕动态加载$ post_id。
–th3rion
13-10-24在13:17
动态设置$ post_id。如果在metabox内部使用,您的metabox回调将传递给$ post对象。因此,您可以使用$ post-> ID(您可以仅将$ post-> post_author用于该元数据。
–斯蒂芬·哈里斯(Stephen Harris)
13-10-24在16:12