[英]wordpress widget plugin not doing active
我只是wordpress的新手。 目前,我正在嘗試創建一個在小部件部分顯示標題,輸入文本和文本區域的插件。 為此,我完成了這樣的代碼
<?php
/*
Plugin Name: WP Simple Plugin
Plugin URI: http://www.wordpress.org
Description: A Plugin to show simple text in widget
Version: 0.1
Author:
*/
class WP_My_Plugin extends WP_Widget {
function wp_my_plugin() {
parent::WP_Widget( false, $name= 'Wp_My_Plugin' );
}
function form($instance) {
if($instance) {
$title = esc_attr($instance['title']);
$text = esc_attr($instance['text']);
$textarea = esc_attr($instance['textarea']);
} else {
$title = '';
$text = '';
$textarea = '';
}
?>
<p>
<label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Widget Title', 'wp_widget_plugin'); ?></label>
<input class="widefat" type="text" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title');?>" value="<?php echo $title; ?>"/>
</p>
<p>
<label for="<?php echo $this->get_field_id('text')?>"><?php _e('Text', 'wp_widget_plugin');?></label>
<input type="text" class="widefat" name="<?php echo $this->get_field_name('text');?>" id="<?php echo get_field_id('text');?>" value="<?php echo $text; ?>" />
</p>
<p>
<label for="<?php echo $this->get_field_id('textarea');?>"><?php _e('Textarea','wp_widget_plugin'); ?></label>
<textarea name="<?php echo $this->get_field_name('textarea'); ?>" id="<?php echo $this->get_field_id('textarea'); ?>" class="widefat" /><?php echo $textarea; ?></textarea>
</p>
<?php
}
function update($new_instance, $old_instance) {
$instance = $old_instance;
//Fields
$instance['title'] = strip_tags($new_instance['title']);
$instance['text'] = strip_tags($new_instance['text']);
$instance['textarea'] = strip_tags($new_instance['textarea']);
return $instance;
/* */
}
function widget($args, $instance) {
extract ($args);
//The widget Options
$title = apply_filters('widget_title' , $instance['title']);
$text = $instance['text'];
$textarea = $instance['textarea'];
echo $before_widget;
//Display Widget
echo '<div class="widget-text wp_widget_plugin_box">';
//Check If Title Is Set
if($title) {
echo $before_title.$title.$after_title;
}
//check if text is set
if($text) {
echo '<p class="wp_widget_plugin_text">'.$text.'</p>';
}
//check if texrarea is set
if($textarea) {
echo '<p class="wp_widget_plugin_textarea">'.$textarea.'</p>';
}
echo '</div>';
echo $after_widget;
}
}
//Register Widget
add_action( 'widgets_init', 'wp_my_plugin' );
?>
但是當我嘗試從儀表板激活插件時,它顯示錯誤,例如
Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'wp_my_plugin' not found or invalid function name in /wordpress/plugin.php on line 406
並且插件未激活,所以有人可以告訴我如何解決此問題。 任何幫助將是非常可觀的。 謝謝
可能是您必須更改此行嗎
parent::WP_Widget( false, $name= 'Wp_My_Plugin' );
至
parent::WP_Widget( false, $name= 'WP_My_Plugin' ); ?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.