首页 > wordpress

我的wordpress汇总

主机

用的是衡天主机,套餐选择的是150元/年的香港主机,每月15G的流量用不完..1G的空间也用了快700M了,因为还有另外一个站点(实惠淘),再加上文件的备份...衡天主机用起来还是挺不错的,服务态度还不错......

于2014.2.15购买we love servers VPS

[well]

CPU:4 cores

内存:1 GB

vSWAP:1.2GB

硬盘:30 GB

带宽:100M→1G(发工单申请)

月流量:1 TB

1 IP/SolusVM

[/well]

我选择的是洛杉矶机房,ip是纽约的,路由追踪是在纽约,纽约州伊利县威廉斯维尔村ColoCrossing有限责任公司。

发工单问了,回复是ip数据库没有更新。

ping测试:[well]192.210.195.2[/well]

 

主题

 本站使用的是由天屹汉化的Bliss主题

来源: wordpress博客主题Bliss深度汉化分享

天屹汉化的主题是1.2版本的,最新版到了2.4.1。

插件

Advanced Code Editor :后台代码编辑器

All In One SEO Pack : SEO优化插件。

Baidu Sitemap Generator :百度网站地图。

BluthCodes:基于本主题开发的插件

CF Post Formats

CNZZ&51LA for WordPress :添加网站统计。

Crayon Syntax Highlighter  :wordpress代码高亮。

Google Custom Search :谷歌自定义检索。

Google Sitemap  :谷歌网站地图。

Page Links To :点击文章跳转其他站点。

Shockingly Simple Favicon  :添加favicon。

Smart Video  :文章页添加优酷、土豆等站点视频。

Spam Free Wordpress: 去垃圾邮件的插件。

TinyMCE Xiami Music  :文章页添加虾米音乐

Video.js - HTML5 Video Player for WordPress  :html5加载影片。

WordPress Database Backup  :wp数据库备份。

WordPress Importer :wp备份文件导入。

WP-PostViews  :文章浏览数统计。

WP-Syntax

WPJAM 七牛镜像存储  :七牛云存储必备插件。

WP Super Cache  :提高访问速度的好东西。

WP Youku:添加优酷视频

多说  :一个拖慢网站访问速度却找不到别的东西替代的评论插件。

服务

七牛云存储:免费的云储存,效果不错,谁用谁知道....

CNZZ:网站流量统计

wordpress--自制友情链接页面

相信大家都会碰到有些主题不带友情链接的页面,怎么办呢?这时我们得自己动手解决。

教程如下:

首先登录ftp,下载主题文件中的page.php至本地,并修改文件名为links.php。

接下来就是编辑这php文件了,笔者所用的编辑工具是notepad++,以下就是以notepad++为例子。

打开php文件后:

一、修改模版的名称,模版的名称在php文件的前1-5行。

修改如下:

<?php
	/**
	 * The template for displaying any single page.
	 *
	 */

改成:

<?php
	/*
Template Name: Links  
*/

二、修改模版名称后,搜索[blockquote ]<?php the_content(); ?>[/blockquote],在这段代码下面添加:

  <ul class="plinks">
				<?php wp_list_bookmarks('orderby=id&amp;category_orderby=id'); 
				?>
			</ul>

保存并上传ftp后,在css中添加:

