Wordpress - Templates erstellen und anpassen

Aus Wikizone
Wechseln zu: Navigation, Suche

Child Templates

http://codex.wordpress.org/Child_Themes

Wichtig für Update Sicherheit. In Child Themes kann man die Dateien des Parent-Themes einfach überschreiben. Alle Dateien die im Child sind werden statt dem des Parent Themes verwendet.

Außerdem kannst du auch zusätzliche Template-Dateien einfügen. Wenn du für dein Child Theme z.B. eine eigene Homeseite nutzen möchtest, legst du einfach eine neue Template-Datei namens home.php in deinem Child Theme an. Beim Anlegen der Homeseite im Adminbereich, kannst du dann das Home-Template für diese Seite auswählen.

Wenn du eine eigene functions.php Datei für dein Child Theme anlegst, werden die Inhalte vor den Inhalten der functions.php Datei des Parent Themes aufgerufen. Auf diese Weise kannst du mit Hilfe der Child Theme Option zusätzliche PHP-Funktionen zu einem Theme hinzufügen.

Minimales Child Theme

  • Ordner mit Template Name erstellen (recommended: meinTemplateName-child)
  • Mindestens style.css und functions.php anlegen
  • Header für style.css
/*
 Theme Name:   Twenty Fifteen Child
 Theme URI:    http://example.com/twenty-fifteen-child/
 Description:  Twenty Fifteen Child Theme
 Author:       John Doe
 Author URI:   http://example.com
 Template:     name_of_parent_template_folder
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
 Text Domain:  twenty-fifteen-child
*/
  • Enqeue Parent and Child Theme Styles

functions.php

add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
    wp_enqueue_style( 'child-style', get_stylesheet_uri(), array( 'parent-style' ) );
}

Tipps und Tricks

Kategorien auf Startseite ausschließen

Über functions.php

<pre'>

function exclude_category_home( $query ) {

   if ( $query->is_home ) {
       $query->set( 'cat', '-5, -34' );
   }
   return $query;

}

add_filter( 'pre_get_posts', 'exclude_category_home' );

In Zeile 3 der oben markierten Codezeile fügst Du die ID’s der Kategorien ein, die Du von der Startseite ausschließen möchtest. Wenn Du nicht weißt, wie Du die ID Deiner Kategorien herausfindest, wird Dir 30-sekündiges Video sicherlich Licht ins Dunkle bringen: