如何存储页面访问次数?

时间:2012-02-29 作者:srisar

我正在从事一个项目,它要求在单个帖子上显示页面访问计数。

我猜,在wordpress中如何做到这一点,我必须将它们存储在同一个wordpress数据库中?

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

您可以为此使用自定义字段。我的建议是设置一个快捷码,您可以在任何页面上显示计数器。对于一个没有HTML格式的非常基本的示例,可以执行以下操作:

add_shortcode( \'examplecounter\', \'counter_shortcode\' );
function counter_shortcode( $atts, $content = null ) {
    global $post;
    if( isset( $post->ID ) ) {
        $current_count = get_post_meta( $post->ID, \'_counter_custom_field\', true );
        $new_count = $current_count === \'\' ? 1 : $current_count + 1;
        update_post_meta( $post->ID, \'_counter_custom_field\', $new_count );
        return $new_count;
    }
}
现在你可以[examplecounter] 在帖子中的任何地方,它都应该开始为您计数。:)

SO网友:krembo99

function k99_post_hits( $id, $action ) {
        $k99_HitMetaField   = \'_k99_post_hits\'; // Your Custom field that stores the views
        $k99_PostHits   = get_post_meta($id, $k99_HitMetaField, true);
        switch ($action) {
        case \'count\' :
        if ( $k99_PostHits ==\'\' ) {
            $k99_PostHits = mt_rand(200,950); //debug joke
            delete_post_meta( $id, $k99_HitMetaField);
            add_post_meta( $id, $k99_HitMetaField, $k99_PostHits );
            }
            $k99_PostHits++;
            update_post_meta( $id, $k99_HitMetaField, $k99_PostHits );
            break;
        case \'display\' :
        echo \'this page was viewed: \' , $k99_PostHits ;
} 
}
Edit I: neewbie note-忘记解释如何使用:

把这个放在你想要计算的页面中,最好放在循环之外的任何其他内容之前。

<?php k99_post_hits( $post->ID, \'count\' );  //adding post counter?>
将下一行放在要显示计数的位置:

<?php k99_post_hits( $post->ID, \'display\' );  //adding post counter display ?>

结束

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register