Schlagwortarchiv für: theme

Wenn man in den letzten Wochen das WordPress-Theme “Enfold” (und auch viele andere) aktualiseren wollte, stand man vor dem Problem, dass das automatisches Update nicht funktioniert hat. Der Grund dafür: Envato, der Betreiber von Themeforest, wo all diese Themes gekauft wurden, hat das API geändert und die aktuelle Version von Enfold kann sich nur mehr über die neue Schnittstelle mit Envato verbinden, um sich Updates zu holen.  Weiterlesen

Aus aktuellem Anlass Notiz an mich selbst: wenn man die Einzelansicht der Beiträge in einer bestimmten Kategorie mit einer eigenen Seitenvorlage darstellen will, dann reicht das folgende Codeschnipsel in der functions.php:

//Fragt den slug der Kategorie des Beitrags ab und wendet single-[kategorieslug].php als Template an, wenn vorhanden
add_filter('single_template', create_function(
  '$the_template',
  'foreach( (array) get_the_category() as $cat ) {
    if ( file_exists(TEMPLATEPATH . "/single-{$cat->slug}.php") )
      return TEMPLATEPATH . "/single-{$cat->slug}.php"; }
    return $the_template;' )
);

Wenn man ein Child-Theme nutzt, muss man noch TEMPLATEPATH durch STYLESHEETPATH ersetzen. Danach noch eine Vorlagendatei im Template-Verzeichnis erzeugen, die single-[kategorieslug].php heißt (Kategorieslug durch den Kurznamen der gewünschten Kategorie ersetzen) – fertig.

Quelle: WordPress-Forum

Wenn man WordPress-Themes entwickelt oder den Auftrag zur Weiterbearbeitung bekommt, ist es oft wichtig herauszufinden, mit welcher Template-Datei die aktuell angezeigte Seite gerendert wird. Das lässt sich einfach herausfinden: einfach den folgenden Codeschnipsel in die Datei functions.php des verwendeten Themes kopieren, dann wird die verwendete Template-Datei für eingeloggte User in einem HTML-Kommentar im Header der Seite ausgegeben:
add_action('wp_head', 'show_template');
function show_template() {
global $template;
if(is_user_logged_in()) {
echo '\n\n<!--// Template: '; print_r($template); echo '//-->\n\n';
}
}