2011-03-04 30 views
0

我想显示的WordPress用户作为一个表就像 https://stackoverflow.com/users显示用户为HTML表格

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

说,我想在拿到下一个页面链接表5×5的单元格来显示用户。

请指教。

让我解释一下。

不同于get_users_of_blogwp_list_authors不返回的数组。如果将 - 然后 有一个数组,我可以使用foreach建立任何表。但wp_list_authors建立在自己的锚标记,并返回整块的HTML块。控制布局的唯一选择是在标签之前和之后传递某种信息。但是这个函数不提供这种功能。

+2

Eugh。布局表。这不是2011年吗? – Quentin 2011-03-04 11:41:08

+3

他没有说布局表格,他只是希望他们在一个很好的表格视图中,对于哪些表格非常好。实际上,SO页面也使用表格! – TJHeuvel 2011-03-04 11:44:31

+2

表格仍然是呈现DATA的有效方式。 – powtac 2011-03-04 11:54:22

回答

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; ?> 

代码键盘。再次未经测试。

希望它有帮助。

+0

谢谢,但是我可以使用get_users_of_blog。 Doc说它已被弃用,但未被弃用的wp_list_authors使用它。所以一个不被弃用的函数使用已弃用的? – 2011-03-04 11:57:39

+0

@CaptainComic:弃用不会被继承。作者应该更新'wp_list_authors'的实现,但是他们并没有使它自己不被使用。 – 2011-03-04 12:15:18

+0

wp_users的SQL表结构在某些年份不会更改,因此您不必担心此代码是否将在未来崩溃。弃用不是问题。 = D – vmassuchetto 2011-03-04 12:24:38