/** 友情链接页面 **/  
.plinks{margin-bottom:10px;background-color: #fff;overflow:hidden;line-height:36px;padding: 10px 0 20px;}
.plinks h2{font-size:20px;border-bottom:solid 1px #eee;padding-bottom:0}
.plinks li{margin-bottom: 20px;}
.plinks ul{clear: both;overflow: hidden;}
.plinks ul li{width:33%;float:left;margin-bottom: 0;list-style-type: none;}
.plinks ul li a{display:inline-block;padding:5px 0;}

QQ截图20131029134208

 

三、为了更美观,给链接添加ico(因为每次都会调用google,所以会稍稍影响一点速度)  再此感谢碎碎念同学提供的js

<script type="text/javascript">
jQuery(document).ready(function($){
$(".plinks ul li a ").each(function(e){
$(this).prepend("<img src=http://www.google.com/s2/favicons?domain="+this.href.replace(/^(http:\/\/[^\/]+).*$/, '$1').replace( 'http://', '' )+" style=float:left;padding:2px 1px;>");
}); 
});
</script>

代码中的

.plinks ul li a

改成你的友情连接的样式。。后面的

style=float:left;padding:2px 1px;

按需求修改。。

 

效果如下:

http://www.muyiluling.com/links

QQ截图20131124223027

改进WordPress侧边栏最新评论功能:不显示自己(作者)的评论+直接显示评论内容

转自:http://www.typemylife.com/wordpress-recent-comments-remove-author-name-display-content/

1)让最新留言的具体内容直接显示出来

进入你的网站根目录,在WordPress源程序文件夹中的/wp-includes/路径下找到default-widgets.php,打开编辑之。

搜索到以下代码片段:

foreach ( (array) $comments as $comment) {
$output .=  '<li>' . /* translators: comments widget: 1: comment author, 2: post link */ sprintf(_x('%1$s on %2$s', 'widgets'), get_comment_author_link(), '<a href="' . esc_url( get_comment_link($comment->comment_ID) ) . '">' . get_the_title($comment->comment_post_ID) . '</a>') . '</li>';
}

修改步骤一:

把(_x('%1$s on %2$s', 'widgets')里面的这个单词“on”改成冒号“:”。

修改步骤二:

把get_the_title($comment->comment_post_ID)改为mb_strimwidth(strip_tags($comment->comment_content),0,50, 。。。》)。 这里的数字“50”是用来限制评论显示的字数,可以自行修改,至于后边那个小尾巴"。。。》"则是用来在实际评论字数少于允许显示的字数时补充空白处的,也可以依自己喜欢的格式修改之。

以上修改完成后,最新评论的格式就变为:“读者ID”+":"+“实际评论内容”。

2)让最新评论不显示作者自己的评论

修改对象依然是上面提到的default-widgets.php文件。

搜索到以下代码片段:

$comments = get_comments( apply_filters( 'widget_comments_args', array( 'number' => $number, 'status' => 'approve', 'post_status' => 'publish' ) ) );

修改为以下格式:

$comments = get_comments( apply_filters( 'widget_comments_args', array( 'number' => $number, 'status' => 'approve', 'post_status' => 'publish', 'type' => 'comment''user_id' => 0 ) ) );

解释一下:'user_id' => 0效果为不显示站长自己的回复,'type' => 'comment'效果为只显示评论类留言,即,不显示pingback和trackback类留言。

分享本站使用的多说评论CSS

效果图:

QQ截图20131013141649

 

记得改

#ds-reset .ds-avatar, #ds-thread #ds-reset ul.ds-children .ds-avatar {background:网站的背景颜色}

用户气泡提示框代码:倒数8-11行。(隐藏用户气泡提示框

#ds-thread #ds-reset #ds-bubble {display:none !important}

,这是隐藏鼠标移至用户名称时弹出来的气泡提示框,个人觉得没什么用啊,所以直接隐藏了。)

评论盖楼样式代码:倒数1-7行。(不用盖楼的评论方式用户可以直接删除这几行,精简一下代码。)

添加方法:打开「wordpress后台」 > 「多说评论」 > 「个性化设置」 > 然后把样式粘贴到「自定义CSS」文本框 > 「保存」

#ds-thread #ds-reset ul.ds-comments-tabs li.ds-tab a.ds-current {border:0px;color:#848568;text-shadow:none;background:#dddfc2}
#ds-thread #ds-reset .ds-highlight {font-family:Arial, Helvetica, sans-serif;font-size:14px;font-weight:bold;color:#848568 !important;}
#ds-thread #ds-reset ul.ds-comments-tabs li.ds-tab a.ds-current:hover {color:#696a52;background:#d4d6ba}
#ds-thread #ds-reset a.ds-highlight:hover {color:#696a52 !important;}

#ds-thread {padding-left:30px;}
#ds-thread #ds-reset li.ds-post,#ds-thread #ds-reset #ds-hot-posts {overflow:visible}
#ds-thread #ds-reset .ds-post-self {padding:10px 0 10px 10px;}
#ds-thread #ds-reset li.ds-post,#ds-thread #ds-reset .ds-post-self {border:0 !important;}
#ds-reset .ds-avatar, #ds-thread #ds-reset ul.ds-children .ds-avatar {position:absolute;top:26px;left:-14px;padding:5px;width:36px;height:36px;box-shadow:-1px 0 1px rgba(0,0,0,.15) inset;border-radius:46px; background:#E5E6D0;}
#ds-thread #ds-reset ul.ds-children .ds-avatar {left:-23px;}
#ds-thread .ds-avatar a {display:inline-block;padding:1px; width:32px;height:32px;border:1px solid #b9baa6;border-radius:50%; background-color:#fff !important}
#ds-thread .ds-avatar a:hover {border-color:#de5a4e}
#ds-thread .ds-avatar > img {margin:2px 0 0 2px}
#ds-thread #ds-reset .ds-replybox {box-shadow:none;}
#ds-thread #ds-reset ul.ds-children .ds-replybox.ds-inline-replybox a.ds-avatar,
#ds-reset .ds-replybox.ds-inline-replybox a.ds-avatar {left: 0;top: 0; padding: 0;width: 32px !important;height: 32px !important; background: none;box-shadow: none; }
#ds-reset .ds-replybox.ds-inline-replybox a.ds-avatar img {width: 32px !important;height: 32px !important; border-radius:50%;}
#ds-reset .ds-replybox a.ds-avatar,
#ds-reset .ds-replybox .ds-avatar img { padding:0;width:50px !important;height:50px !important; border-radius:5px; }
#ds-reset .ds-avatar img {width:32px !important;height:32px !important;border-radius:32px;box-shadow:0 1px 3px rgba(0, 0, 0, 0.22);
-webkit-transition:.4s all ease-in-out;-moz-transition:.4s all ease-in-out;-o-transition:.4s all ease-in-out;-ms-transition:.4s all ease-in-out;transition:.4s all ease-in-out;
}
.ds-post-self:hover .ds-avatar img {-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-o-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}

