WordPress rating by views

时间:2015-04-25 作者:Ritzy

我正在尝试创建一个与此网站上的系统非常相似的系统。http://i.imgur.com/0trw2c3.png

所发生的是,如果帖子有1000多个视图,它会在特色图片上方提供一个漂亮的小图标,上面写着“热门”等等,这取决于帖子的浏览量。

然而,我完全不知道该怎么做,只在基于WordPress的网站上看到过一次,所以任何帮助都是惊人的。。

1 个回复
最合适的回答,由SO网友:Emetrop 整理而成

首先,您必须启动每个帖子的日志视图。您可以自己或通过插件来完成。这里有一个例子,你可以跟踪这个数字没有任何插件。

将此代码添加到主题的函数中。php文件

function prefix_get_post_views( $post_id ){
    $count_key = \'post_views_count\';
    $count = get_post_meta( $post_id, $count_key, true );
    if( \'\' == $count ){
        update_post_meta( $post_id, $count_key, 0 );
        return 0;
    }
    return $count;
}

function prefix_set_post_views( $post_id ) {
    $count_key = \'post_views_count\';
    $count = get_post_meta( $post_id, $count_key, true );
    if( \'\' == $count ){
        update_post_meta( $post_id, $count_key, 0 );
        return 0;
    }
    $count++;
    update_post_meta( $post_id, $count_key, $count );
}

// Remove issues with prefetching adding extra views
remove_action( \'wp_head\', \'adjacent_posts_rel_link_wp_head\', 10, 0 );
此外,您还必须将以下代码添加到您的单曲中。php或single-{您的帖子类型}。php文件。您只能将代码添加到单个-\\u1中。要显示热符号的post类型的php文件。

<?php
    prefix_set_post_views( get_the_ID() );
?>
现在您正在跟踪您的视图!但它什么也没表现出来。所以,让我们展示它!

你必须找到正确主题的文件和位置,这些帖子在哪里回响,然后把这些代码放在那里。

<?php if( prefix_get_post_views( get_the_ID() ) >= 1000 ) : ?>
    <span class="hot-sign">HOT</span>
<?php endif; ?>
请注意,“prefix\\uux”应替换为您自己的主题前缀。

灵感来源:http://wpsnipp.com/index.php/functions-php/track-post-views-without-a-plugin-using-post-meta/

结束

相关推荐

如何将新的CSS文件添加到新的PHP文件中

我为Wordpress创建了一个新的模板文件,通过PHP构建页面的元素,Wordpress可以识别出这样的模板。然后,我想为上述模板(同一文件夹)包含一个CSS文件,并使用标准:<link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\"> 但由于某些原因,PHP文件不会加载链接的CSS设置。如果我添加<? include(\'style.css\') ?> 它的内容被打印到页面上,这意味着php文件