将用户显示为HTML表格

时间:2011-03-04 11:38:39

标签: php wordpress

我希望将wordpress的用户显示为表格 https://stackoverflow.com/users

推荐的功能是wp_list_authors,但目前尚不清楚如何自定义 布局。

假设我想在表格5 x 5的单元格中显示用户,并获取下一页链接。

请建议。

让我解释一下。

get_users_of_blog wp_list_authors 不同,不会返回数组。如果它会 - 然后 有一个数组我可以使用foreach构建任何表。但 wp_list_authors 会自行构建锚标记并返回monolith html块。控制布局的唯一选择是在标签之前和之后传递一些排序。但是这个功能不提供这种功能。

1 个答案:

答案 0 :(得分:1)

据我所知,没有get_authors()之类的功能,但你可以通过自定义模板中的原始SQL查询来实现:

更新:用于分页

我不确定你是否可以使用内置的WordPress分页来做到这一点,因为paged param只出现在帖子中。你可以在一个循环或其他东西中填充全局$ post var ......有很多方法,但让我们选择“PHP”。 = d

<?php
    $i = 0;
    $limit = 25;
    $offset = ($o = trim($_GET['offset'])) ? $o : 0;
    $users = $wpdb->get_results("SELECT user_nicename ... FROM {$wpdb->users} LIMIT $offset,$limit");
?>
<?php foreach ($users as $user) : ?>
    <div class="someclass">
        <?php echo $user->user_nicename; ?>
    </div>
    <?php if ($i++ % $number_of_columns == 0) : ?>
        <div class="padder"></div>
    <?php endif; ?>
<?php endforeach; ?>

要模拟表格外观,只需向左浮动“someclass”并在其上放置固定宽度。 “padder”div(向左浮动和宽度为100%)将确保单元格将与该行中的最高单元对齐。

对于分页链接:

<?php $n = $wpdb->get_var("SELECT count(ID) FROM {$wpdb->users}"); ?>
<?php $o = $offset - $limit; ?>
<?php if ($offset > 0) : ?>
    <a class="prev" href="?offset=<?php echo $offset - $limit; ?>">Previous</a>
<?php endif; ?>
<?php $o = $offset + $limit; ?>
<?php if ($o < $n) : ?>
    <a class="next" href="?offset=<?php echo $o; ?>">Next</a>
<?php endif; ?>

从大脑到键盘的代码。未经测试,再次。

希望它有所帮助。