#ds-thread #ds-reset .ds-comment-body {background: #F0F0E3;padding:15px 15px 12px 32px;border-radius:5px; box-shadow:0 1px 2px rgba(0,0,0,.15), 0 1px 0 rgba(255,255,255,.75) inset;}

#ds-thread #ds-reset .ds-comment-body p{color:#787968}
#ds-thread #ds-reset .ds-comments a.ds-user-name {font-weight:bold;color:#696A52 !important;}
#ds-thread #ds-reset .ds-comments a.ds-user-name:hover {color:#D32 !important;}

#ds-thread #ds-reset #ds-hot-posts {border:0}
#ds-reset #ds-hot-posts .ds-gradient-bg {background:none;}

&nbsp;

#ds-reset #ds-bubble #ds-ctx .ds-ctx-entry {padding:0;}
#ds-reset #ds-bubble .ds-avatar, #ds-reset #ds-bubble #ds-ctx-bubble .ds-avatar a {position:static;padding:0;border:0; background:none;box-shadow:none;}
#ds-reset #ds-bubble .ds-avatar img, #ds-reset #ds-bubble #ds-ctx-bubble .ds-avatar a {width:45px !important;height:45px !important;}
#ds-reset #ds-bubble .ds-user-name{padding-left:13px;}
#ds-reset .ds-comment-body #ds-ctx {border-left:1px solid #b9baa6;background-color:#e8e8dc !important}
#ds-reset #ds-ctx {margin-right:-15px}
#ds-reset #ds-ctx .ds-ctx-entry {position:relative;padding:10px 30px 10px 10px;}
#ds-reset #ds-ctx .ds-ctx-entry .ds-avatar {top:6px;left:5px;background:none;box-shadow:none;}
#ds-reset #ds-ctx .ds-ctx-entry .ds-ctx-body {margin-left:46px;}
#ds-reset #ds-ctx .ds-ctx-entry .ds-ctx-content {color:#787968}
#ds-reset #ds-ctx .ds-ctx-entry .ds-ctx-head a {color:#696A52;font-weight:bold}

 

自制国内免费CDN-百度BAE全平台Layer镜像CDN加速安装使用

 

文章出自:免费资源部落 http://www.freehao123.com/

一、在百度BAE空间上安装Layer免费CDN程序

1、Layer程序包下载:

  • 1、官网地址:https://github.com/oott123/Layer
  • 2、如果官网打不开,请到本地下载:Layer下载

2、在文章开始前,你需要先熟悉BAE空间的基本操作,百度BAE安装wordpressBAE空间成功安装运行Discuz! X2.5

3、先在百度BAE空间上创建一个应用。

百度BAE创建一个应用

4、然后设置好应用域名和应用名称、PHP环境等。

百度BAE设置好环境

5、最后到百度BAE中新建一个Bucket。

百度BAE新建一个Bucket

6、属性设置为公开读就可以了。

百度BAE属性为公开读

