Example #1
0
 function diplay_stats()
 {
     if (false !== ($content = get_transient('poststats_widget'))) {
         echo $content;
         return;
     }
     global $wpdb;
     $options = get_option('poststats');
     $nb_mots_totaux = $wpdb->get_var("SELECT SUM(LENGTH(post_content) - LENGTH(REPLACE(post_content,' ',''))+1) FROM {$wpdb->posts} WHERE post_status = 'publish' AND post_type = 'post'");
     $nb_mots_avg = $wpdb->get_var("SELECT AVG(LENGTH(post_content) - LENGTH(REPLACE(post_content,' ',''))+1) FROM {$wpdb->posts} WHERE post_status = 'publish' AND post_type = 'post'");
     $longest = $wpdb->get_row("\n\t\tSELECT ID,post_title,LENGTH(post_content) - LENGTH(REPLACE(post_content,' ',''))+1 AS NB_MOTS \n\t\tFROM {$wpdb->posts} \n\t\tWHERE post_status = 'publish' AND post_type = 'post' \n\t\tGROUP BY ID\n\t\tORDER BY NB_MOTS DESC LIMIT 1");
     $shortest = $wpdb->get_row("\n\t\tSELECT ID,post_title,LENGTH(post_content) - LENGTH(REPLACE(post_content,' ',''))+1 AS NB_MOTS \n\t\tFROM {$wpdb->posts} \n\t\tWHERE post_status = 'publish' AND post_type = 'post' \n\t\tGROUP BY ID\n\t\tORDER BY NB_MOTS LIMIT 1");
     $content = '<p>';
     $content .= __('Sum:', POSTSTATS_TEXTDOMAIN) . ' ' . round($nb_mots_totaux) . ' ' . __('words', POSTSTATS_TEXTDOMAIN) . '<br />';
     $content .= __('Minimum:', POSTSTATS_TEXTDOMAIN) . ' ' . round($shortest->NB_MOTS) . ' ' . __('words', POSTSTATS_TEXTDOMAIN) . '<br />';
     $content .= __('Maximum:', POSTSTATS_TEXTDOMAIN) . ' ' . round($longest->NB_MOTS) . ' ' . __('words', POSTSTATS_TEXTDOMAIN) . '<br />';
     $content .= __('Average:', POSTSTATS_TEXTDOMAIN) . ' ' . round($nb_mots_avg) . ' ' . __('words', POSTSTATS_TEXTDOMAIN) . '<br />';
     '</p>';
     $content .= '<p>';
     if (is_object($longest)) {
         $content .= __('Longest post:', POSTSTATS_TEXTDOMAIN) . ' <a href="' . get_permalink($longest->ID) . '">' . $longest->post_title . '</a><br />';
     }
     if (is_object($shortest)) {
         $content .= __('Shortest post:', POSTSTATS_TEXTDOMAIN) . ' <a href="' . get_permalink($shortest->ID) . '">' . $shortest->post_title . '</a><br />';
     }
     $content .= '</p>';
     $reading_time = PostStats::format_time($nb_mots_totaux / $options['speed'] * 60);
     $content .= '<p>';
     $content .= __('Total reading time:', POSTSTATS_TEXTDOMAIN) . ' ' . $reading_time . '.';
     $content .= '</p>';
     set_transient('poststats_widget', $content, 86400);
     echo $content;
 }