如何将定制的“文本”小部件从unctions.php添加到外观管理器?

时间:2011-01-19 作者:Scott B

我正在尝试使用自己的css类参数向函数中添加默认WP文本小部件的副本。php,以便它出现在窗口小部件管理器中,并可以添加到侧栏中。

下面是我的第一次尝试,但我相信一定有比我现在做的更简单的方法。

这能以更简单的方式完成吗?

在功能上。php,我有这个。。。

$google_search = TEMPLATEPATH . "/google_search.php";require_once($google_search);
add_action(\'widgets_init\', create_function(\'\', "register_widget(\'My_Widget_Search\');"));
在google\\u搜索中。php,我有。。。(除textarea字段内容外,其他内容均正常工作,未保存)

<?php

class My_Widget_Search extends WP_Widget {

    function My_Widget_Search() {
        $widget_ops = array( \'classname\' => \'widget_search\', \'description\' => __( "Google Adsense Search Widget Placeholder" ) );
        $this->WP_Widget(\'adsense_search\', __(\'Adsense Search Widget\'), $widget_ops);
    }

    function widget( $args, $instance ) {
        extract( $args );
        $title = apply_filters(\'widget_title\', empty( $instance[\'title\'] ) ? __( \'\' ) : $instance[\'title\']);
        $text = apply_filters(\'widget_text\', empty( $instance[\'text\'] ) ? __( \'\' ) : $instance[\'text\']);

        }

    function update( $new_instance, $old_instance ) {
        $instance = $old_instance;
        $instance[\'title\'] = strip_tags($new_instance[\'title\']);
        $instance[\'text\'] = $new_instance[\'text\'];

        return $instance;
    }

    function form( $instance ) {
        //Defaults
        $instance = wp_parse_args( (array) $instance, array( \'title\' => \'\') );
        $title = esc_attr( $instance[\'title\'] );
        $text = $instance[\'text\'];
?>
        <p><label for="<?php echo $this->get_field_id(\'title\'); ?>"><?php _e( \'Title:\' ); ?></label>
        <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; ?>" /></p>
        <textarea class="widefat" rows="16" cols="20" id="<?php echo $this->get_field_id(\'text\'); ?>" name=""<?php echo $this->get_field_name(\'text\'); ?>"><?php echo $text; ?></textarea>
<?php
    }

}

1 个回复
最合适的回答,由SO网友:tw2113 整理而成

一个想法是从核心文件进入widgets文件,将文本widget代码复制到函数中。php文件,并编辑您的版本以查看是否合适。只是个主意,希望能解决一些问题。

结束

相关推荐