WordPress有些模板沒有站點(diǎn)統(tǒng)計(jì)信息小工具,比如統(tǒng)計(jì)網(wǎng)站瀏覽次數(shù)、文章總數(shù)等等信息。
如果要實(shí)現(xiàn)這個(gè)功能,1、換一些有此功能的模板。2、自己動(dòng)手添加一個(gè)。
如果本身對(duì)模板已經(jīng)二次修改,再去更換模板那就比較繁瑣了。
接下來阿湯博客就分享下方案二,自己動(dòng)手添加一個(gè)側(cè)邊欄站點(diǎn)統(tǒng)計(jì)信息小工具。
1、新建一個(gè)php文件,并將以下代碼添加到#php文件中。
<?php // 站點(diǎn)統(tǒng)計(jì)小工具 // 阿湯博客 www.zhongjima.net // 定義小工具的類 EfanBlogStat class EfanBlogStat extends WP_Widget{ function EfanBlogStat(){ // 定義小工具的構(gòu)造函數(shù) // 注意classname,這里的widget_tongji要在style.css存在此樣式,也可以自己定義。 $widget_ops = array('classname' => 'widget_tongji', 'description' => '顯示站點(diǎn)的統(tǒng)計(jì)信息'); $this->WP_Widget(false, '站點(diǎn)統(tǒng)計(jì)', $widget_ops); } function form($instance){ // 表單函數(shù),控制后臺(tái)顯示 // $instance 為之前保存過的數(shù)據(jù) // 如果之前沒有數(shù)據(jù)的話,設(shè)置默認(rèn)量 $instance = wp_parse_args( (array)$instance, array( 'title' => '站點(diǎn)統(tǒng)計(jì)', 'establish_time' => '2018-01-01' ) ); $title = htmlspecialchars($instance['title']); $establish_time = htmlspecialchars($instance['establish_time']); // 表格布局輸出表單 $output = '<table>'; $output .= '<tr><td>標(biāo)題</td><td>'; $output .= '<input id="'.$this->get_field_id('title') .'" name="'.$this->get_field_name('title').'" type="text" value="'.$instance['title'].'" />'; $output .= '</td></tr><tr><td>建站日期:</td><td>'; $output .= '<input id="'.$this->get_field_id('establish_time') .'" name="'.$this->get_field_name('establish_time').'" type="text" value="'.$instance['establish_time'].'" />'; $output .= '</td></tr></table>'; echo $output; } function update($new_instance, $old_instance){ // 更新數(shù)據(jù)的函數(shù) $instance = $old_instance; // 數(shù)據(jù)處理 $instance['title'] = strip_tags(stripslashes($new_instance['title'])); $instance['establish_time'] = strip_tags(stripslashes($new_instance['establish_time'])); return $instance; } function widget($args, $instance){ extract($args); //展開數(shù)組 $title = apply_filters('widget_title',empty($instance['title']) ? ' ' : $instance['title']); $establish_time = empty($instance['establish_time']) ? '2018-01-01' : $instance['establish_time']; echo $before_widget; echo $before_title . $title . $after_title; echo '<ul>'; // $this->efan_get_blogstat($establish_time, $instance); $this->efan_get_blogstat($establish_time); echo '</ul>'; echo $after_widget; } function efan_get_blogstat($establish_time /*, $instance */){ // 相關(guān)數(shù)據(jù)的獲取 global $wpdb; $count_posts = wp_count_posts(); $published_posts = $count_posts->publish; $comments_count = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments"); $time = floor((time()-strtotime($establish_time))/86400); $count_tags = wp_count_terms('post_tag'); $count_pages = wp_count_posts('page'); $page_posts = $count_pages->publish; $count_categories = wp_count_terms('category'); $link = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->links WHERE link_visible = 'Y'"); $last = $wpdb->get_results("SELECT MAX(post_modified) AS MAX_m FROM $wpdb->posts WHERE (post_type = 'post' OR post_type = 'page') AND (post_status = 'publish' OR post_status = 'private')"); $last = date('Y-n-j', strtotime($last[0]->MAX_m)); $total_views = $wpdb->get_var("SELECT SUM(meta_value+0) FROM $wpdb->postmeta WHERE meta_key = 'views'"); // 顯示數(shù)據(jù) $output = '<li>文章總數(shù):</li><li>'; $output .= $published_posts; $output .= ' 篇</li>'; $output .= '<li>留言數(shù)量:</li><li>'; $output .= $comments_count; $output .= ' 條</li>'; $output .= '<li>頁(yè)面總數(shù):</li><li>'; $output .= $page_posts; $output .= ' 個(gè)</li>'; $output .= '<li>分類總數(shù):</li><li>'; $output .= $count_categories; $output .= ' 個(gè)</li>'; $output .= '<li>標(biāo)簽總數(shù):</li><li>'; $output .= $count_tags; $output .= ' 個(gè)</li>'; $output .= '<li>友鏈總數(shù):</li><li>'; $output .= $link; $output .= ' 個(gè)</li>'; $output .= '<li>瀏覽總量:</li><li>'; $output .= $total_views; $output .= ' 次</li>'; $output .= '<li>建站日期:</li><li>'; $output .= $establish_time; $output .= '</li>'; $output .= '<li>運(yùn)行天數(shù):</li><li>'; $output .= $time; $output .= ' 天</li>'; $output .= '<li>最后更新:</li><li>'; $output .= $last; $output .= '</li>'; echo $output; } } function EfanBlogStat(){ // 注冊(cè)小工具 register_widget('EfanBlogStat'); } add_action('widgets_init','EfanBlogStat'); ?>
2、將#php上傳到/wp-content/themes/模板名稱/目錄下面,然后修改/wp-content/themes/模板名稱/functions.php文件,在此文件的末尾 “?>”之前加上如下代碼。
//添加站點(diǎn)統(tǒng)計(jì)小工具文件 include("#php");
3、自定義樣式,將下面的樣式添加到/wp-content/themes/模板名稱/style.css文件的末尾。
.widget_tongji ul{padding:5px 0 15px 20px;color:#00a67c;width: 94%} .widget_tongji li{width:42%;background-color:#fff;padding:5px 8px;display:inline-block;border:solid 1px #dddd;}
注:樣式名稱widget_tongji要和#php里面的classname對(duì)應(yīng)的值一致,樣式可以根據(jù)自己的模板進(jìn)行修改。
4、登錄WordPress后臺(tái),外觀->小工具 找到 “站點(diǎn)統(tǒng)計(jì)”小工具,然后添加到想要的位置。
最終阿湯博客的顯示效果,如下圖:
如果需要添加側(cè)邊欄微信二維碼聯(lián)系方式,可以參考文章:《如何在WordPress側(cè)邊欄添加微信二維碼聯(lián)系方式》