Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung |
dienste:wp_tkev [12.02.2021 23:31] – Statuscode komplett erneuert mape2k | dienste:wp_tkev [28.12.2021 21:24] (aktuell) – [Tabelle] mape2k |
---|
<code php>define( 'WP_CACHE', true );</code> | <code php>define( 'WP_CACHE', true );</code> |
| |
| |
| ===== functions.php ===== |
| |
| ==== erlaubte Dateitypen für Medien-Upload anpassen ==== |
| |
| WordPress erlaubt im Standard nur eine begrenzte Auswahl an Dateitypen, welche in die Mediathek hochgeladen werden dürfen (siehe [[https://codex.wordpress.org/Uploading_Files]]). Die Liste der erlaubten Dateitypen kann über die functions.php angepasst werden ([[https://wp-guru.net/erlaubte-dateitypen-fuer-den-upload-in-die-mediengallerie-hinzufuegen/|Beispiel]]). Damit der nachfolgende Code Update-sicher bleibt, wird er als Snippet im Plugin "Code Snippets" angelegt. |
| |
| <code php>function dateitypen_bearbeiten($mime_types){ |
| $mime_types['zip'] = 'application/zip'; //.zip hinzufügen |
| // unset($mime_types['pdf']); //.pdf entfernen |
| return $mime_types; |
| } |
| add_filter('upload_mimes', 'dateitypen_bearbeiten', 1, 1);</code> |
| |
===== Template ===== | ===== Template ===== |
===== verwendete Plugins ===== | ===== verwendete Plugins ===== |
| |
^ Plugin ^ Zweck ^ | ^ Plugin ^ Zweck ^ |
| [[https://de.wordpress.org/plugins/advanced-custom-fields/|Advanced Custom Fields]] | Erlaubt die Definition zusätzlicher Felder, auch abhängig von einzelnen Beiträgen. Wird für das Template "Modern" empfohlen. | | | [[https://de.wordpress.org/plugins/advanced-custom-fields/|Advanced Custom Fields]] | Erlaubt die Definition zusätzlicher Felder, auch abhängig von einzelnen Beiträgen. Wird für das Template "Modern" empfohlen. | |
| [[https://de.wordpress.org/plugins/antispam-bee/|Antispam Bee]] | Anti-Spam-Plugin als Alternative zu Akismet | | | [[https://de.wordpress.org/plugins/antispam-bee/|Antispam Bee]] | Anti-Spam-Plugin als Alternative zu Akismet | |
| [[https://de.wordpress.org/plugins/cache-enabler/|Cache Enabler]] | Cache verwalten und bei Bedarf löschen | | | [[https://de.wordpress.org/plugins/cache-enabler/|Cache Enabler]] | Cache verwalten und bei Bedarf löschen | |
| [[https://de.wordpress.org/plugins/classic-editor/|Classic Editor]] | Implementierung des alten Editors ohne WYSIWYG. | | | [[https://de.wordpress.org/plugins/classic-editor/|Classic Editor]] | Implementierung des alten Editors ohne WYSIWYG. | |
| [[https://de.wordpress.org/plugins/code-snippets/|Code Snippets]] | erlaubt das einfügen von Codeblöcken in die functions.php ohne das man die Datei des Themes anpassen muss | | | [[https://de.wordpress.org/plugins/code-snippets/|Code Snippets]] | erlaubt das einfügen von Codeblöcken in die functions.php ohne das man die Datei des Themes anpassen muss | |
| [[https://de.wordpress.org/plugins/contact-form-7/|Contact Form 7]] | Kontaktformular | | | [[https://de.wordpress.org/plugins/contact-form-7/|Contact Form 7]] | Kontaktformular | |
| [[https://de.wordpress.org/plugins/contextual-related-posts/|Contextual Related Posts]] | zeigt ähnliche Beiträge unter einem Artikel an | | | [[https://de.wordpress.org/plugins/contextual-related-posts/|Contextual Related Posts]] | zeigt ähnliche Beiträge unter einem Artikel an | |
| [[https://de.wordpress.org/plugins/disable-remove-google-fonts/|Disable and Remove Google Fonts]] | Deaktiviert die Einbindung von Google Fonts in ein Theme ohne das am Code etwas angepasst werden muss. Funktion hängt vom Theme ab, mit "Modern" scheint es zu passen. | | | [[https://de.wordpress.org/plugins/disable-remove-google-fonts/|Disable and Remove Google Fonts]] | Deaktiviert die Einbindung von Google Fonts in ein Theme ohne das am Code etwas angepasst werden muss. Funktion hängt vom Theme ab, mit "Modern" scheint es zu passen. | |
| [[https://de.wordpress.org/plugins/email-subscribers/|Email Subscribers & Newsletters]] | versendet E-Mail-Benachrichtigungen bei neuen Beiträgen an Abonennten, hat Double-Opt-In. Derzeit in der Seitenleiste, kann aber auch als eigene Seite genutzt werden. | | | [[https://de.wordpress.org/plugins/email-subscribers/|Email Subscribers & Newsletters]] | versendet E-Mail-Benachrichtigungen bei neuen Beiträgen an Abonennten, hat Double-Opt-In. Derzeit in der Seitenleiste, kann aber auch als eigene Seite genutzt werden. | |
| [[https://de.wordpress.org/plugins/enhanced-media-library/|Enhanced Media Library]] | Zusätzliche Funktionen für die Media-Bibliothek (z. B. Alben) | | | [[https://de.wordpress.org/plugins/enhanced-media-library/|Enhanced Media Library]] | Zusätzliche Funktionen für die Media-Bibliothek (z. B. Alben) | |
| [[https://de.wordpress.org/plugins/enhanced-text-widget/|Enhanced Text Widget]] | Wird für den Raumstatus in der Seitenleiste benötigt, da Wordpress standardmäßig keinen PHP-Code ausführt. | | | [[https://de.wordpress.org/plugins/enhanced-text-widget/|Enhanced Text Widget]] | Wird für den Raumstatus in der Seitenleiste benötigt, da Wordpress standardmäßig keinen PHP-Code ausführt. | |
| [[https://de.wordpress.org/plugins/limit-login-attempts-reloaded/|Limit Login Attempts Reloaded]] | Blockiert eine IP für x Minuten bei zu vielen falschen Logins. | | | [[https://de.wordpress.org/plugins/ics-calendar/|ICS Calendar]] | Stellt auf einer Seite einen Kalender mit Terminen dar. Schön an diesem Plugin ist die Möglichkeit, mehrere ICS in einem Kalender darstellen zu lassen. | |
| [[https://de.wordpress.org/plugins/regenerate-thumbnails/|Regenerate Thumbnails]] | Erstellt neue Vorschaubilder, wenn man z. B. in den Media-Einstellungen die Auflösungen geändert hat. Kann normalerweise deaktiviert bleiben, wird nicht regelmäßig benötigt. | | | [[https://de.wordpress.org/plugins/limit-login-attempts-reloaded/|Limit Login Attempts Reloaded]] | Blockiert eine IP für x Minuten bei zu vielen falschen Logins. | |
| [[https://de.wordpress.org/plugins/responsive-lightbox/|Responsive Lightbox & Gallery]] | Lightbox für Bilder, damit diese in einem Hover aufgehen | | | [[https://de.wordpress.org/plugins/regenerate-thumbnails/|Regenerate Thumbnails]] | Erstellt neue Vorschaubilder, wenn man z. B. in den Media-Einstellungen die Auflösungen geändert hat. Kann normalerweise deaktiviert bleiben, wird nicht regelmäßig benötigt. | |
| [[https://de.wordpress.org/plugins/simple-yearly-archive/|Simple Yearly Archive]] | Übersichtsseite aller veröffentlichten Beiträge | | | [[https://de.wordpress.org/plugins/responsive-lightbox/|Responsive Lightbox & Gallery]] | Lightbox für Bilder, damit diese in einem Hover aufgehen | |
| [[https://de.wordpress.org/plugins/subscribe-to-comments-reloaded/|Subscribe To Comments Reloaded]] | Besucher erhalten auf Wunsch eine E-Mail-Benachrichtigung bei neuen Kommentaren zu einem Artikel, Double-Opt-In ist aktiviert | | | [[https://de.wordpress.org/plugins/simple-yearly-archive/|Simple Yearly Archive]] | Übersichtsseite aller veröffentlichten Beiträge | |
| [[https://de.wordpress.org/plugins/two-factor/|Two-Factor]] | 2-Faktor-Authentifizierung für Login | | | [[https://de.wordpress.org/plugins/starbox/|Starbox]] | erzeugt einen Autoren-Block unter jedem Artikel | |
| [[https://de.wordpress.org/plugins/wp-githuber-md/|WP Githuber MD]] | Umfangreicher MarkDown-Editor mit Syntax-Highlighting und HTML-Preview innerhalb des Editors | | | [[https://de.wordpress.org/plugins/subscribe-to-comments-reloaded/|Subscribe To Comments Reloaded]] | Besucher erhalten auf Wunsch eine E-Mail-Benachrichtigung bei neuen Kommentaren zu einem Artikel, Double-Opt-In ist aktiviert | |
| [[https://de.wordpress.org/plugins/xml-sitemap-feed/|XML Sitemap & Google News]] | erzeugt XML-Sitemaps für bessere/schnellere Indexierung durch Suchmaschinen | | | [[https://de.wordpress.org/plugins/two-factor/|Two-Factor]] | 2-Faktor-Authentifizierung für Login | |
| | [[https://de.wordpress.org/plugins/wp-githuber-md/|WP Githuber MD]] | Umfangreicher MarkDown-Editor mit Syntax-Highlighting und HTML-Preview innerhalb des Editors | |
| | [[https://de.wordpress.org/plugins/wp-mail-smtp/|WP Mail SMTP]] | Wordpress SMTP-Unterstützung | |
| | [[https://de.wordpress.org/plugins/xml-sitemap-feed/|XML Sitemap & Google News]] | erzeugt XML-Sitemaps für bessere/schnellere Indexierung durch Suchmaschinen | |
| |
===== Plugin-Konfiguration ===== | ===== Plugin-Konfiguration ===== |
| |
| ==== ICS Calendar ==== |
| |
| Die meisten Funktionen bzw. die Ausgabe des Plugins lassen sich über Parameter im ShortCode der Seite steuern. Nachfolgend beispielhaft die Einbindung mit unseren beiden öffentlichen NextCloud-Kalendern von Bytespeicher und Makerspace. |
| |
| [ics_calendar url="https://cloud.technikkultur-erfurt.de/remote.php/dav/public-calendars/62H5QIYTZJMRSB17?export https://cloud.technikkultur-erfurt.de/remote.php/dav/public-calendars/FW4LI1Y6AID0ZVC1?export" view="month" tz="Europe/Berlin" eventdesc="true" location="true" organizer="true" attach="true" title="false" pastdays="90" monthnav="both" color="#3399ff #ff6600" feedlabel="Bytespeicher|Makerspace" legendposition="below" legendstyle="inline"] |
| |
| **Wichtig:** Falls der Kalender nicht dargestellt wird, muss die PHP-Konfiguration geprüft werden! |
| |
| > Why isn’t my calendar loading? |
| > |
| > This may be due to your server’s configuration. This plugin requires either the PHP cURL extensions, or the allow_url_fopen PHP setting to be turned on. Check your PHP configuration or your server administrator if you think this may be the issue. |
| |
==== Two Factor ==== | ==== Two Factor ==== |
| |
// Spaces | // Spaces |
$space = [ | $spaces = [ |
'Bytespeicher' => 'http://status.bytespeicher.org', | 'Bytespeicher' => 'http://status.bytespeicher.org', |
'Makerspace' => 'http://status.makerspace-erfurt.de', | 'Makerspace' => 'http://status.makerspace-erfurt.de', |
// Check every space | // Check every space |
// No output on errors | // No output on errors |
foreach ($space as $spaceName => $statusUrl) { | foreach ($spaces as $spaceName => $statusUrl) { |
// Get minimal status from spacestatus webpage | // Get minimal status from spacestatus webpage |
$jsonContent = file_get_contents($statusUrl . $statusJsonPath, false, $context); | $jsonContent = file_get_contents($statusUrl . $statusJsonPath, false, $context); |