7、上传Layer程序包到BAE空间上,可以用在线上传代码包的形式,也可以用SVN、Git等方式。

百度BAE上传代码包

二、开启Layer CDN加速的设置方法

1、BAE空间上可以在线编辑代码,或者你可以在本地编辑代码后再上传到BAE空间上。

百度BAE在线编辑代码

2、Layer的设置都在config.sample.inc.php文件中,打开该文件,可以看到Layer的基本设定。说明如下:


/**********基本设定**********/
	define('STATIC_URL','http://www.freehao123.com/');	//源站URL
	define('DOMAIN','freecdnbae');	//使用云存储时,填写存储空间的名字;使用本地存储时,填写存储的相对路径。
	define('WELCOME_DOC',TRUE);	//空请求时是否显示欢迎界面

3、这里我用了我的Godaddy空间的域名来作演示,这是我修改的。

Layer镜像CDN基本设置

4、完成后,记得将你的BAE应用上线。

Layer镜像CDN应用上线

三、Layer镜像CDN加速效果测试

1、Layer和七牛镜像CDN有着类似的原理,图片在第一次被访问时会被自动同步到CDN服务器端,以后访问该图片时就是直接从CDN服务器中加载了。

2、测试你的Layer镜像CDN加速有没有生效,一个直接的办法就是替换掉图片的URL的域名,如果能打开,说明图片已经被Layer同步到了BAE或者SAE空间上了。

Layer镜像CDN测试生效

3、上面说了用Layer可以打造一个BAE版的“七牛”,原因是Layer可以将你的图片的路径完整地镜像出来,这一点有点像又拍云存储

Layer镜像CDN路径缓存

4、除了图片,JS、CSS等静态文件也可以被Layer镜像。

Layer镜像CDN缓存CSS

5、被镜像的CDN路径完整被保留。

Layer镜像CDN完成保留

6、如果你用的是Wordpress,可以直接安装WP Super Cache插件,在CDN选项中开启,填写你的BAE镜像CDN域名地址即可。

Layer镜像CDN在Wordpress中开启

7、Layer镜像CDN加速效果可以看到我的Godaddy主机网站:s0su.com

四、Layer镜像CDN加速防盗链,手动更新缓存,Memcached内存缓存

1、同样是打开config.sample.inc.php文件,如果想要开启防盗链设置,请把“//”给删除,然后设置好你的文件外链的白名单。

Layer镜像CDN防盗链

2、define('PURGE_KEY','purge');这句是用来手动刷新缓存文件的,purge可以自己指定一个,要刷新某一个文件在服务器的缓存时,用域名URL+purge+文件路径刷新。

3、例如部落的http://freecdnbae.duapp.com/purge/usr/uploads/2013/08/freehao123.jpg,用浏览器打开它就是刷新该图片在BAE空间上的缓存了。

Layer镜像CDN更新缓存

4、这是刷新缓存成功的提示。

Layer镜像CDN成功提示

5、Layer镜像CDN加速支持Memcached内存缓存,你只需要到BAE空间中开启Memcached内存缓存即可。

Layer镜像CDN开启内存缓存

五、Layer镜像CDN加速设置自己的域名作CDN的域名

1、前几天,部落分享了七牛云存储,可惜没有Bei案的网站只能使用七牛的二级域名,有朋友就因为这个不想用七牛。本次介绍的Layer镜像CDN可以完全解决此问题。

2、我们都知道BAE空间支持未Bei案的域名绑定空间,利用此特点,我们的Layer镜像CDN就可以使用自己的域名作为CDN的域名URL了,而且还照样是国内CDN,这点还强于七牛。

3、到BAE空间上添加新的域名绑定。

Layer镜像CDN域名绑定

4、域名绑定前需要先做CNAME解析到BAE给出的URL地址,等DNS解析生效后,你就可以成功在BAE空间上添加自己的域名了。

Layer镜像CDN完成解析

5、一旦域名绑定到了BAE空间上,你就可以使用马上在Layer镜像CDN中使用自己的域名了,文件加速效果如下:

Layer镜像CDN使用自己的域名URL

六、Layer镜像CDN加速一些问题和小结

1、经过部落测试发现,如果网页图片过多的话首次访问会比较感觉到慢,这是因为Layer需要将图片从美国主机上下载保存到百度BAE空间上,期间会消耗一定的时间。

