An dieser Stelle die Basis aller Sidebar-Widgets. Es zeigt den grundlegenden Aufbau eines WordPress-Widgets, wie man es mit Optionen konfigurierbar macht und wie man eine Ausgabe erzeugt.
<?php
/*
Plugin Name: Minimum Plugin
Plugin URI: http://blog.mbischof.de/mini-widget
Description: This is a minimum wordpress plugin
Version: 1.0
Author: Marko Bischof
Author URI: http://blog.mbischof.de
*/
add_action("widgets_init", array('MiniWidget', 'register'));
register_activation_hook(__FILE__, array('MiniWidget', 'activate'));
register_deactivation_hook(__FILE__, array('MiniWidget', 'deactivate'));
class MiniWidget {
function activate() {
$data = array('title' => 'Greeting', 'firstname' => 'Marko');
if (!get_option('mini')) {
add_option('mini' , $data);
} else {
update_option('mini' , $data);
}
}
function deactivate() {
delete_option('mini');
}
function control() {
$data = get_option('mini');
?>
<p><label for="mini_title">Title</label><input id="mini_title" name="mini_title" type="text" value="<?php echo $data['title']; ?>" /></p>
<p><label for="mini_firstname">Firstname</label><input id="mini_firstname" name="mini_firstname" type="text" value="<?php echo $data['firstname']; ?>" /></p>
<?php
if (isset($_POST['mini_title'])){
$data['title'] = attribute_escape($_POST['mini_title']);
$data['firstname'] = attribute_escape($_POST['mini_firstname']);
update_option('mini', $data);
}
}
function widget($args) {
$options = get_option('mini');
echo $args['before_widget'];
echo $args['before_title'] . $options['title'] . $args['after_title'];
printf("Hello %s", $options['firstname']);
echo $args['after_widget'];
}
function register() {
register_sidebar_widget('Mini', array('MiniWidget', 'widget'));
register_widget_control('Mini', array('MiniWidget', 'control'));
}
}
Ich finde die Beiträge meiner Gedöhns-Kategorie nicht wertvoll genug für meine Startseite und möchte alle Beiträge dieser Kategorie nicht anzeigen.
Dazu nehm ich mir mal das index-Template und frage innerhalb des Loops die Kategorie des Beitrags ab. Ein Treffer springt dann einfach zum nächsten Ergebnis. Das sieht dann folgendermaßen aus:
<?php while (have_posts()) : the_post(); ?>
<?php if (! in_category('12')) : ?>
//Display the post
<?php endif ?>
<?php endwhile; ?>
Letzte Kommentare