WP Manifestindependent plugin directory
manifest / seo / nxt-breadcrumb

NXT Breadcrumb

Basic breadcrumb plugin for WordPress

by nexTab · github.com/nextab/nxt-breadcrumb · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/nextab/nxt-breadcrumb/archive/refs/heads/main.zip

Ein einfaches, aber mächtiges Breadcrumb-Plugin für WordPress mit Polylang-Unterstützung und objektorientierter Architektur.

Features

  • Einfache Konfiguration: Intuitive Options-Seite im WordPress-Backend
  • Flexibles Design: Verschiedene Trennzeichen und Anzeigeoptionen
  • Polylang-Kompatibilität: Vollständige Mehrsprachigkeits-Unterstützung
  • Divi-Kompatibilität: Automatische Erkennung und Korrektur von Theme Builder-Titeln
  • Objektorientiert: Saubere Architektur mit Separation of Concerns
  • Template-System: Anpassbare Templates für individuelle Designs
  • Accessibility: ARIA-konforme Navigation für bessere Barrierefreiheit
  • Moderne Technologie: Vanilla JavaScript ohne jQuery-Abhängigkeit
  • CSS-optional: Frontend-Styling kann komplett deaktiviert werden

Installation

  1. Plugin-Ordner in /wp-content/plugins/ hochladen
  2. Plugin im WordPress-Backend aktivieren
  3. Einstellungen über "Einstellungen > Breadcrumb" oder den "Einstellungen"-Link in der Plugin-Übersicht konfigurieren

Konfigurationsmöglichkeiten

Allgemeine Einstellungen

  • Trennzeichen: Wahl zwischen -, –, |, », •
  • Home-Link: Ein-/Ausblenden des Home-Links
  • Home-Bezeichnung: Anpassbarer Text oder Haus-Symbol
  • Parent-Elemente: Anzeige übergeordneter Seiten/Kategorien
  • Aktuelle Seite: Ein-/Ausblenden der aktuellen Seite
  • Frontend-Assets: Globale Kontrolle über CSS/JS-Loading mit Shortcode-Overrides

Polylang-Integration

Das Plugin erkennt automatisch Polylang und passt die Home-URLs entsprechend der aktuellen Sprache an:

  • Deutsche Hauptseite: https://example.com/
  • Englische Hauptseite: https://example.com/en/
  • Weitere Sprachen werden automatisch erkannt

Divi Theme Builder-Integration

Das Plugin ist vollständig kompatibel mit Divi Theme Builder und behebt automatisch häufige Title-Probleme:

  • Automatische Erkennung: Erkennt Divi-generierte Titel wie "Seiten with Specific Templates"
  • Intelligente Korrektur: Verwendet den ursprünglichen Seitentitel anstelle der Template-Beschreibung
  • ACF-Integration: Unterstützt benutzerdefinierte breadcrumb_title Felder
  • Debug-Modus: Verfügbar für Entwickler zur Problemanalyse

Verwendung

Template-Funktion

<?php if (function_exists('nxt_breadcrumb')): ?>
    <?php nxt_breadcrumb(); ?>
<?php endif; ?>

Shortcode

[nxt_breadcrumb]

Shortcode mit Asset-Overrides

[nxt_breadcrumb load_css="true" load_js="true" separator="/" show_home="false"]

Mit Parametern

<?php
nxt_breadcrumb(array(
    'separator' => '/',
    'show_home' => false,
    'show_current' => true
));
?>

Erweiterte Funktionen

// Breadcrumb HTML als String erhalten
$breadcrumb_html = nxt_get_breadcrumb();

// Breadcrumb-Items als Array erhalten
$items = nxt_get_breadcrumb_items();

// Einzelne Einstellung abrufen
$separator = nxt_breadcrumb_get_setting('separator');

// Prüfung auf Polylang
if (nxt_breadcrumb_is_polylang_active()) {
    $current_lang = nxt_breadcrumb_get_current_language();
}

Divi & ACF-Integration

// Manueller Title-Override für Divi Theme Builder
add_filter('nxt_breadcrumb_page_title', function($title, $post) {
    // Verwende ACF-Feld falls vorhanden
    if (function_exists('get_field')) {
        $custom_title = get_field('breadcrumb_title', $post->ID);
        if (!empty($custom_title)) {
            return $custom_title;
        }
    }
    return $title;
}, 10, 2);

// Debug-Modus für Divi-Probleme (nur für Admins)
// URL: /?debug_breadcrumb=1

Template-Anpassung

Erstellen Sie eine eigene Template-Datei:

  1. Kopieren Sie templates/breadcrumb.php in Ihr Theme
  2. Speichern Sie es unter your-theme/nxt-breadcrumb/breadcrumb.php
  3. Passen Sie das Template nach Ihren Wünschen an

CSS-Klassen

.nxt-breadcrumb                /* Container */
.nxt-breadcrumb-list          /* Liste */
.nxt-breadcrumb-item          /* Einzelnes Item */
.nxt-breadcrumb-current       /* Aktuelle Seite */
.nxt-breadcrumb-separator     /* Trennzeichen */
.nxt-breadcrumb-home-icon     /* Home-Icon */

Alternative Layouts

.nxt-breadcrumb--compact      /* Kompakte Ansicht */
.nxt-breadcrumb--minimal      /* Minimalistische Ansicht */

Hooks & Filter

Actions

// Nach Plugin-Initialisierung
do_action('nxt_breadcrumb_init');

Filter

// Breadcrumb-Items filtern
add_filter('nxt_breadcrumb_items', 'my_custom_breadcrumb_items', 10, 2);

// Home-URL filtern
add_filter('nxt_breadcrumb_home_url', 'my_custom_home_url');

// Anzeige-Bedingung filtern
add_filter('nxt_breadcrumb_should_show', 'my_show_condition');

Systemanforderungen

  • WordPress 5.0+
  • PHP 7.4+
  • Optional: Polylang für Mehrsprachigkeit

Ordnerstruktur

nxt-breadcrumb/
├── nxt-breadcrumb.php           # Haupt-Plugin-Datei
├── includes/                    # PHP-Klassen
│   ├── class-nxt-breadcrumb-admin.php      # Backend-Verwaltung
│   ├── class-nxt-breadcrumb-frontend.php   # Frontend-Ausgabe
│   ├── class-nxt-breadcrumb-settings.php   # Einstellungs-Management
│   ├── class-nxt-breadcrumb-polylang.php   # Polylang-Integration
│   └── functions.php                       # Helper-Funktionen
├── assets/                      # CSS/JS-Dateien
│   ├── css/
│   │   ├── admin.scss/.css     # Backend-Styles
│   │   └── frontend.scss/.css  # Frontend-Styles
│   └── js/
│       └── admin.js            # Backend-JavaScript
├── templates/                   # Template-Dateien
│   └── breadcrumb.php          # Standard-Template
├── examples/                    # Implementierungs-Beispiele
│   └── theme-integration.php   # Theme-Integration-Beispiele
├── languages/                   # Übersetzungen
│   └── nxt-breadcrumb-de_DE.po # Deutsche Übersetzung
└── README.md                    # Dokumentation

Lizenz

GPL v2 oder höher

Support

Bei Fragen oder Problemen wenden Sie sich an: info@nextab.de