2、Layer可以完全镜像图片、JS、CSS等文件,如果你使用了Layer出现了CSS加载不正常的情况,请直接在Wordpress的WP Super Cache插件中排除对CSS的CDN缓存。

Layer镜像CDN排除特定缓存

3、Layer镜像CDN支持自定义HTTP Host、自定义缓存后缀,极端特殊情况也能轻松使用,方便进行全站CDN。又因为Layer可直接用在PHP环境中,这意味着你可以在任意一台PHP主机上搭建一个免费CDN服务出来。

WordPress博客统计小工具

原文链接:  http://www.chunfengxiyu.com/wordpress-blog-statistics-widget.html

许多博客侧边栏都有“博客统计”或“网站统计”一栏,显示诸如:“文章总数、评论总数、浏览总数、标签个数、友情链接、建站日期、运行天数”等博客信息,具有直观、一目了然、体验性友好等特点。下面我就把自己折腾Wordpresss的博客统计的方法写出来,并教大家如何把博客统计弄在Wordpress非常好用的侧边栏(Sidebar)上,使之自由拖动于其它小工具之上下,相当方便。

Wordpress博客统计小工具在Wordpress后台的侧边栏中显示如下图所示:

QQ截图20130822170351

WordPress博客统计小工具在Wordpress前台的侧边栏中显示如下图所示:

QQ截图20130822170806

要实现以上博客统计小工具,只需要在wordpress/wp-content/themes/即当前主题文件夹下的functions.php加把如下粘贴在合适的位置(修改前注意备份,最基本的常识。)

<?php
  
/**
 * Blog_Stat widget class 博客统计工具类
*/
  
function cfxy_widgets_init() {
    if ( !is_blog_installed() )
        return;
  
    register_widget('CFXY_Widget_Blog_Stat');  
  
    do_action('widgets_init');
}
  
add_action('init', 'cfxy_widgets_init', 1);
  
function insert_visitors() {
    global $wpdb ;
    static $fOk = FALSE;
      
    $data_array = array(
        'meta_id' => 110000,
        'post_id' => 110000,
        'meta_key' => 'Visitors',
        'meta_value' => '0'
    );
      
    $format_array = array(
        '%d', '%d', '%s', '%s'
    );
  
    $wpdb->insert($wpdb->postmeta, $data_array, $format_array) ;
}
  
function update_visitors() {
    global $wpdb ;
      
    $visitors = $wpdb->get_var($wpdb->prepare("SELECT meta_value FROM $wpdb->postmeta WHERE meta_id = 110000"));
      
    $visitors++;
  
    $wpdb->update($wpdb->postmeta, array('meta_value' => $visitors), array('meta_id' => 110000), array('%s'), array('%d')) ;
}
  
function get_visitors() {
    global $wpdb;
      
    insert_visitors();
    update_visitors();
    $visitors = $wpdb->get_var($wpdb->prepare("SELECT meta_value FROM $wpdb->postmeta WHERE meta_id = 110000"));
  
    echo $visitors;
}
  
function get_totalcomments() {
    global $wpdb;
    $comments = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments");
    echo $comments ;
}
  
function get_totallinks() {
    global $wpdb;
    $links = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->links WHERE link_visible = 'Y'");
    echo $links ;
}
  
function get_totaldays($date) {
    $days = floor((time()-strtotime($date))/86400);
    echo $days ;
}
  
function get_totalposts() {
    $posts = wp_count_posts()->publish;
    echo $posts ;
}
  
function get_totaltags() {
    $tags = wp_count_terms('post_tag');
    echo $tags ;
}
  
  
class CFXY_Widget_Blog_Stat extends WP_Widget
{
    function __construct()
    {
        $widget_ops = array('classname' => 'blog-stat', 'description' => __( "The blog statistics on your site") );
        parent::__construct('cfxy_blog_stat', __('网站统计'), $widget_ops);
        $this->alt_option_name = 'blog-stat';
  
        add_action( 'save_post', array($this, 'flush_widget_cache') );
        add_action( 'deleted_post', array($this, 'flush_widget_cache') );
        add_action( 'switch_theme', array($this, 'flush_widget_cache') );
    }
  
