Zum Inhalt

[WP] Eigene Widgets erstellen

Bei meinem letzten Kunden, musste ich für die Sidebar eigene Widgets vordefinieren, damit diese einzeln in die gewünschten Sidebars gezogen werden können. Der Vorteil dabei ist, dass nicht immer wieder ein fertiges Widget kopiert werden muss, um es woanders ebenfalls zu platzieren (Text). WordPress macht es einem aber sehr leicht, einfach selbst Widgets zu erstellen, damit man diese dann fertig in der Übersicht hat.

Dazu legt man einfach eine neue .php Datei an und lädt diese in den /plugins/ Ordner. In meinem Fall ist es ein Kontakt-Widget.

<?php
/*
Plugin Name: Kontakt-Widget
Plugin URI: http://mydomain.com
Description: Kontaktdaten-Widget für die Sidebar
Author: Me
Version: 1.0
Author URI: http://mydomain.com
*/

if ( !defined('ABSPATH') )
    die('-1');
   
   
add_action( 'widgets_init', function(){
     register_widget( 'Kontakt_Widget' );
});

class Kontakt_Widget extends WP_Widget {

    function __construct() {
        parent::__construct(
            'Kontakt_Widget', // Base ID
            __('Kontakt Widget', 'text_domain'), // Name
            array( 'description' => __( 'Kontakt Widget', 'text_domain' ), ) // Args
        );
    }

    public function widget( $args, $instance ) {
   
        echo $args['before_widget'];
        if ( ! empty( $instance['title'] ) ) {
            echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'] ). $args['after_title'];
        }
        echo __( '<h2>Kontakt</h2>Maxi Musterfrau<br />Musterstraße 1a<br />12345 Musterort<br /><br /><a href="tel:000123456789">000123456789</a><br /><a href="mailto:musterfrau@mustermail.de">musterfrau@mustermail.de</a>', 'text_domain' );
        echo $args['after_widget'];
    }
    public function update( $new_instance, $old_instance ) {
        $instance = array();
        $instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';
        return $instance;
    }
} // class Kontakt_Widget

Einfach folgenden Code austauschen:

<h2>Kontakt</h2>Maxi Musterfrau<br />Musterstraße 1a<br />12345 Musterort<br /><br /><a href="tel:000123456789">000123456789</a><br /><a href="mailto:musterfrau@mustermail.de">musterfrau@mustermail.de</a>

und die Beschreibungen des Plugins aktualisieren:

/*
Plugin Name: Kontakt-Widget
Plugin URI: http://mydomain.com
Description: Kontaktdaten-Widget für die Sidebar
Author: Me
Version: 1.0
Author URI: http://mydomain.com
*/

sowie alle Variablen: Kontakt_Widget, ‚Kontakt Widget‘

Danach einfach das Plugin aktivieren und dann unter Widgets auswählen. Fertig.

Veröffentlicht inWordpress

Schreibe den ersten Kommentar

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

4 − eins =