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