每当发布帖子时,我需要将帖子的作者姓名添加到帖子的标签中。例如,John Smith写了一篇文章,标签“John Smith”将添加到该文章的标签中。
我尝试了几种不同的方法,但我认为我最接近这一点:
In functions.php:
add_action( \'save_post\', \'add_authors_name\');
function add_authors_name( $post_id ) {
$post_author = get_the_author($post_id);
wp_set_post_terms( $post_id, "$post_author", \'post_tag\', true );
}
这不管用,但我想我会成功的。只是不知道我错过了什么。。。有人能解释一下吗?
最合适的回答,由SO网友:Ravinder Kumar 整理而成
检查get_the_author()
(Note:必须在循环中使用此标记。)
在函数中,您的代码可能与此类似。php:
add_action( \'save_post\', \'add_authors_name\');
function add_authors_name( $post_id ) {
global $post;
$post_author = $post->post_author; // returns the Author ID
// get the author\'s WP_User object so we can get the Author Name
$post_author_obj = get_userdata( $post_author );
$post_author_name = $post_author_obj->first_name . \' \' . $post_author_obj->last_name;
wp_set_post_terms( $post_id, $post_author_name, \'post_tag\', true );
}