Table of Contents Plus ist ein leistungsstarkes und dennoch benutzerfreundliches WordPress-Plugin, das automatisch ein kontextspezifisches Inhaltsverzeichnis (TOC) für lange Seiten (und benutzerdefinierte Beitragstypen) erstellt. Dieses Plugin ist mehr als nur ein Plugin für Inhaltsverzeichnisse, es kann auch eine Sitemap ausgeben, die Seiten und/oder Kategorien auf Ihrer gesamten Website auflistet.
In diesem Artikel
- Beschreibung
- Screenshots
- Installation / Upgrade
- Hilfe
- Der einfachste Ansatz
- Wo ist mein Inhaltsverzeichnis?
- Wie verhindere ich, dass das Inhaltsverzeichnis auf einer einzelnen Seite angezeigt wird?
- Ich habe die Umrandung auf links oder rechts gesetzt, aber die Überschriften werden nicht um das Inhaltsverzeichnis herum umbrochen
- Wie füge ich den Namen der Seite in den Titel des Inhaltsverzeichnisses ein?
- Meine Website hat 100 Seiten, aber ich möchte, dass das Inhaltsverzeichnis nur auf 10 davon erscheint
- Ich möchte bestimmte Überschriften ignorieren
- Kann ich das Inhaltsverzeichnis in der Seitenleiste haben?
- Im Gegensatz zu Wikipedia möchte ich, dass alle meine Anker klein geschrieben sind und Bindestriche anstelle von Unterstrichen verwendet werden
- Ich möchte eine Sitemap integrieren
- Die Sitemap verwendet eine seltsame Schriftart, die sich vom Rest der Website unterscheidet
- Shortcodes
- Für Entwickler
Beschreibung
Das Inhaltsverzeichnis wurde von Grund auf mit Blick auf Wikipedia erstellt und erscheint standardmäßig vor der ersten Überschrift auf einer Seite. Dies ermöglicht es dem Autor, einleitende Inhalte einzufügen, die den Rest der Seite zusammenfassen oder vorstellen können. Es verwendet auch ein einzigartiges Nummerierungssystem, das sich durch CSS-Unterschiede zwischen den Themes nicht verliert.
Dieses Plugin ist ein großartiger Begleiter für inhaltsreiche Websites wie Content-Management-System-orientierte Konfigurationen. Blogger profitieren jedoch gleichermaßen, wenn sie lange strukturierte Artikel schreiben.
ToC Plus enthält ein Administrations-Optionsfeld, in dem Sie Einstellungen wie die Anzeigeposition anpassen, die Mindestanzahl von Überschriften definieren, bevor ein Index angezeigt wird, das Erscheinungsbild und mehr festlegen können. Für Power-User können die erweiterten Optionen erweitert werden, um das Verhalten weiter zu optimieren, einschließlich:
- Schließe unerwünschte Überschriftenebenen wie h5 und h6 von der Einbeziehung aus;
- Deaktiviere die Ausgabe der eingebundenen CSS-Datei;
- Passe den oberen Abstand und mehr an.
Mit Shortcodes können Sie das Standardverhalten überschreiben, z. B. spezielle Ausschlüsse auf einer bestimmten Seite oder sogar das vollständige Ausblenden des Inhaltsverzeichnisses.
Ziehen Sie es vor, das Inhaltsverzeichnis in der Seitenleiste einzubinden? Gehen Sie zu Darstellung > Widgets und ziehen Sie TOC+ in die gewünschte Seitenleiste und Position.
Benutzerdefinierte Beitragstypen werden unterstützt, jedoch funktioniert die automatische Einfügung nur, wenn the_content() vom benutzerdefinierten Beitragstyp verwendet wurde. Jeder Beitragstyp wird im Optionsfeld angezeigt, aktivieren Sie also die gewünschten.
Screenshots






