Install
Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/yarkolife/wp-peertube-plugin/releases/download/v1.1.8/peertube-video-manager-v1.1.8.zipEin WordPress-Plugin zur Integration von PeerTube-Videos mit Shortcodes. Zeigt Videos, Kanäle, Suche und benutzerdefinierte Metadaten einschließlich Sendeverantwortung an.
Repository: https://github.com/yarkolife/wp-peertube-plugin
Funktionen
- 4 Shortcodes für verschiedene Video-Ansichten
- Intelligente Caching für optimale Performance
- Responsive Design für alle Bildschirmgrößen
- Benutzerdefinierte Metadaten aus PeerTube-Plugins
- Suche mit Paginierung
- Konfigurierbares Backend mit Einstellungsseite
- Deutsche Übersetzung included
Anforderungen
- WordPress 6.0 oder höher
- PHP 7.4 oder höher
- PeerTube Instanz (API-Zugriff)
Installation
Über WordPress Admin
- Laden Sie die ZIP-Datei herunter
- Gehen Sie zu
Plugins > Installieren > Plugin hochladen - Wählen Sie die ZIP-Datei aus
- Klicken Sie auf "Jetzt installieren"
- Aktivieren Sie das Plugin
Über Git (für Entwickler)
cd wp-content/plugins/
git clone https://github.com/yarkolife/wp-peertube-plugin.git peertube-video-manager
Manuell
- Laden Sie die Plugin-Dateien in
/wp-content/plugins/peertube-video-manager/hoch - Aktivieren Sie das Plugin über das 'Plugins'-Menü in WordPress
Konfiguration
Gehen Sie nach der Aktivierung zu Einstellungen > PeerTube Videos:
- PeerTube Instanz URL: Die URL Ihrer PeerTube-Instanz (z.B.
https://lokalmedial.de) - Standard-Kanäle: Liste der Kanal-Handles (einen pro Zeile)
- Cache-Zeiten: Wie lange Daten zwischengespeichert werden
- Videos pro Seite: Standard-Anzahl der angezeigten Videos
Shortcodes
[pt-last-videos]
Zeigt die neuesten Videos der Instanz an.
Attribute:
count(optional, Standard: 8) - Anzahl der Videoshost_only(optional, Standard: "true") - Nur lokale Videos
Beispiele:
[pt-last-videos]
[pt-last-videos count="12"]
[pt-last-videos count="6" host_only="false"]
[pt-latest-per-channel]
Zeigt das neueste Video von jedem Kanal an.
Attribute:
channels(optional) - Komma-getrennte Liste von Kanal-Handles
Beispiele:
[pt-latest-per-channel]
[pt-latest-per-channel channels="ok_dessau,ok_magdeburg,okmq"]
Wenn kein channels-Attribut angegeben wird, verwendet das Plugin die Standard-Kanäle aus den Einstellungen.
[pt-channel-videos]
Zeigt Videos eines bestimmten Kanals an.
Attribute:
channel(erforderlich) - Kanal-Handlecount(optional, Standard: 6) - Anzahl der Videos
Beispiele:
[pt-channel-videos channel="okmq"]
[pt-channel-videos channel="ok_dessau" count="10"]
[pt-video]
Zeigt ein einzelnes Video mit allen Details an.
Attribute:
id- Video UUID oder shortUUIDnumber- Video-Nummer (aus Plugin-Daten)
Beispiele:
[pt-video id="xc86cB87iZXsgCofjHVcYJ"]
[pt-video number="12345"]
Hinweis: Entweder id oder number muss angegeben werden.
[pt-search]
Zeigt ein Suchformular an.
Attribute:
placeholder(optional) - Platzhalter-Textaction(optional) - Ziel-URL für Suchergebnisse
Beispiele:
[pt-search]
[pt-search placeholder="Videos suchen..."]
[pt-search action="/suchergebnisse/"]
[pt-search-results]
Zeigt Suchergebnisse mit Paginierung an.
Attribute:
per_page(optional, Standard: 12) - Videos pro Seite
Beispiele:
[pt-search-results]
[pt-search-results per_page="20"]
Angezeigte Metadaten
Für jedes Video werden folgende Informationen angezeigt:
- Thumbnail - Video-Vorschaubild
- Titel - Video-Name
- Länge - Dauer des Videos (⏱)
- Kategorie - Video-Kategorie (🏷)
- Veröffentlichungsdatum - Relatives Datum (📅)
- Aufrufe - Anzahl der Ansichten (👁)
- Sendeverantwortung - Aus PeerTube-Plugin (👤)
- Video-Nummer - Aus PeerTube-Plugin (🔢)
- Tags - Bis zu 5 Tags pro Video
Caching
Das Plugin verwendet WordPress Transients für Caching:
- Video-Listen: 5 Minuten (konfigurierbar)
- Konfiguration: 24 Stunden (konfigurierbar)
- Einzelne Videos: 10 Minuten
- Suchergebnisse: 2 Minuten
Um den Cache zu leeren, gehen Sie zu Einstellungen > PeerTube Videos und klicken Sie auf "Cache löschen".
Performance
- Respektiert PeerTube API Rate-Limits (50 Anfragen/10 Sekunden)
- Intelligentes Caching reduziert API-Aufrufe
- Lazy Loading für Bilder
- Responsive CSS Grid für optimale Darstellung
Anpassungen
CSS anpassen
Sie können die Stile überschreiben, indem Sie eigene CSS-Regeln in Ihrem Theme hinzufügen:
/* Beispiel: Video-Karten anpassen */
.pt-video-card {
border-radius: 12px;
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
Templates überschreiben
Kopieren Sie die Template-Dateien aus templates/ in Ihr Theme-Verzeichnis:
your-theme/peertube-video-manager/video-card.php
your-theme/peertube-video-manager/video-detail.php
your-theme/peertube-video-manager/search-form.php
Häufige Probleme
Keine Videos werden angezeigt
- Überprüfen Sie die PeerTube-URL in den Einstellungen
- Klicken Sie auf "Verbindung testen"
- Leeren Sie den Cache
- Überprüfen Sie die Browser-Konsole auf Fehler
Videos werden nicht aktualisiert
Leeren Sie den Cache über Einstellungen > PeerTube Videos > Cache löschen.
404-Fehler bei Video-URLs
Stellen Sie sicher, dass die PeerTube-URL korrekt ist und die Videos öffentlich zugänglich sind.
Langsame Ladezeiten
- Reduzieren Sie die Anzahl der Videos pro Seite
- Erhöhen Sie die Cache-Zeit
- Überprüfen Sie die Verbindung zur PeerTube-Instanz
Entwicklung
Struktur
peertube-video-manager/
├── peertube-video-manager.php # Hauptdatei
├── includes/ # Core-Klassen
├── shortcodes/ # Shortcode-Klassen
├── templates/ # Template-Dateien
├── assets/ # CSS & JS
└── languages/ # Übersetzungen
Hooks & Filter
Das Plugin bietet verschiedene Hooks für Entwickler:
// Filter für Video-Daten vor dem Rendering
add_filter('pt_vm_video_data', function($video) {
// Modify video data
return $video;
});
// Action nach dem Leeren des Caches
add_action('pt_vm_cache_cleared', function() {
// Do something
});
Changelog
Version 1.0.0
- Erste Veröffentlichung
- 4 Shortcodes implementiert
- Caching-System
- Admin-Einstellungsseite
- Deutsche Übersetzung
Support
Bei Fragen oder Problemen:
- Überprüfen Sie die Dokumentation
- Aktivieren Sie WP_DEBUG für detaillierte Fehler
- Erstellen Sie ein Issue auf GitHub
Beitragen
Beiträge sind willkommen! Bitte:
- Forken Sie das Repository
- Erstellen Sie einen Feature-Branch (
git checkout -b feature/AmazingFeature) - Committen Sie Ihre Änderungen (
git commit -m 'Add some AmazingFeature') - Pushen Sie zum Branch (
git push origin feature/AmazingFeature) - Öffnen Sie einen Pull Request
Lizenz
GPL v2 oder höher
Credits
Entwickelt für die Integration von PeerTube-Videos in WordPress. Unterstützt benutzerdefinierte Plugin-Daten aus peertube-plugin-okas-dev.
Technische Details
API-Endpunkte
Das Plugin verwendet folgende PeerTube API-Endpunkte:
GET /api/v1/videos- Liste aller VideosGET /api/v1/videos/{id}- Einzelnes VideoGET /api/v1/video-channels/{handle}/videos- Kanal-VideosGET /api/v1/search/videos- Video-SucheGET /api/v1/config- Instanz-Konfiguration
Sicherheit
- Alle Benutzereingaben werden sanitisiert
- Ausgaben werden escaped
- Nonces für AJAX-Anfragen
- Capability-Checks für Admin-Funktionen
- CORS-konforme API-Anfragen
Browser-Kompatibilität
- Chrome/Edge (Chromium) ✓
- Firefox ✓
- Safari ✓
- Mobile Browser ✓
Mitwirken
Beiträge sind willkommen! Bitte:
- Forken Sie das Repository
- Erstellen Sie einen Feature-Branch
- Committen Sie Ihre Änderungen
- Pushen Sie zum Branch
- Erstellen Sie einen Pull Request
Autor
Entwickelt mit ❤️ für die PeerTube-Community
Releases
4 releases. Each count is every asset in that release; expand a row for the breakdown.