kn007的个人博客
♥ You are here: Home > 软件与网络 > php > 更新loper侧边栏,添加热门文章Widget

更新loper侧边栏,添加热门文章Widget

by | 7 Comments

提醒:本文最后更新于 4106 天前,文中所描述的信息可能已发生改变,请仔细核实。

闲着蛋疼,嫌loper东西太少,而且没有更新。最近会尝试自制更新一些函数。

class loper_widget6 extends WP_Widget {
    function loper_widget6() {
        $widget_ops = array('description' => '配合主题样式,多了个悬停箭头出现');
        $this->WP_Widget('loper_widget6', 'loper主题热门文章', $widget_ops);
    }
    function widget($args, $instance) {
        extract($args);
        $title = apply_filters('widget_title',esc_attr($instance['title']));
        $limit = strip_tags($instance['limit']);
        $day = strip_tags($instance['day']);
        echo $before_widget.$before_title.$title.$after_title;
        most_comm_posts($day,$limit);
        echo $after_widget;
    }
    function update($new_instance, $old_instance) {
        if (!isset($new_instance['submit'])) {
            return false;
        }
        $instance = $old_instance;
        $instance['title'] = strip_tags($new_instance['title']);
        $instance['limit'] = strip_tags($new_instance['limit']);
        $instance['day'] = strip_tags($new_instance['day']);
        return $instance;
    }
    function form($instance) {
        global $wpdb;
        $instance = wp_parse_args((array) $instance, array('title'=> '', 'limit' => '', 'day' => ''));
        $title = esc_attr($instance['title']);
        $limit = strip_tags($instance['limit']);
        $day = strip_tags($instance['day']);
?>
        <p>
            <label for="<?php echo $this->get_field_id('title'); ?>">标题:<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; ?>" /></label>
        </p>
        <p>
            <label for="<?php echo $this->get_field_id('limit'); ?>">显示数量:<input class="widefat" id="<?php echo $this->get_field_id('limit'); ?>" name="<?php echo $this->get_field_name('limit'); ?>" type="text" value="<?php echo $limit; ?>" /></label>
        </p>
        <p>
            <label for="<?php echo $this->get_field_id('day'); ?>">时间限制:<input class="widefat" id="<?php echo $this->get_field_id('day'); ?>" name="<?php echo $this->get_field_name('day'); ?>" type="text" value="<?php echo $day; ?>" /></label>
        </p>
        <input type="hidden" id="<?php echo $this->get_field_id('submit'); ?>" name="<?php echo $this->get_field_name('submit'); ?>" value="1" />
<?php
    }
}
function most_comm_posts($days=7, $nums=10) {global $wpdb;$today = date("Y-m-d H:i:s"); $daysago = date( "Y-m-d H:i:s", strtotime($today) - ($days * 24 * 60 * 60) );$result = $wpdb->get_results("SELECT comment_count, ID, post_title, post_date FROM $wpdb->posts WHERE post_date BETWEEN '$daysago' AND '$today' ORDER BY comment_count DESC LIMIT 0 , $nums");$output = '';if(empty($result)) {$output = '<li>None data.</li>';} else {foreach ($result as $topten) {$postid = $topten->ID;$title = $topten->post_title;$commentcount = $topten->comment_count;    if ($commentcount != 0) {    $output .= '<ul class="ulstyle"><li><a href="'.get_permalink($postid).'" title="'.$title.'">'.$title.'</a><span class="sidebaraction"></span></li></ul>';}}}echo $output;}
add_action('widgets_init', 'loper_widget6_init');
function loper_widget6_init() {
    register_widget('loper_widget6');
}

转载请注明转自:kn007的个人博客的《更新loper侧边栏,添加热门文章Widget

donate
有所帮助?

Comments

7 Comments立即评论
  1. 根据评论数量来排名的吗?

  2. MOD回复

    嗯,是的

    1. 回复

      @kn007: 主题很炫,能共享吗?给个评论文件参考一下...嘿嘿

    2. MOD回复

      @kiyo: 请支持正版,谢谢

  3. 这个很不错的了!代码我要收藏起来!现在用的是无觅提供的那个,还能用!但这个更好!

  4. 博主呀!这个代码是不是全要放到Function.php文件里呀?

    1. MOD回复

      @明月登楼: 额,主题一般在主题文件夹下还有一个functions文件夹,里面有个widget相关的东西,升级他。

icon_wink.gificon_neutral.gificon_mad.gificon_twisted.gificon_smile.gificon_eek.gificon_sad.gificon_rolleyes.gificon_razz.gificon_redface.gificon_surprised.gificon_mrgreen.gificon_lol.gificon_idea.gificon_biggrin.gificon_evil.gificon_cry.gificon_cool.gificon_arrow.gificon_confused.gificon_question.gificon_exclaim.gif