玩wordpress也有一年多了,虽然代码写的不多。不过接触多了还是学到不少东西。这次发现站点的近期文章栏目比较鸡肋,因为我的站点现在以CMS形式展现,基本上近期发现的文章在首页都能看到。所以研究了一下小工具,花了几十分钟,写好了插件!下面源码放上来。
//热门文章
//热门文章
class HotPostsWidget extends WP_Widget{
	
	public function __construct() {
		// 构造方法
		parent::__construct(
	 		'hot_widget', // ID
			'[FO]热门文章', // 名称
			array( 'description' => __( '显示你博客最热门的文章', '显示你博客最热门的文章' ), ) // Args
		);
	}
	
	public function widget( $args, $instance ) {
		// 用户浏览界面
		extract($args);
		$title = apply_filters('widget_title', empty($instance['title']) ? __('热门文章') : $instance['title']);//小工具前台标题
		echo $before_widget;  //id开始框
		if( $title ) echo $before_title . $title . $after_title; //标题
		$showPosts = empty($instance['showPosts']) ? 10 : $instance['showPosts'];
		$sticky=get_option('sticky_posts');
		$query = new WP_Query(array(
			'orderby' => 'comment_count',
			'posts_per_page' => $showPosts,
			'post__not_in' => $sticky
		));
		if($query->have_posts()){
			$index = 1;
			echo '';
			while($query->have_posts()){
				$query->the_post();
				$span = ''.$index.'';
				echo '- '.$span.''.get_the_title().'';
				++$index;
			}
			echo '
';
		}  
		echo $after_widget;
	}
 
 	public function form( $instance ) {
		// 管理员设置界面
		$title = htmlspecialchars($instance['title']);
		echo '
';
		$showPosts = empty($instance['showPosts']) ? 10 : $instance['showPosts'];
		echo '
';
	}
 
	public function update( $new_instance, $old_instance ) {
		// 设置更新的值
		$instance = array();
		$instance['title'] = strip_tags(stripslashes($new_instance['title']));
		$instance['showPosts'] = strip_tags(stripslashes($new_instance['showPosts']));
		return $instance;
	}
	
}
最后在你的主题下面的functions.php中注册插件就好了,注册函数register_widget。
补充一点:热门文章已经屏蔽了置顶的文章,不然数量不对!本文链接:http://it72.com/8694.htm