自动将作者姓名添加到POST_TAG

时间:2013-05-22 作者:nerdarama

每当发布帖子时,我需要将帖子的作者姓名添加到帖子的标签中。例如,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 );
 }
这不管用,但我想我会成功的。只是不知道我错过了什么。。。有人能解释一下吗?

1 个回复
最合适的回答,由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 );
 }

结束

相关推荐

在editags.php中使用多个id过滤分类术语

我想使用编辑标签。具有多个术语id的php搜索函数。例如,如果我在搜索框中键入以下内容:#1245&;6832,它应该在结果表(WP\\U terms\\U List\\U table)中显示这两个术语。我尝试使用pre\\u get\\u posts操作访问正在运行的搜索查询,但这只是显示一个“空”查询:add_action(\'pre_get_posts\', \'filter_terms_by_ids\' ); function filter_terms_by_ids( $w