作者列表未链接到正确的页面

时间:2012-10-22 作者:jamie

我对作者列表有一个奇怪的问题。我在侧边栏中使用下面的代码来拉入gravatar并链接到作者的个人资料。然而,它实际生成的链接是错误的。它只是生成指向其所在页面的链接。因此,当你在博客页面上时,所有作者链接都是www.mysite。com/blog/。知道为什么会这样吗??

<?php
    $order = \'user_nicename\';
    $user_ids = $wpdb->get_col("SELECT ID FROM $wpdb->users WHERE ID <> 1 ORDER BY $order"); // query users
    foreach($user_ids as $user_id) : // start authors\' profile "loop"
    $user = get_userdata($user_id);
    ?>
    <li class="clearfix"><?php echo get_avatar( $user->ID, \'80\' ) . \'<a href="\' . $user->user_url . \'">\' . $user->display_name . \'</a>\'; ?></li>
    <?php
    endforeach; // end of authors\' profile \'loop\'
?>

1 个回复
SO网友:kaiser

一方面get_users() 功能Arguments @Codex封装用户查询类,并should be used 而不是直接查询。

另一方面,如果你是被迫的(比如:“有人用枪指着我的手”),那么你应该prepare() 正确查询:

$user_ids = $wpdb->get_col( $wpdb->prepare( 
     "SELECT ID FROM $wpdb->users WHERE ID <> 1 ORDER BY %s"
    ,$order
) );

结束

相关推荐

Unique widget id in sidebar

这是我的边栏代码register_sidebar(array( \'name\' => \'Post Sidebar\', \'before_widget\' => \'<div id=\"%1$s\" class=\"widget %2$s\">\', \'after_widget\' => \'</div></div>\', \'before_title