bg
APML-Filter

Wordpress 3 - Childtheme mit neuem Widgetbereich anlegen

by Gabriele 6. Juli 2010 18:03

Unter wp-content > themes einen neuen Ordner mit dem Namen des neuen Themes anlegen. Achtung: keine Sonderzeichen und Bindestriche oder ähnliches verwenden. Eine neue CSS-Datei style.css unter dem neuen Themeordner erzeugen.

/*
Theme Name: neuestheme
Description: A Child Theme of twentyten
Author: Name des Autors
Template: twentyten
Tags: two-colums, jquery, startpage, childtheme
*/

Wenn nur ein paar Stile geändert sollen, macht es Sinn, die originale Stylesheet-Datei einzubinden. Der Quelltext unserer style.css sieht dann so aus:

/*
Theme Name: neuestheme
Description: A Child Theme of twentyten
Author: Name des Autors
Template: twentyten
Tags: two-colums, jquery, startpage, childtheme
*/
@import url(../twentyten/style.css);
Wenn Sie im Wordpress-Dashboard unter Design > Themes nun das neue Theme aktivieren, sollte es genau so aussehen wie Twentyten (ohne das Include sieht die Site hingegen aus wie mit einem reinen Textbrowser betrachtet).

Gewünschte Änderungen in der eigenen style.css vornehmen. Die originalen Stile werden dann überschrieben ohne dass sie angefasst werden müssen. Das gilt auch für die einzelnen Template-Dateien. Nur die zu modifizierenden Dateien kommen in den neuen Themeordner und werden dort angepasst.

Da ich einen Widgetbereich unterhalt des Headers benötigte, habe ich dem neuen Theme auch eine die twentyten-Themefunktionen ergänzende (erst mal leere) functions.php gegeben (die twentyten-Themefunktionen stehen ja bereits über das Elterntheme zur Verfügung, und mit doppelten Aufrufen läuft die Site nicht mehr) und die header.php modifiziert.

Inhalt der neuen functions.php

<?php
function neuestheme_widgets_init() {
    register_sidebar( array(
        'name' => __( 'Access Widget Area', 'neuestheme' ),
        'id' => 'access-widget-area',
        'description' => __( 'The header widget area', 'neuestheme' ),
    ) );

}
add_action( 'widgets_init', 'neuestheme_widgets_init' );
?>
Aufruf in der header.php

(ersetzte in dem Fall den "access"-Bereich):

<?php
                // A sidebar for our menue.
                if ( is_active_sidebar( 'access-widget-area' ) ) : ?>
                    <ul class="nav">
                        <?php dynamic_sidebar( 'access-widget-area' ); ?>
                    </ul>               
               <?php endif; ?>
neue widgetarea in wordpress 3

Kommentare sind geschlossen

Month List

BlogNetzWerke

Blog Verzeichnis und WebkatalogArtikelverzeichnis, Social Bookmarking, RSS-Verzeichnisfrisch gebloggtBlogPingR.de - Blog Ping-Dienst, BlogmonitorBlogtotalRSS Verzeichnisblogoscoop Blogverzeichnis - Blog Verzeichnis bloggerei.deAdd to Technorati FavoritesWeb Design Blogs - BlogCatalog Blog Directory