Where to add a widget class?

时间:2016-01-31 作者:Paul

我们在哪里添加自定义小部件?我不断收到内部错误,我试图在wp\\u content>plugins或wp\\u includes>widgets中添加该类,但我收到了一个内部错误。

该类很简单,位于“My\\u Widget.php”中:

<?php
/*
  Plugin Name: My_Widget
  Description: my widet description
  Author: Author
 */
class My_Widget extends WP_Widget {

    /**
     * Sets up the widgets name etc
     */
    public function __construct() {
        $widget_ops = array( 
            \'class_name\' => \'my_widget\',
            \'description\' => \'My Widget is awesome\',
        );
        parent::__construct( \'my_widget\', \'My Widget\', $widget_ops );
    }

    /**
     * Outputs the content of the widget
     *
     * @param array $args
     * @param array $instance
     */
    public function widget( $args, $instance ) {
        // outputs the content of the widget
    }

    /**
     * Outputs the options form on admin
     *
     * @param array $instance The widget options
     */
    public function form( $instance ) {
        // outputs the options form on admin
    }

    /**
     * Processing widget options on save
     *
     * @param array $new_instance The new options
     * @param array $old_instance The previous options
     */
    public function update( $new_instance, $old_instance ) {
        // processes widget options to be saved
    }
}
然后在我的函数中。php:

register_widget( \'My_Widget\' );

2 个回复
最合适的回答,由SO网友:Prasad Nevase 整理而成

我复制了类定义register_widget( \'My_Widget\' ); 我的主题的功能。php文件(&P);它确实显示了My Widget 在下面Appearance > Widgets. 因此,请将此代码直接放置在主题函数中。php文件。不建议在中编辑任何内容wp-includes 目录

SO网友:Saiful Islam

你有2种方式来活跃你的课堂。

您可以在插件文件夹中创建一个文件夹functions.php 像下面一样

require_once(get_template_directory().\'My_Widget.php\'); 

相关推荐

My widgets do not save

每次我保存我的小部件并离开页面时,我的小部件都会消失。侧边栏已完全清空,不会保存任何更改。控制台或PHP日志中没有任何错误。如果我将小部件直接复制并保存在数据库中widgets_text, 它们将被显示,但我仍然无法在侧边栏中添加或删除任何内容。这只发生在我的右侧边栏上,左侧边栏工作正常,但它们都以相同的方式注册。这是我注册侧边栏的方式:function my_widgets_init() { register_sidebar( array ( \'name\'