我希望将wordpress的用户显示为表格 https://stackoverflow.com/users
推荐的功能是wp_list_authors,但目前尚不清楚如何自定义 布局。
假设我想在表格5 x 5的单元格中显示用户,并获取下一页链接。
请建议。
让我解释一下。
与 get_users_of_blog wp_list_authors 不同,不会返回数组。如果它会 - 然后
有一个数组我可以使用foreach
构建任何表。但 wp_list_authors 会自行构建锚标记并返回monolith html块。控制布局的唯一选择是在标签之前和之后传递一些排序。但是这个功能不提供这种功能。
答案 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; ?>
从大脑到键盘的代码。未经测试,再次。
希望它有所帮助。