2009-10-05 123 views
0

我学会了如何在WordPress上创建一个插件。然而,WordPress改变了一切,我试图使用新的WordPress格式创建相同的插件。我已经阅读了几件事情,但试图通过修改WordPress Text Field插件来跳转(我重新设计插件的一个目标是使其可以多次使用)。我意识到代码非常粗糙,但我被卡住了。我尝试添加两个新字段,只是为了看看事情是如何发展的,当我点击“标题”上的保存并且第一个textarea数据被保存时,编辑该小部件时,它们会出现,其他两个字段消失。WordPress插件问题

我有一种感觉我错过了明显的东西,但我似乎无法弄清楚。这里是代码:

'widget_text','description'=> __('Text or HTML')); $ control_ops = array('width'=> 400,'height'=> 350); $ this-> WP_Widget('text',__('Multi Excerpt'),$ widget_ops,$ control_ops); } function widget($ args,$ instance){ extract($ args); $ title = apply_filters('widget_title',empty($ instance ['title'])?'':$ instance ['title'],$ instance); $ text = apply_filters('widget_text',$ instance ['text'],$ instance); $ texta = apply_filters('widget_text',$ instance ['texta'],$ instance); $ posts = $ instance ['posts']; echo $ before_widget; if(!empty($ title)){echo $ before_title。 $ title。 $ after_title; }?> '','text'=>'','posts'=>'','texta'=>'')); $ title = strip_tags($ instance ['title']); $ text = format_to_edit($ instance ['text']); $ texta = format_to_edit($ instance ['texta']); $ posts = $ instance ['posts']; ?>

get_field_id('title'); ('text');?>“>> get_field_id('title');?>”name =“get_field_name('title');?>”type =“text”value =“”/>

get_field_id ?>“name =”get_field_name('text'); ('texta');?>“name =”get_field_name('texta');?>“>>

get_field_id('posts'); ?> “>文章: get_field_id( '信息');>?” 名称= “get_field_name( '信息');>?” 类型= “文本” 的值= “”/>

预先感谢。

回答

0

编辑:我发现我的原始答案有点正确。以下是需要解决您的问题的详细信息。

更改您的WP_Widget_Excerpt功能:

function WP_Widget_Excerpt() { 
    $widget_ops = array('classname' => 'WP_Widget_Excerpt', 'description' => __('Text or HTML')); 
    $control_ops = array('width' => 400, 'height' => 350); 
    $this->WP_Widget('WP_Widget_Excerpt', __('Multi Excerpt'), $widget_ops, $control_ops); 
} 
+0

非常感谢。我知道我错过了一些小事,现在一切都很好。 – Erik 2009-10-06 13:16:37

0

如果你的控件是做一些简单,你可以使用Widgetifyr.com创建你的widget你。我创建了旧式小部件以及新的基于2.8+类的小部件。这样您的小部件将运行在更多版本的Wordpress上。