使用STATS_GET_CSV按带有缩略图的视图返回热门帖子列表

时间:2011-03-16 作者:jwp

我最近了解到,如果你有WordPress。com统计数据已安装,您可以利用stats_get_csv() (部分WordPress.com Stats Plugin).

<?php if ( function_exists(\'stats_get_csv\') && $top_posts = stats_get_csv(\'postviews\', \'days=-1&limit=4\') ) : ?>
    <ol>
<?php foreach ( $top_posts as $p ) : ?>
        <li><a href="<?php echo $p[\'post_permalink\']; ?>"><?php echo $p[\'post_title\']; ?></a></li>
<?php endforeach; ?>
    </ol>
<?php endif; ?>
这就是我现在设置代码的方式。问题是它既显示页面,也显示帖子。此外,我想在每个项目旁边添加特色缩略图,以及一系列自定义帖子类型。这可能吗?如果是这样,有人能帮我吗?

3 个回复
SO网友:Jan Fabry

当您查询postviews 表格:

我的博客post_id 列为空或0 (用于主页)。因此,除非你有良好的价值观,否则你必须从post_permalink 值并确定它是一个页面还是一篇文章(通过对数据库的查询或URL上的正则表达式?),然后在数据库中查询帖子缩略图,因为WordPress。com统计API不收集有关此的信息。

SO网友:Andy

WordPress。com Stats API当前不提供post\\u类型筛选器。您可以通过多种方式中的一种来实现。基本思想是在post_ids来找出哪些有post_type 属于post. 在循环中,您可以使用以下内容:

$post = get_post($p[\'post_id\']);
if ( !isset($post->post_type) || $post->post_type != \'post\' )
    continue;
if ( has_post_thumbnail( $post->ID ) )
    $thumbnail = get_the_post_thumbnail( $post->ID );
else
    $thumbnail = \'\';

SO网友:Lea Cohen

至于排除页面,如果你只有几页,你可以这样做as described here:

在foreach循环内,在<;li>;加上:

 $postTitle = $single_post[\'post_title\'];
    if($postTitle == \'Home page\') {

结束

相关推荐

将CSV导入MySQL,自定义注册字段信息

我必须更新我客户Wordpress网站1500名成员的信息。我正在使用成员身份管理paidd订阅,我必须更新此插件生成的自定义字段。我查看了MySQL数据库,在wp\\u usermeta表中找到了以下元键:paypal\\u用户、paypal\\u状态、paypal\\u自定义\\u字段Pyapal\\u user和paypal\\u custom\\u字段中都有一些需要更新的信息。我知道如何使用CSV导入MySQL,但我不太确定如何在CSV文件中设置数据,因为我不太熟悉MySQL。有人知道吗?提前谢谢