_Author_meta(‘user_url’,$Author->ID)工作不正常。我怎么才能解决这个问题?

时间:2014-01-08 作者:Riffaz Starr

我的博客上有两位作者和一位管理员。我在我的贡献者中使用以下代码。php

function contributors() {
        global $wpdb;

        $authors = $wpdb->get_results("SELECT ID, user_nicename from $wpdb->users ORDER BY display_name");

        foreach($authors as $author) {

        echo the_author_image($author->ID);

        echo the_author_meta(\'display_name\', $author->ID) . \'</br>\' ;
        echo the_author_meta(\'user_url\', $author->ID) . \'</br>\';
        echo the_author_meta(\'description\', $author->ID) . \'</br>\' ;
        echo the_author_meta(\'user_email\', $author->ID) . \'</br></br>\' ;

        }
        }

        contributors();
它完美地打印了所有作者和管理员的照片、姓名、描述和电子邮件。

但它没有正确打印用户链接。

对于管理员或用户ID 1,它正在打印博客URL;对于第一作者或用户ID 2,它正在打印正确的URL有什么问题?我如何解决这个问题?

1 个回复
最合适的回答,由SO网友:sakibmoon 整理而成

您是否检查了数据库中的用户url。也许这就是他们用来注册的。

这个场景怎么样-

对于管理员,url的默认值是博客url您应该首先从数据库中检查他们的url。它位于wp_users table(我假设您使用了table前缀wp_).

EDIT:

the_author_posts_link()the_author_meta(\'user_url\',$userID) 具有不同的功能。

the_author_posts_link() 显示按作者显示指向所有帖子的链接。

the_author_meta(\'user_url\',$userID) 显示其主页url。

所以,这是两件不同的事情。我认为你最好的选择是使用以下方法来获得你想要实现的目标,而不是the_author_meta(\'user_url\', $userID). 您也不能使用the_author_posts_link 因为它不需要论证,必须在内部使用The Loop:

<a href="<?php echo get_author_posts_url( $author->ID ); ?>"><?php the_author_meta( \'display_name\', $author->ID ); ?></a>

结束

相关推荐

Edit draft from other author

我需要我博客中的编辑可以阅读和编辑其他作者的草稿。我尝试了一些access manager插件:Advanced Access ManagerUser Role Editor</但这些都对我没有帮助。我也找过类似的问题,比如this 和this, 但同样,什么也没找到。我该怎么做?有可能吗?