列出循环外的所有作者以及来自/上传的照片

时间:2012-12-19 作者:jamie

我成功地使用了这个优秀的贡献者功能,在我的网站上用gravatar照片生成了一个用户列表。。直到客户决定他们不想使用gravatar,而宁愿使用自己网站上托管的图像。结果还表明,除了作者之外,他们在网站上还有许多其他角色,查询中的“WHERE NOT”将不再足够。

有人能帮我分两部分吗。。调整此功能以限制为“作者”角色,并使用用户的名字&;last name自定义图像链接,以便我可以从/上传他们的图像?这将在循环之外使用。

我目前在循环中使用$curauth将作者的名字和姓氏附加到图像链接中,效果很好,图像名为JohnSmith。上传文件夹中的jpg。

我的SQL和PHP很弱,但我在想:

select id, firstName, lastName from users WHERE Role=Author;
然后,更换

 echo get_avatar($author->ID);
使用

 echo \'<img src=/uploads/author-\' . $author->firstName,lastName; . \'.jpg />;
我假设将有一个join来获取用户角色,但我不太确定该字段的名称。。下面是参与者功能。如果您有任何帮助,我们将不胜感激!

function contributors() {
global $wpdb;

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

foreach($authors as $author) {
    echo "<li>";
    echo "<a href=\\"".get_bloginfo(\'url\')."/?author=";
    echo $author->ID;
    echo "\\">";
    echo get_avatar($author->ID);
    echo "</a>";
    echo \'<div>\';
    echo "<a href=\\"".get_bloginfo(\'url\')."/?author=";
    echo $author->ID;
    echo "\\">";
    the_author_meta(\'display_name\', $author->ID);
    echo "</a>";
    echo "</div>";
    echo "</li>";
}
}

1 个回复
SO网友:Ben Racicot

是否加入以获取用户角色?我不这么认为。

既然您已经开始使用自己的PHP(从您提供的示例中),那么就要对WordPress Codex中的内置函数进行更多的研究。

就创建新角色而言,下面的代码复制管理员角色,删除新自定义角色中不需要的任何功能,最后命名新角色:

$newrole = get_role(\'administrator\'); //choice of Administrator, Editor, Author, 

Contributor, Subscriber - http://codex.wordpress.org/Roles_and_Capabilities

$caps = $newrole->capabilities;

// Unset the capabilities you don’t want in the new role.
//unset($caps[\'activate_plugins\']);
//unset($caps[\'edit_plugins\']);
//unset($caps[\'update_plugins\']);
//unset($caps[\'delete_plugins\']);
//unset($caps[\'install_plugins\']);
//unset($caps[\'delete_users\']);
//unset($caps[\'import\']);
//unset($caps[\'create_users\']);
unset($caps[\'edit_users\']);
unset($caps[\'edit_dashboard\']);
unset($caps[\'update_core\']);
unset($caps[\'switch_themes\']);

// unset($caps[\'edit_theme_options\']);

// Add the new role.
add_role(\'Master Editor\', \'Master Editor\', $caps); // your new role "Master Editor"
或向现有角色添加功能。

function add_cap_to_editor() 
        {
            $role = get_role( \'editor\' ); // pick up role to edit the editor role   
            $role->add_cap( \'edit_users\' );
            $role->add_cap( \'create_users\' );
        }
        add_action( \'admin_init\', \'add_cap_to_editor\');

结束

相关推荐

Building Gravatar Code

出于SEO原因,我正在为一个主题构建Gravatar代码,基本上不喜欢默认的WordPress Gravatar代码,因为对于每个化身,它会向页面添加一个图像,而没有alt文本,这可能会对SEO产生负面影响。相反,使用图像作为背景图像不会对SEO产生影响。让代码工作,但不要与神秘人或空白设置。查看/wp包括/可插拔。php并在1712行附近发现了问题,这是神秘人代码,基本上使用了一个Gravatar图像(此图像http://0.gravatar.com/avatar/ad516503a11cd5ca435