WordPress Projekt in statische HTML Seite umwandeln

techgrube.de ist aus dem Vorgängerprojekt optimox.de als neues Projekt entstanden. Die alte Seite lief nach wie vor als WordPress installation, es war jedoch klar dass sich dort nichts mehr tun würde. Da die Seite immer noch eine nennenswerte Anzahl an Besuchern pro Tag hat will ich die Seite nicht vom Netz nehmen. Andererseits hatte ich auch keine Lust mich weiterhin um die Wartung der WordPress Installation zu kümmern.

Die Lösung des Problems war das Umwandeln der WordPress Installation in statische HTML Seiten. Nun gibt es eine Vielzahl an Programmen und auch WordPress Plugins die eine Seite herunterladen und als HTML-Seiten offline verfügbar machen. Das Problem dabei ist, dass sich hierbei die Links verändern. So wird häufig aus https://mysite.com/beitrag die Seite https://mysite.com/beitrag.html erstellt. Dies würde dazu führen dass alle von anderen Webseiten gesetzte Links, inkl. Google Suchergebnissen nicht mehr funktionieren würden. Eine Serverseitige Weiterleitung für jeden einzelnen Beitrag war mir zu aufwändig.

Weiterlesen

Anzahl der WordPress Datenbankanfragen auf Webseite zeigen

Ich hatte testweise einen Redis key-value-store Server in Verbindung mit WordPress installiert um herauszufinden wie stark dadurch die Anzahl der Datenbankanfragen reduziert werden. Dafür musste ich jedoch zuerst herausfinden wie oft die Datenbank beim erstellen der Seite überhaupt angefragt wird.

Nach einigem googlen stellte sich heraus dass WordPress genau dafür schon fertige Funktionen mitbringt, die nur noch in die Webseite eingebaut werden müssen. Mit diesem Codeschnipsel lassen sich die Anzahl dies einfach umsetzen

<?php echo get_num_queries(); ?> Anfragen in <?php timer_stop(1); ?> Sekunden.

Weiterlesen

Unterschiedliche Header/Footer in verschiedene WordPress Templates einbinden

WordPress bietet für verschiedene Teile bzw. Aufgaben des Blogs unterschiedliche Templates an. So befinden sich im Ordner des genutzten Themes z.B. eine single.php für die einzelnen Beiträge, eine page.php für statische Seiten oder die 404.php für Fehlerseiten mit dem Fehlercode 404.

Standardmässig befindet sich in diesen Dateien die PHP Funktion

<?php get_header(); ?>

mit welcher die Inhalte der Datei header.php aus dem selben Ordner eingebunden wird.

Wenn man z.B. bei Beitragsseiten einen anderen Header einbinden möchte als in bei statischen Seiten ermöglicht das eine kleine Änderung an dieser Funktion. Wenn man die Funktion abändert auf

<?php get_header( 'singe' ); ?>

wird nicht mehr die Datei header.php, sondern die header-single.php eingebunden. In dieser Datei kann man dann seine gewünschten Änderungen vornehmen. Das selbe funktioniert mit dem Footer.

Wenn man

<?php get_footer(); ?>

abändert in

<?php get_footer( 'single' ); ?>

wird nicht mehr die footer.php, sondern die footer-single.php eingebunden.

 



88x31_CC_by
Dieser Text ist lizensiert unter einer Creative Commons Namensnennung 4.0 International Lizenz.
Titelbild „WordPress Buttons“ von Pixabay steht unter Creative Commons CC0

Pushnachricht aufs Smartphone bei neuen WordPress Versionen oder Kommentaren

Pushover ist eine App die einen per Pushnachricht über bestimmte Ereignisse informiert. Unterstützt werden standardmäßig bereits viele Dienste wie IFTT, Drupal, Uptime Robot, WordPress und viele mehr. Die App ist kostenpflichtig für Android, iPhone inkl. Apple Watch Unterstützung und als Desktopapp für Firefox, Chrome und Safari erhältlich.

Pushover für WordPress unterstützt die automatische Pushbenachrichtigung bei neuen WordPress-, Plugin-, oder Themeversionen, bei neuen Kommentaren, neuen Beiträgen und neuen Benutzern.

Weiterlesen

WordPress: bestimmte Kategorien nicht im Widget anzeigen

Wenn man bestimmte Kategorien nicht im Kategorienwidget von WordPress angezeigt haben möchte, kann man sich ein zusätzliche Plugin installieren, oder einfach einen kleinen Codeschnipsel in die funktions.php des verwendeten Themes einfügen.

Die funktion.php findet man unter wp-content/themes/MYTHEME/functions.php

Am Ende der Datei, aber noch vor dem abschließenden ?>, folgenden Code einfügen

function exclude_widget_categories($args){
$exclude = "1,2,3"; // IDs der Kategorien die ausgeblendet werden sollen
$args["exclude"] = $exclude;
return $args;
}
add_filter("widget_categories_args","exclude_widget_categories");

Weiterlesen