wordpress添加自定义小工具,实现子分类展示

 0 0条评论

大部分模版小工具都会有评论、分类、rss、最近文章等等传统的。

但是实际项目里,最近新建了一个历史类的网站,我希望右侧栏能展示子分类,比如栏目清朝,右侧希望显示清朝有名的历史人物(其实就是子分类),这个基本上所有主题的小工具都不能实现。

如下图,在woredpress后台分类,建立了三级分类。


假设我点击清朝这个分类,我希望右侧的分类里,展示清朝的重要事件和重要人物,最终效果图如下:


那么这个就要自己写小工具了,主题的小工具根本无法满足要求,那么就让我们开始吧,说明一下,本人虽然开发多年,但是并未接触过php,所以仅仅是非常简单得为了自己的项目实现而实现,没有任何扩展,仅仅是最简单的实现。

首先在网站目录下的wp-content/plugins文件,新建一个文件夹,可以自己定义名字,如下图我定义了一个child文件夹。


然后新建一个fenli.php文件,名字也可以自己取,我先贴的代码。

    <?php 
    /*Plugin Name: 显示子分类
    Description: 递归展示文章根分类下面的子分类
    Version: 0.5
    Author: shuanghei
    Author URI: https://shuanghei.com
    License: GPLv2
    */
    ?>
    <?php
    /*******************************************************************************
    定一个类必须继承WP_Widget 
    *******************************************************************************/
    ?>
    <?php
    class Shuanghei_list_Child_Widget extends WP_Widget {
        function __construct() {
            parent::__construct(
 
            // 插件ID
            'shuanghei_list_child',
            // 插件的名字
            __('显示子分类', 'shuanghei' ),
            // 插件的描述
            array (
                'description' => __( '归展示文章根分类下面的子分类', 'shuanghei' )
                )
            );
        }
        function form( $instance ) {
 
        }
        function update( $new_instance, $old_instance ) {
 
        }
        function widget( $args, $instance ) {
            echo '我的插件';
        }
    }
    ?>

    <?php
    /*******************************************************************************
    这是是注册插件
    *******************************************************************************/
    ?>
    <?php
    function shuanghei_register_list_child_widget() {
        register_widget( 'Shuanghei_list_Child_Widget' );
    }
    add_action( 'widgets_init', 'shuanghei_register_list_child_widget' );
    ?>

然后php文件放进刚才建立的文件夹,那么一个自己的插件就完成了,可以在wordpress后台看到插件信息。


点击启用后,去小工具页面,就看到你创建的小工具了。


是不是特简单?现在我说一下fenlei.php文件的主要内容。

新建一个类必须继承WP_Widget类,开头的注释的描述信息自己可以根据插件情况实际来写。

__construct()构造函数,也是写一个注释信息的,和类的备注一致即可。

function form()和function update()这两个函数,是用来在小工具里展现配置信息的。比如近期文章这个小工具,如下:


其中的三个选项就是在这两个函数里配置的,因为我的项目里不需要配置,所以也没有写代码,自然而来也相对简单点,所以也没做过多研究。

最重要的就是function widget()函数,里面的内容才是前台页面所展现的内容,当然这里也可以获得function form()函数传来的参数。

最后register方法就是注册小工具的,千万不能遗忘哦。

这里我贴一下我的function widget()里面实现的代码,核心就是用了wp自带的wp_list_cats方法,大家参考一下即可,因为基本上不可能会有同样的需求,大家请根据自己项目需求来写代码。


本文作者:双黑

版权声明:本站文章欢迎链接分享,禁止全文转载!

游客