    function widget($args, $instance)
    {
        $cache = wp_cache_get('widget_blog_stat', 'widget');
  
        if ( !is_array($cache) )
            $cache = array();
  
        if ( ! isset( $args['widget_id'] ) )
            $args['widget_id'] = $this->id;
  
        if ( isset( $cache[ $args['widget_id'] ] ) ) {
            echo $cache[ $args['widget_id'] ];
            return;
        }
  
        ob_start();
        extract($args);
  
        $title = apply_filters('widget_title', empty($instance['title']) ? __('网站统计') : $instance['title'], $instance, $this->id_base);
        $time = apply_filters('Time', empty($instance['time']) ? __('2013-01-01') : $instance['time'], $instance, $this->id_base);
        $posts = apply_filters('posts', empty($instance['posts']) ? __(' 文章总数:') : $instance['posts'], $instance, $this->id_base);
        $comments = apply_filters('comments', empty($instance['comments']) ? __(' 评论总数:') : $instance['comments'], $instance, $this->id_base);
        $visitors = apply_filters('visitors', empty($instance['visitors']) ? __(' 浏览总数:') : $instance['visitors'], $instance, $this->id_base);
        $tags = apply_filters('tags', empty($instance['tags']) ? __(' 标签个数:') : $instance['tags'], $instance, $this->id_base);
        $links = apply_filters('links', empty($instance['links']) ? __(' 友情链接:') : $instance['links'], $instance, $this->id_base);
        $date = apply_filters('date', empty($instance['date']) ? __(' 建站日期:') : $instance['date'], $instance, $this->id_base);
        $days = apply_filters('days', empty($instance['days']) ? __(' 运行天数:') : $instance['days'], $instance, $this->id_base);
  
        $show_posts = isset( $instance['show_posts'] ) ? $instance['show_posts'] : false;
        $show_comments = isset( $instance['show_comments'] ) ? $instance['show_comments'] : false;
        $show_visitors = isset( $instance['show_visitors'] ) ? $instance['show_visitors'] : false;
        $show_links = isset( $instance['show_links'] ) ? $instance['show_links'] : false;
        $show_tags = isset( $instance['show_tags'] ) ? $instance['show_tags'] : false;
        $show_date = isset( $instance['show_date'] ) ? $instance['show_date'] : false;
        $show_days = isset( $instance['show_days'] ) ? $instance['show_days'] : false;
  
        ?>
            <?php echo $before_widget; ?>
            <?php if ( $title ) echo $before_title . $title . $after_title; ?>   
            <ul>
                <?php if ( $show_posts ) : ?>
                    <li><?php echo $posts; ?><?php get_totalposts(); ?></li>
                <?php endif; ?>
                                      
                <?php if ( $show_comments ) : ?>
                    <li><?php echo $comments; ?><?php get_totalcomments(); ?></li> 
                <?php endif; ?>
                                      
                <?php if ( $show_visitors ) : ?>
                    <li><?php echo $visitors; ?><?php  get_visitors();  ?></li>
                <?php endif; ?>  
                              
                <?php if ( $show_tags ) : ?>
                    <li><?php echo $tags; ?><?php get_totaltags(); ?></li>  
                <?php endif; ?>
                  
                <?php if ( $show_links ) : ?>
                    <li><?php echo $links; ?><?php get_totallinks(); ?></li>
                <?php endif; ?>
                  
                <?php if ( $show_date ) : ?>
                    <li><?php echo $date; ?><?php echo $time; ?></li>
                <?php endif; ?>  
                              
                <?php if ( $show_days ) : ?>
                    <li><?php echo $days; ?><?php get_totaldays($time); ?></li>
                <?php endif; ?>
            </ul>
            <?php echo $after_widget; ?>
        <?php
  
        $cache[$args['widget_id']] = ob_get_flush();
        wp_cache_set('widget_blog_stat', $cache, 'widget');
    }
      
    function update( $new_instance, $old_instance )
    {
        $instance = $old_instance;
        $instance['title'] = strip_tags($new_instance['title']);
        $instance['time'] = strip_tags($new_instance['time']);
          
        $instance['posts'] = strip_tags($new_instance['posts']);
        $instance['comments'] = strip_tags($new_instance['comments']);
        $instance['visitors'] = strip_tags($new_instance['visitors']);     
        $instance['tags'] = strip_tags($new_instance['tags']);
        $instance['links'] = strip_tags($new_instance['links']);
        $instance['date'] = strip_tags($new_instance['date']);
        $instance['days'] = strip_tags($new_instance['days']);
          
        $instance['show_posts'] = (bool) ($new_instance['show_posts']);
        $instance['show_comments'] = (bool) ($new_instance['show_comments']);      
        $instance['show_visitors'] = (bool) ($new_instance['show_visitors']);  
        $instance['show_links'] = (bool) ($new_instance['show_links']);
        $instance['show_tags'] = (bool) ($new_instance['show_tags']);
        $instance['show_date'] = (bool) $new_instance['show_date'];
        $instance['show_days'] = (bool) $new_instance['show_days'];
                  
        $this->flush_widget_cache();
  
        $alloptions = wp_cache_get( 'alloptions', 'options' );
        if ( isset($alloptions['blog-stat']) )
            delete_option('blog-stat');
  
        return $instance;
    }
  