Installation / Upgrade
Installieren Sie das Plugin, indem Sie im Bildschirm "Plugin hinzufügen" nach Table of Contents Plus suchen oder direkt aus dem WordPress-Plugin-Repository.
Es gibt keine besonderen Upgrade-Anweisungen. Überschreiben Sie Ihren vorhandenen Ordner mit dem neuesten oder verwenden Sie den optimierten Ansatz im Plugin-Menü. Ihre Optionen gehen nicht verloren.
Hilfe
Der einfachste Ansatz
Für Ungeduldige müssen Sie nur das Plugin aktivieren.
Das Plugin wendet Standardeinstellungen an und erstellt das Inhaltsverzeichnis vor der ersten Überschrift auf Seiten (nicht Beiträgen oder benutzerdefinierten Beitragstypen) mit vier oder mehr Überschriften.
Es werden keine Shortcodes benötigt.
Wo ist mein Inhaltsverzeichnis?
- In den meisten Fällen hat der Beitrag, die Seite oder der benutzerdefinierte Beitragstyp weniger als die minimale Anzahl von Überschriften. Standardmäßig ist dies auf vier eingestellt, stellen Sie also sicher, dass Sie mindestens vier Überschriften in Ihrem Inhalt haben. Wenn Sie diesen Wert ändern möchten, finden Sie ihn unter "Hauptoptionen" > "Anzeigen, wenn".
- Ist die automatische Einfügung für Ihren Inhaltstyp aktiviert? Standardmäßig sind nur Seiten aktiviert.
- Haben Sie
[no_toc]irgendwo im Inhalt? Dies deaktiviert das Inhaltsverzeichnis für den aktuellen Beitrag, die Seite oder den benutzerdefinierten Beitragstyp. - Wenn Sie das TOC+ Widget verwenden, überprüfen Sie, ob Sie "Inhaltsverzeichnis nur in der Seitenleiste anzeigen" aktiviert haben, da dies die Anzeige auf die Seitenleiste beschränkt. Sie können dies überprüfen, indem Sie zu Darstellung > Widgets gehen.
- Sie haben die Generierung möglicherweise auf einen URL-Pfad-Abgleich beschränkt. Die Einstellung finden Sie im erweiterten Bereich unter Hauptoptionen.
Wie verhindere ich, dass das Inhaltsverzeichnis auf einer einzelnen Seite angezeigt wird?
Platzieren Sie den folgenden [no_toc] Shortcode irgendwo auf der Seite, um das Inhaltsverzeichnis zu unterdrücken. Dies funktioniert für Beiträge, Seiten und benutzerdefinierte Beitragstypen, die the_content() verwenden.
Ich habe das Umfließen auf links oder rechts eingestellt, aber die Überschriften umschließen das Inhaltsverzeichnis nicht
Dies geschieht normalerweise, wenn eine CSS-Clear-Direktive in oder um die Überschrift herum vorhanden ist, die vom Theme stammt (Twenty Eleven und Twenty Twelve sind zwei Themes, die dies tun). Diese Direktive weist den User-Agent an, die vorherigen Umfließungsspezifikationen zurückzusetzen.
Sie können das CSS Ihres Themes anpassen oder versuchen, die Position des Inhaltsverzeichnisses an den Anfang der Seite zu verschieben.
Versuchen Sie, das folgende CSS hinzuzufügen, um den Umbruch um das Inhaltsverzeichnis zu ermöglichen:
h1, h2, h3, h4, h5, h6 { clear: none; }
Wie füge ich den Namen der Seite in den Titel des Inhaltsverzeichnisses ein?
Da sich der Titel der Seite je nach der von Ihnen angezeigten Seite ändert, können Sie die folgende spezielle Variable verwenden, um den Titel der Seite automatisch in die Überschrift des Inhaltsverzeichnisses einzufügen:
%PAGE_NAME%
Sie können ihn wie er ist verwenden oder Text vor und nach der Variablen platzieren.
Als Beispiel: Wenn Ihre Seite Große Erwartungen heißt und Ihr Inhaltsverzeichnistitel auf Inhalt für %PAGE_NAME% gesetzt ist, würde der endgültige Titel Inhalt für Große Erwartungen lauten.
Meine Website hat 100 Seiten, aber ich möchte, dass das Inhaltsverzeichnis nur auf 10 davon erscheint.
Sie könnten [no_toc] auf den 90 Seiten einfügen, aber das wäre nicht lustig ... versuchen Sie stattdessen Folgendes:
- Gehen Sie zu Einstellungen > TOC+ und deaktivieren Sie die automatische Einfügeoption für Seiten (oder den Inhaltstyp, mit dem Sie arbeiten).
- Fügen Sie
[toc]auf den 10 Seiten ein, die sie benötigen. Beachten Sie, dass das Inhaltsverzeichnis dort erscheint, wo Sie den Shortcode platziert haben.
Alternativ können Sie auch mit der Option „Pfad einschränken“ experimentieren, wenn die Seiten, auf denen Sie den Index anzeigen möchten, alle in einem bestimmten Bereich Ihrer Website liegen (z. B. /doc/).
Ich möchte bestimmte Überschriften ignorieren.
Verwenden Sie die Option „Überschriften ausschließen“, wenn Sie bestimmte Überschriften ignorieren möchten. Trennen Sie mehrere Überschriften mit einem senkrechten Strich |. Verwenden Sie ein Sternchen * als Platzhalter, um anderen Text abzugleichen. Beachten Sie, dass dies nicht zwischen Groß- und Kleinschreibung unterscheidet. Einige Beispiele sind:
Fruit*ignoriert Überschriften, die mit Fruit beginnen.*Fruit Diet*ignoriert Überschriften mitFruit Dietirgendwo in der Überschrift.Apple Tree|Oranges|Yellow Bananasignoriert Überschriften, die exakt Apple Tree, Oranges oder Yellow Bananas sind.
Kann ich das Inhaltsverzeichnis in der Seitenleiste haben?
Verwenden Sie das TOC+-Widget und ziehen Sie es an die gewünschte Position. Wenn das Inhaltsverzeichnis nur in der Seitenleiste angezeigt werden soll, stellen Sie sicher, dass Sie diese Option im Widget aktivieren.
Im Gegensatz zu Wikipedia möchte ich, dass alle meine Anker klein geschrieben sind und Bindestriche anstelle von Unterstrichen verwendet werden.
Es gibt zwei Optionen, mit denen Sie die Groß-/Kleinschreibung und die Verwendung von Bindestrichen anpassen können. Wenn Sie immer noch mehr benötigen, können Sie es noch etwas weiter anpassen, indem Sie sich in den toc_url_anchor_target -Filter einklinken. Sehen Sie sich den Abschnitt Entwickler unten für ein Beispiel an.
Ich möchte eine Sitemap integrieren.
- Erstellen Sie eine Seite für Ihre Sitemap (wenn Sie bereits eine haben, verwenden Sie diese stattdessen).
- Fügen Sie
[sitemap]in Ihre Seite ein und speichern Sie.
Das Obige ist das einfachste Beispiel für die Integration einer Sitemap, die alle Seiten und Kategorien auflistet. Sie können die Sitemap-Optionen unter Einstellungen > TOC+ anpassen oder sich einige der fortgeschritteneren Anwendungen mit den sitemapbezogenen Shortcodes unten ansehen.
Sie könnten auch eine Sitemap über ein Text-Widget einbinden und einen der Sitemap-Shortcodes einfügen.
Die Sitemap verwendet eine seltsame Schriftart, die sich vom Rest der Website unterscheidet.
Es werden keine zusätzlichen Stile für die Sitemap erstellt, stattdessen erbt sie alle Stile, die Sie beim Hinzufügen des Shortcodes verwendet haben. Wenn Sie kopiert und eingefügt haben, haben Sie wahrscheinlich auch die 'code'-Tags darum herum kopiert, also entfernen Sie diese in diesem Fall.
In den meisten Fällen sollte der Shortcode auf einer eigenen Zeile stehen, ohne etwas vor oder nach den eckigen Klammern.
Shortcodes
Das Plugin wurde so konzipiert, dass es so nahtlos und schmerzfrei wie möglich ist und keine Eingabe eines Shortcodes für den Betrieb erfordert. Die Verwendung des Shortcodes ermöglicht es Ihnen jedoch, die Position des Inhaltsverzeichnisses auf Ihrer Seite vollständig zu steuern. Die folgenden Shortcodes sind mit diesem Plugin verfügbar.
Wenn Parameter für die unten aufgeführten Shortcodes weggelassen werden, greifen diese auf die unter Einstellungen > TOC+ definierten Einstellungen zurück.
[toc]
Ermöglicht die Generierung des Inhaltsverzeichnisses an der bevorzugten Position. Auch nützlich für Websites, die nur auf einer kleinen Handvoll von Seiten ein Inhaltsverzeichnis benötigen.
Attribute:
label: Text, Titel des Inhaltsverzeichnissesno_label: true/false, zeigt den Titel an oder blendet ihn auswrapping: Text, entweder „left“ oder „right“heading_levels: Zahlen, damit können Sie die Überschriftenebenen auswählen, die in das Inhaltsverzeichnis aufgenommen werden sollen. Trennen Sie mehrere Ebenen mit einem Komma. Beispiel: Überschriften 3, 4 und 5 einschließen, aber die anderen ausschließen mitheading_levels="3,4,5"exclude: Text, geben Sie Überschriften ein, die ausgeschlossen werden sollen. Trennen Sie mehrere Überschriften mit einem Pipe-Symbol|. Verwenden Sie ein Sternchen*als Platzhalter, um anderen Text abzugleichen. Sie können auch reguläre Ausdrücke für erweiterte Übereinstimmungen verwenden.class: Text, geben Sie CSS-Klassen ein, die dem Container hinzugefügt werden sollen. Trennen Sie mehrere Klassen mit einem Leerzeichen.
[no_toc]
Ermöglicht es Ihnen, das Inhaltsverzeichnis für den aktuellen Beitrag, die Seite oder den benutzerdefinierten Post-Typ zu deaktivieren.
[sitemap]
Erzeugt eine Liste aller Seiten und Kategorien für Ihre Website. Sie können dies auf jedem Beitrag, jeder Seite oder sogar in einem Text-Widget verwenden.
[sitemap_pages]
Ermöglicht die Ausgabe einer Liste nur mit Seiten.
Attribute:
heading: Zahl zwischen 1 und 6, definiert, welche HTML-Überschrift verwendet werden solllabel: Text, Titel der Listeno_label: true/false, zeigt die Listenüberschrift an oder blendet sie ausexclude: IDs der Seiten oder Kategorien, die Sie ausschließen möchtenexclude_tree: ID der Seite oder Kategorie, die Sie ausschließen möchten, einschließlich aller ihrer Nachkommen
[sitemap_categories]
Ähnlich wie [sitemap_pages] , aber für Kategorien.
[sitemap_posts]
Damit können Sie ein Inhaltsverzeichnis aller veröffentlichten Beiträge auf Ihrer Website ausdrucken. Standardmäßig werden die Beiträge alphabetisch nach ihren Anfangsbuchstaben geordnet aufgelistet. Für jeden Abschnitt, Buchstaben und jede Liste gibt es CSS-Klassen, mit denen Sie das Erscheinungsbild anpassen können.
Attribute:
order: Text, entweder ASC oder DESCorderby: Text, gängige Optionen sind „title“, „date“, „ID“ und „rand“. Eine Liste finden Sie unter WP_Query.separate: true/false (standardmäßig true), trennt die Listen nicht nach dem Anfangsbuchstaben, wenn auf false gesetzt.
Für Entwickler
Wie passe ich meine Anker an?
Wenn Sie mit den Ankern immer noch nicht zufrieden sind, können Sie sie über eine benutzerdefinierte Funktion, die in den toc_url_anchor_target Filter eingehängt ist, an Ihre Bedürfnisse anpassen. Platzieren Sie als Beispiel den folgenden Code-Schnipsel in Ihre functions.php-Datei, um alle Anker in Großbuchstaben umzuwandeln.
function my_custom_anchor( $anchor ) {
return strtoupper( $anchor );
}
add_filter( 'toc_url_anchor_target', 'my_custom_anchor' );
toc_get_index( $content = ”, $prefix_url = ” )
Gibt eine HTML-formatierte Zeichenkette des Inhaltsverzeichnisses ohne die umgebenden UL- oder OL-Tags zurück, damit der Theme-Editor seine eigenen IDs und/oder Klassen für die äußere Liste bereitstellen kann.
Beide Parameter sind optional:
$contentist der gesamte Inhalt mit Überschriften. Wenn leer, wird standardmäßig der aktuelle Inhalt aus$post(z. B. innerhalb des „the loop“) verwendet.$prefix_urlist die URL, der der Anker vorangestellt werden soll. Wenn ein String angegeben wurde, wird er wie angegeben verwendet. Wenn auftruegesetzt, wird versucht, die Permalink von dem$postObjekt zu erhalten.
Diese Beispiele gehen davon aus, dass Sie sich innerhalb des „the loop“ befinden:
- Inhaltsverzeichnis für die aktuelle Seite abrufen:
echo '<ul id="my_toc">' . toc_get_index() . '</ul>';
2. Erstellen Sie eine Liste aller Kinder und ihrer Überschriften:
$children = new WP_Query(array(
'post_parent' => get_the_ID(),
'posts_per_page' => -1 // get all children
));
while ( $children->have_posts() ) {
$children->the_post();
echo
'<h3>' . get_the_title() . '</h3>' .
'<ul>' . toc_get_index( get_the_content(), get_permalink( $children->post->ID ) ) . '</ul>'
;
}
wp_reset_postdata();