Reading your comment, what you want is to create an author archive using tags and customize the author archive pages. You don’t need tags or categories for that. There is a built-in author archive, by default the URL is in the format yoursite.com/author/username
. That URL will show all posts by author and will use the template hierarchy as you can see here. To customize the author archive you can use the template author.php
; if you want to customize the archive for a specific author you can use the template author-{username}.php
or author-{usernid}.php
.
Also, you can pick up all posts by author using WP_Query, get_posts, etc, for custom queries and loops.
Although I don’t get the point of tagging posts with author name, here a working and tested code:
add_action( 'save_post', 'add_authors_name', 10, 2);
function add_authors_name( $post_id, $post ) {
// Check the post type to apply only to satandard posts.
// Bypass if the $post is a revision, auto-draft or deleted
if( $post->post_type == '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;
if( ! has_term( $post_author_name, 'post_tag', $post ) ) {
wp_set_post_terms( $post_id, $post_author_name, 'post_tag', true );
}
}
}