wordpress 学习 (小工具)

wordpress使用register_sidebar()函数增加工具栏 代码格式如下: [php] <?php $args = array( //后台显示的名字 'name' => sprintf(__('Sidebar %d'), $i ), //边栏的编号 'id' => 'sidebar-1', //描述 'description' => '', //小工具的class 'class' => '', //小工具之前的html代码 'before_widget' => '<li id="%1$s" class="widget %2$s">', //小工具之后的html代码 'after_widget' => '</li>', //小工具title之前的html代码 'before_title' => '<h2 class="widgettitle">', //小工具title之后的html代码 'after_title' => '</h2>' ); //注册小工具 register_sidebar( $args ); ?> [/php] 比较简单的写法可以直接例如 [php] register_sidebar(array('id' => 'blog')); [/php] 直接定义id为blog的小工具栏 然后添加sidebar-blog.php文件 在需要调用此工具栏的地方加入 [php] <?php get_sidebar('blog'); ?> [/php] 这样就可以在网站的任何地方增加自己的小工具了

WordPress 学习 (插件开发 - 随机文章小工具)

Wordpress 插件是每个wordpress网站必不可少的 , 最近正好要给自己的网站建个随机显示文章的栏目的小工具.虽然网上已经有很多现成的插件 。 但为了学习WordPress的开发 ,所以还是打算自己开发个。 网上找了些资料,研究了半小时 终于完成了。 首先在plugin下 新建一个.php文件 专业点的可以放在文件内 文件名最好是插件名 打开php文件 写入以下代码 [php] /* Plugin Name: 随机显示文章 Plugin URI: http://www.frankway.net Description: 随机显示文章 Author: frank Version: 1.0 Author URI: http://www.frankway.net */ [/php] Plugin Name :插件名称 Plugin URI: 插件url地址 Description: 插件描述 Author: 作者信息 Version: 版本号 Author URI: 作者url地址 定义 widget_Random类 继承WP_Widget小工具类 里面包含widget_Random,widget,update,form 4个方法 [php] class widget_Random extends WP_Widget { function widget_Random() { $widget_ops = array('description' => '随机显示文章'); $this->WP_Widget('widget_test', '随机显示文章', $widget_ops); } function widget($args, $instance) { extract($args); $title = apply_filters('widget_title', esc_attr($instance['title'])); $limit = strip_tags($instance['limit']); $title = empty($title) ? "随机文章" : $title; $limit = empty($limit) ? 5 : $limit; echo $before_widget.$before_title.$title.$after_title; global $post; $rand_posts = get_posts("orderby=rand&numberposts=$limit"); //get_posts("orderby=rand&numberposts=$limit"); echo "<ul>"; /* foreach($rand_posts as $post) {?> <li><a href="<?php the_permalink();?>"><?php echo $post->post_title; ?></a></li> <?php }*/ foreach ($rand_posts as $post):?> <li><a href="<?php the_permalink();?>" title="查看 <?php the_title(); ?>"><?php the_title(); ?></a></li> <?php endforeach; echo "</ul>"; unset($post); 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']); return $instance; } function form($instance) { global $wpdb; $instance = wp_parse_args((array) $instance, array('title' => '随机文章', 'limit' => '5')); $title = esc_attr($instance['title']); $limit = strip_tags($instance['limit']);?> <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> <input type="hidden" id="<?php echo $this->get_field_id('submit'); ?>" name="<?php echo $this->get_field_name('submit'); ?>" value="1" /> <?php } } [/php] widget_Random 构造方法 包含小工具的默认参数 widget 方法 网站前台显示在侧边栏内的内容 里面包含文章的查询和循环输出 form 方法 网站后台 小工具设置参数的表单 update 方法接收form提交的参数 [php] add_action('widgets_init', 'widget_random_init'); function widget_random_init() { register_widget('widget_Random'); } [/php] 最后通过add_action 方法把插件内的小工具 增加到工具栏