    function flush_widget_cache()
    {
        wp_cache_delete('widget_blog_stat', 'widget');
    }
  
    function form( $instance )
    {
        $title  = isset( $instance['title'] ) ? esc_attr( $instance['title'] ) : '';
        $time   = isset( $instance['time'] ) ? esc_attr( $instance['time'] ) : '';
          
        $posts  = isset( $instance['posts'] ) ? esc_attr( $instance['posts'] ) : '';
        $comments  = isset( $instance['comments'] ) ? esc_attr( $instance['comments'] ) : '';
        $visitors  = isset( $instance['visitors'] ) ? esc_attr( $instance['visitors'] ) : '';      
        $tags   = isset( $instance['tags'] ) ? esc_attr( $instance['tags'] ) : '';
        $links  = isset( $instance['links'] ) ? esc_attr( $instance['links'] ) : '';
        $date   = isset( $instance['date'] ) ? esc_attr( $instance['date'] ) : '';
        $days  = isset( $instance['days'] ) ? esc_attr( $instance['days'] ) : '';
          
        $show_posts = isset( $instance['show_posts'] ) ? esc_attr( $instance['show_posts'] ) : '';
        $show_comments = isset( $instance['show_comments'] ) ? esc_attr( $instance['show_comments'] ) : '';
        $show_visitors = isset( $instance['show_visitors'] ) ? esc_attr( $instance['show_visitors'] ) : '';
        $show_links = isset( $instance['show_links'] ) ? esc_attr( $instance['show_links'] ) : '';     
        $show_tags = isset( $instance['show_tags'] ) ? esc_attr( $instance['show_tags'] ) : '';
        $show_date = isset( $instance['show_date'] ) ? esc_attr( $instance['show_date'] ) : '';
        $show_days = isset( $instance['show_days'] ) ? esc_attr( $instance['show_days'] ) : '';
          
        ?>
            <p><label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Widgets 标题:(如 “博客统计”)' ); ?></label>
            <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo $title; ?>" /></p>
              
            <p><label for="<?php echo $this->get_field_id( 'time' ); ?>"><?php _e( '建站日期:(格式 “2013-01-01”)' ); ?></label>
            <input class="widefat" id="<?php echo $this->get_field_id( 'time' ); ?>" name="<?php echo $this->get_field_name( 'time' ); ?>" type="text" value="<?php echo $time; ?>" /></p> 
              
            <p>可自定义各统计项标题:(空则为默认)</p>
              
            <p>
                <input class="checkbox" type="checkbox" <?php checked( $show_posts ); ?> id="<?php echo $this->get_field_id( 'show_posts' ); ?>" name="<?php echo $this->get_field_name( 'show_posts' ); ?>" />
                <label for="<?php echo $this->get_field_id( 'posts' ); ?>"><?php _e('&nbsp;"文章总数:"&nbsp;==>   ' ); ?></label>
                <input id="<?php echo $this->get_field_id( 'posts' ); ?>" name="<?php echo $this->get_field_name( 'posts' ); ?>" type="text" value="<?php echo $posts; ?>"  size="10" />
            </p>
                          
            <p>
                <input class="checkbox" type="checkbox" <?php checked( $show_comments ); ?> id="<?php echo $this->get_field_id( 'show_comments' ); ?>" name="<?php echo $this->get_field_name( 'show_comments' ); ?>" />         
                <label for="<?php echo $this->get_field_id( 'comments' ); ?>"><?php _e( '&nbsp;"评论总数:"&nbsp;==>   ' ); ?></label>
                <input id="<?php echo $this->get_field_id( 'comments' ); ?>" name="<?php echo $this->get_field_name( 'comments' ); ?>" type="text" value="<?php echo $comments; ?>"  size="10" />
            </p>
                          
            <p>
                <input class="checkbox" type="checkbox" <?php checked( $show_visitors ); ?> id="<?php echo $this->get_field_id( 'show_visitors' ); ?>" name="<?php echo $this->get_field_name( 'show_visitors' ); ?>" />         
                <label for="<?php echo $this->get_field_id( 'visitors' ); ?>"><?php _e( '&nbsp;"浏览总数:"&nbsp;==>   ' ); ?></label>
                <input id="<?php echo $this->get_field_id( 'visitors' ); ?>" name="<?php echo $this->get_field_name( 'visitors' ); ?>" type="text" value="<?php echo $visitors; ?>"  size="10" />
            </p>
              
            <p>
                <input class="checkbox" type="checkbox" <?php checked( $show_tags ); ?> id="<?php echo $this->get_field_id( 'show_tags' ); ?>" name="<?php echo $this->get_field_name( 'show_tags' ); ?>" />         
                <label for="<?php echo $this->get_field_id( 'tags' ); ?>"><?php _e( '&nbsp;"标签个数:"&nbsp;==>   ' ); ?></label>
                <input id="<?php echo $this->get_field_id( 'tags' ); ?>" name="<?php echo $this->get_field_name( 'tags' ); ?>" type="text" value="<?php echo $tags; ?>"  size="10" />
            </p>
                          
            <p>
                <input class="checkbox" type="checkbox" <?php checked( $show_links ); ?> id="<?php echo $this->get_field_id( 'show_links' ); ?>" name="<?php echo $this->get_field_name( 'show_links' ); ?>" />
                <label for="<?php echo $this->get_field_id( 'links' ); ?>"><?php _e( '&nbsp;"友情链接:"&nbsp;==>   ' ); ?></label>
                <input id="<?php echo $this->get_field_id( 'links' ); ?>" name="<?php echo $this->get_field_name( 'links' ); ?>" type="text" value="<?php echo $links; ?>"  size="10" />
            </p>
                          
            <p>
                <input class="checkbox" type="checkbox" <?php checked( $show_date ); ?> id="<?php echo $this->get_field_id( 'show_date' ); ?>" name="<?php echo $this->get_field_name( 'show_date' ); ?>" />         
                <label for="<?php echo $this->get_field_id( 'date' ); ?>"><?php _e( '&nbsp;"建站日期:"&nbsp;==>   ' ); ?></label>
                <input id="<?php echo $this->get_field_id( 'date' ); ?>" name="<?php echo $this->get_field_name( 'date' ); ?>" type="text" value="<?php echo $date; ?>"  size="10" />
            </p>
                          
            <p>
                <input class="checkbox" type="checkbox" <?php checked( $show_days ); ?> id="<?php echo $this->get_field_id( 'show_days' ); ?>" name="<?php echo $this->get_field_name( 'show_days' ); ?>" />
                <label for="<?php echo $this->get_field_id( 'days' ); ?>"><?php _e( '&nbsp;"运行天数:"&nbsp;==>   ' ); ?></label>
                <input id="<?php echo $this->get_field_id( 'days' ); ?>" name="<?php echo $this->get_field_name( 'days' ); ?>" type="text" value="<?php echo $days; ?>"  size="10" />
            </p>
              
        <?php
    }
}
  
