• 展开微博窗口
  • QQ:52619941
  • 微信:cnmemory
  • 展开分类目录
  • 还没有账号?

Memory

WordPress小工具开发制作教程——热门标签

很多时候我们会发现Wordpress自带的小工具不能完全的满足我们的需求。这个时候我们就需要动手去制作一个小工具,今天先从最简单的一个小工具——热门标签说起

那么制作小工具,我们需要借住Wordpress的挂件接口,首先,我们要创建一个类

class hotTag extends WP_Widget {...}

这个类是继承自WP_Widget这个类,类名为hotTag(热门标签)

当然光光是这样妥妥的不行,类中分别需要包含如下几个方法

  • __construct:构造函数,定义小工具的名称,描述等等
  • widget($args, $instance):小工具的输出内容
  • update($new_instance, $old_instance):更新小工具的选项操作
  • form($instance):小工具的选项处理

接下来我们来看下完整的代码

<?php
 /**
 *
 * @widget
 * 热门标签
 * author: @memory
 *
 */
 class hotTag extends WP_Widget {
//construct
 function hotTag() {
 //在构造函数中,我们定义了小工具的class,名称,以及描述,最后生成的class为widget_hot_tags,即第一个参数
 parent::WP_Widget('hot_tags', '热门标签', array('description' => '我的热门标签(SimpleHome)') );
 }
 //display format
 function widget($args, $instance) {
 //这里的内容如果没有接触过register_sidebar()可能不大好理解小工具结构的构成
 extract( $args );
 ?>
 <?php echo $before_widget; ?>
 <?php echo $before_title
 . $instance['title']
 . $after_title; ?>
 <div class="tagcloud">
 <!-- 通过自带函数wp_tag_cloud()来调用标签 -->
 <?php wp_tag_cloud("smallest=12&largest=12&unit=px&number=".$instance['num']."&format=flat&orderby=count&order=DESC"); ?>
 </div>
 <?php echo $after_widget; ?>
 <?php
 }
//save options
 function update($new_instance, $old_instance) {
 //如果你对新旧选项没有说需要特别的处理就直接return吧
 return $new_instance;
 }
//widget options
 function form($instance) {
 //两个选项,分别是标题和显示的数量,并为其设置默认值
 $title = isset($instance['title']) ? esc_attr($instance['title']) : '热门标签';
 $num = isset($instance['num']) ? absint($instance['num']) : 10;
 ?>
 <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('num'); ?>">数量:</label><input class="widefat" id="<?php echo $this->get_field_id('num'); ?>" name="<?php echo $this->get_field_name('num'); ?>" type="text" value="<?php echo $num; ?>" /></p>
 <?php
 }
 }
 //最后注册小工具
 add_action('widgets_init', create_function('', 'return register_widget("hotTag");'));
 ?>

最后我们可以把上面的代码单独放入一个文件中,譬如widget-hottag.php,然后在主题的functions.php中加入

include_once('widget-hottag.php');

如果你想创建多个小工具,可以自己创建一个新的目录来保存这些小工具的类,然后统统include。

码字很辛苦,转载请注明来自雨林寒舍《WordPress小工具开发制作教程——热门标签》

评论