The forums ran from 2008-2020 and are now closed and viewable here as an archive.

Home Forums Back End WordPress Guest Author Archive Page

  • This topic is empty.
Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
  • #194339

    I figure this is a common WordPress scenario, but I’m having a rough time finding suggestion solutions on the web …

    The site I’m developing has guest authors that do not have accounts. The editor will simply choose the guest author and posting on their behalf.

    For blog posts, the author link should display the guest author’s name and link to the author archive page. By default, WordPress will do this for the post author. I need to override this behavior when a guest author exists.

    I’m stumped.

    I’m using Advanced Custom Fields to define the guest authors. When creating a blog post, a ACF post object choose the author.

    I believe this has something to do with the the_author, and the_author_posts_link filters as well as modifying the author template.

    Any guidance is greatly appreciated!



    I’m kinda getting there. So far I’ve managed to write a custom author posts link if a guest author exists.

    The resulting URL for a post author and guest author now have matching formats …

    post author ex:
    guest author ex:

    Now I just need to figure out how to hijack the author archive page
    to display posts from the post author OR the guest author.


    add_filter( 'the_author_posts_link', 'custom_author_posts_link' );
    function custom_author_posts_link($url) {
    `global $post;
    $post_object = get_field('post_author');
    if ( $post_object ) {
    `// GUEST AUTHOR EXISTS - override post object to grab relevant guest author info
    global $post;
    $post = $post_object;
    setup_postdata( $post );
    $guest_author_slug = $post->post_name;
    $guest_author_name = get_field('team_member_name');
    $guest_author_posts_link = site_url() . '/author/' .  $guest_author_slug;
    $guest_url = sprintf(
        '<a href="%1$s" title="%2$s" rel="author">%3$s</a>',
        esc_url( $guest_author_posts_link ),
        esc_attr( sprintf( __( 'Posts by %s' ), $guest_author_name ) ),
    $guest_url = $link; 
    wp_reset_postdata(); // We're done here. Return to main $post object
    return $url;
Viewing 2 posts - 1 through 2 (of 2 total)
  • The forum ‘Back End’ is closed to new topics and replies.