?>

 

 

在后台,可以对“博客统计”小工具进行自定义显示,比如勾选则显示相对应统计项,不勾选则不显示;还可以自定义统计项名称,比如把有人可能喜欢前台显示“日志总数”,则可在第一图中对应项修改为自己要显示的文本。当然也可以在如上代码中修改,有用户界面,只为便捷而已矣。

html5 video.js test

建议使用firefox或chrome观看视频(这两款浏览器支持html5)

mp4

The location of the h.264/MP4 source for the video.

[videojs mp4="http://video-js.zencoder.com/oceans-clip.mp4"]
ogg

The location of the Theora/Ogg source for the video.

[videojs ogg="http://video-js.zencoder.com/oceans-clip.ogg"]
webm

The location of the VP8/WebM source for the video.

[videojs webm="http://video-js.zencoder.com/oceans-clip.webm"]
poster

The location of the poster frame for the video.

[videojs poster="http://video-js.zencoder.com/oceans-clip.png"]

啦啦啦~wp又搬家了

wordpress终于搬家了,搬到hostinger免费的php空间上。。。

com.nu搓在内存才32M上,hostinger有128M,再也不用担心内存溢出了。。

ping还可以,大概400左右...com.nu ping也差不多在400左右...这是探针:http://myll.zz.mu/tz.php