* @license MIT License * @version 2020.02.23 */ // 添加小工具 function widgets_init() { register_sidebar(array( 'name' => __('侧边栏工具', 'kratos'), 'id' => 'sidebar_tool', 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '
', 'after_title' => '
', )); // 去掉默认小工具 $wp_widget = array( 'WP_Widget_Pages', 'WP_Widget_Archives', 'WP_Widget_Meta', 'WP_Widget_Recent_Posts', 'WP_Widget_Recent_Comments', 'WP_Widget_RSS', 'WP_Widget_Tag_Cloud', 'WP_Nav_Menu_Widget', ); foreach ($wp_widget as $wp_widget) { unregister_widget($wp_widget); } } add_action('widgets_init', 'widgets_init'); // 小工具文章聚合 - 热点文章 function most_comm_posts($days = 30, $nums = 6) { global $wpdb; date_default_timezone_set("PRC"); $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' and post_type='post' and post_status='publish' ORDER BY comment_count DESC LIMIT 0 , $nums"); $output = ''; if (!empty($result)) { foreach ($result as $topten) { $postid = $topten->ID; $title = $topten->post_title; $commentcount = $topten->comment_count; if ($commentcount >= 0) { $output .= ''; $output .= strip_tags($title); $output .= ''; } } } echo $output; } class widget_ad extends WP_Widget { public function __construct() { add_action('admin_enqueue_scripts', array($this, 'scripts')); $widget_ops = array( 'name' => __('图片广告', 'kratos'), 'description' => __('显示自定义图片广告的工具', 'kratos'), ); parent::__construct(false, false, $widget_ops); } public function scripts() { wp_enqueue_script('media-upload'); wp_enqueue_media(); wp_enqueue_script('widget_scripts', get_template_directory_uri() . '/assets/js/widget.min.js', array('jquery')); wp_enqueue_style('widget_css', get_template_directory_uri() . '/assets/css/widget.min.css', array()); } public function widget($args, $instance) { $subtitle = !empty($instance['subtitle']) ? $instance['subtitle'] : __('广告', 'kratos'); $image = !empty($instance['image']) ? $instance['image'] : ''; $url = !empty($instance['url']) ? $instance['url'] : ''; echo '
'; echo '
' . $subtitle . '
'; echo '
'; } public function update($new_instance, $old_instance) { $instance = array(); $instance['subtitle'] = (!empty($new_instance['subtitle'])) ? $new_instance['subtitle'] : ''; $instance['image'] = (!empty($new_instance['image'])) ? $new_instance['image'] : ''; $instance['url'] = (!empty($new_instance['url'])) ? $new_instance['url'] : ''; return $instance; } public function form($instance) { $subtitle = !empty($instance['subtitle']) ? $instance['subtitle'] : __('广告', 'kratos'); $image = !empty($instance['image']) ? $instance['image'] : ''; $url = !empty($instance['url']) ? $instance['url'] : ''; ?>

__('个人简介', 'kratos'), 'description' => __('可跳转后台的个人简介展示工具', 'kratos'), ); parent::__construct(false, false, $widget_ops); } public function scripts() { wp_enqueue_script('media-upload'); wp_enqueue_media(); wp_enqueue_script('widget_scripts', get_template_directory_uri() . '/assets/js/widget.min.js', array('jquery')); wp_enqueue_style('widget_css', get_template_directory_uri() . '/assets/css/widget.min.css', array()); } public function widget($args, $instance) { $introduce = kratos_option('a_about', __('保持饥渴的专注,追求最佳的品质', 'kratos')); $avatar = kratos_option('a_gravatar', get_template_directory_uri() . '/assets/img/gravatar.png'); $background = !empty($instance['background']) ? $instance['background'] : get_stylesheet_directory_uri() . '/assets/img/about-background.png'; echo '
'; echo '
'; if (current_user_can('manage_options')) { echo ''; } else { echo ''; } echo ''; echo '

' . $introduce . '

'; echo '
'; } public function update($new_instance, $old_instance) { $instance = array(); $instance['background'] = (!empty($new_instance['background'])) ? $new_instance['background'] : ''; return $instance; } public function form($instance) { $background = !empty($instance['background']) ? $instance['background'] : get_stylesheet_directory_uri() . '/assets/img/about-background.png'; ?>

__('标签聚合', 'kratos'), 'description' => __('文章标签的展示工具', 'kratos'), ); parent::__construct(false, false, $widget_ops); } public function widget($args, $instance) { $number = !empty($instance['number']) ? $instance['number'] : '8'; $order = !empty($instance['order']) ? $instance['order'] : 'RAND'; $tags = wp_tag_cloud(array( 'unit' => 'px', 'smallest' => 14, 'largest' => 14, 'number' => $number, 'format' => 'flat', 'orderby' => 'count', 'order' => $order, 'echo' => false, ) ); echo '
'; echo '
' . __('标签聚合', 'kratos') . '
'; echo '
' . $tags . '
'; echo '
'; } public function update($new_instance, $old_instance) { $instance = array(); $instance['number'] = (!empty($new_instance['number'])) ? $new_instance['number'] : ''; $instance['order'] = (!empty($new_instance['order'])) ? $new_instance['order'] : ''; return $instance; } public function form($instance) { global $wpdb; $number = !empty($instance['number']) ? $instance['number'] : '8'; $order = !empty($instance['order']) ? $instance['order'] : 'RAND'; ?>

__('文章聚合', 'kratos'), 'description' => __('展示最热、随机、最新文章的工具', 'kratos'), ); parent::__construct(false, false, $widget_ops); } public function widget($args, $instance) { $number = !empty($instance['number']) ? $instance['number'] : '6'; $days = !empty($instance['days']) ? $instance['days'] : '30'; echo '