菜单

wordpress widgets

2010年09月1日 - wordpress

<?php
/*
Plugin Name: Name des Widgetplugins
Plugin URI: http://
Description: Eine kurze Beschreibung
Author: Dein Name
Version: 0.0
License: deine Linzenzvergabe
Author URI: http://
Update Server: http://
Min WP Version: 1.5
Max WP Version: 2.0.3
*/
// Widget initialisieren, wenn Widget-Plugin aktiv
function FB_Init_Widget() {
if (!function_exists(‘register_sidebar_widget’))
return;
// Dein Widget einbinden
function widget_FB_DEIN_NAME($args) {
if (is_home()) {
extract($args);
$options = get_option(‘widget_FB_DEIN_NAME’);
// Optionale Abfrage fuer die Uebergabe von Parametern
// Hier kann man beispielsweise OPTIONS abfragen
$OPTION_1 = $options[‘OPTION_1’] ? ‘checked=”checked”‘ : ”;
if ($OPTION_1 == ‘checked=”checked”‘) $PARAMETER = 1;
$title = $options[‘title’];
echo $before_widget;
if ($title != ”) {
echo $before_title . $title . $after_title;
}
// Nun rufen wir die Funktion(en) auf, die die neue Funktionalitaet enthaelt
Der_Code_des_eigentlichen_Plugins($PARAMETER);
echo $after_widget;
}
}
// Hier steht der Code der Funktion(en), die die eigentliche Funktionalitaet enthaelt
function Der_Code_des_eigentlichen_Plugins(Parameter) {
}
// Widget-Control
function widget_control_FB_DEIN_NAME() {
$options = $newoptions = get_option(‘widget_FB_DEIN_NAME’);
if ( $_POST[‘widget_FB_DEIN_NAME_submit’] ) {
// Abfrage einer Option im Control-Fenster
$newoptions[‘OPTION_1’] = isset($_POST[‘widget_FB_DEIN_NAME_OPTION_1’]);
// Abfrage des Title im Control-Fenster
$newoptions[‘title’] = strip_tags(stripslashes($_POST[‘widget_FB_DEIN_NAME_title’]));
}
if ( $options != $newoptions ) {
$options = $newoptions;
update_option(‘widget_FB_DEIN_NAME’, $options);
}
$title = wp_specialchars($options[‘title’]);
?>
<!– Ausgabe im Control-Fenster des Adminbereichs von WP –>
<p>
<label for=”widget_FB_DEIN_NAME_title”><?php _e(‘Title:’); ?>
<input style=”width: 200px;” id=”widget_FB_DEIN_NAME_title” name=”widget_FB_DEIN_NAME_title” type=”text” value=”<?php echo $title; ?>” />
</label>
</p>
<p style=”text-align:right;margin-right:40px;”>
<label for=”widget_FB_DEIN_NAME_OPTION_1″ style=”text-align:right;”>OPTION_1
<input type=”checkbox” <?php echo $OPTION_1; ?> id=”widget_FB_DEIN_NAME_OPTION_1″ name=”widget_FB_DEIN_NAME_OPTION_1″ />
</label>
</p>
<p style=”text-align:right;margin-right:40px;”><?php echo $error; ?>
</p>
<input type=”hidden” id=”widget_FB_DEIN_NAME_submit” name=”widget_FB_DEIN_NAME_submit” value=”1″ />
<?php
}
// Widget im Admin-Panel hinzufuegen – register_sidebar_widget($name, $callback)
register_sidebar_widget(‘DEIN_NAME’, ‘widget_FB_DEIN_NAME’);
// Zusaetzliche Argumente im Widget-Control – register_widget_control($name, $callback, $width , $height);
register_widget_control(‘DEIN_NAME’, ‘widget_control_FB_DEIN_NAME’, 200, 100);
}
// Integration in WP – add_action($tag, $function_to_add, $priority = 10, $accepted_args = 1);
add_action(‘plugins_loaded’, ‘FB_Init_Widget’);
?>

发表评论

电子邮件地址不会被公开。 必填项已用*标注