Wenn Sie ein WordPress-Thema aktivieren, ist es immer mühsam, herauszufinden, welche Datei geändert werden muss. Irgendeine Idee, wie man Dinge vereinfacht?
In Anbetracht der Funktionalität von get_template_part kann dies jedoch unmöglich sein. Was sagst du?
Antworten:
Haken Sie an
template_include
, legen Sie ein Global fest, um die vom Thema festgelegte Vorlage zu notieren, und lesen Sie diesen Wert in die Fußzeile oder Kopfzeile zurück, um zu sehen, welche Vorlage für eine bestimmte Ansicht aufgerufen wird.Ich habe bereits in Get name of the current template file über diesen Filter-Hook gesprochen , aber nimm eine Kopie dieses Codes und kopiere sie in die
functions.php
Datei deines Themas .Öffnen Sie dann das
header.php
oder des Themasfooter.php
(oder wo immer Sie möchten) und verwenden Sie Folgendes, um die aktuelle Vorlage auszudrucken.Wenn Sie dies auf einer Produktionssite verwenden und diese Informationen von Benutzern fernhalten möchten, die keine Administratoren sind, fügen Sie eine kleine bedingte Logik hinzu.
Jetzt können Sie verfolgen, welche Ansichten welche Vorlage verwenden, und gleichzeitig diese Informationen von Ihren Besuchern fernhalten.
quelle
get_page_template
Wenn Sie nur überprüfen möchten, welche Vorlagendatei zum Generieren der aktuellen Seite verwendet wurde, müssen Sie sich nicht mit Code beschmutzen.
Es gibt dieses praktische Plugin namens Debug Bar . Es ist ein großartiger Helfer in vielen Situationen, einschließlich Ihrer. Sie sollten es auf jeden Fall ausprobieren - für mich und viele andere ist es ein Muss für jede WP-Entwicklung.
Ich habe einen Screenshot angehängt, in den du dich verlieben könntest ...
Damit die Debug-Leiste funktioniert , müssen Sie
wp_debug
undwp_savequeries
options aktivieren . Diese Optionen sind standardmäßig deaktiviert.Bevor Sie Änderungen vornehmen, sollten Sie einige Punkte beachten:
So nehmen Sie die Änderungen vor:
wp_config.php
Datei über einen FTP-Client.wp_debug
Option suchen . Bearbeiten Sie es zudefine( 'WP_DEBUG', true );
. Wenn die Zeile nicht vorhanden ist, fügen Sie sie der Datei hinzu.define( 'SAVEQUERIES', true );
sie der Datei hinzu.Weitere Infos: Codex
quelle
WP_DEBUG
und nichtSAVEQUERIES
, obwohl es von ihnen erweitert wird.Ich benutze diese praktische Funktion, die die aktuelle Vorlage nur für Superadministratoren anzeigt:
Ich hoffe, das hilft. :)
quelle
Fügen Sie den folgenden Code direkt nach der Zeile get_header in jede relevante Vorlagendatei ein:
In Ihrem Browser> Quelltext anzeigen, und der Name der Vorlage wird als Kommentar in Ihrem HTML-Code angezeigt, z
quelle
Ich habe festgestellt, dass es am einfachsten ist, die WordPress-Funktion in das Body-Tag aufzunehmen. Es werden mehrere Klassen hinzugefügt, je nachdem, welche Seite Sie anzeigen (Startseite für die Vorderseite, Seite für Seite usw.).
Überprüfen Sie es hier: http://codex.wordpress.org/Function_Reference/body_class
Außerdem ist es hilfreich, Elemente mit CSS auf diesen Seiten auszurichten.
Das Kennenlernen der Vorlagenhierarchie (http://codex.wordpress.org/Template_Hierarchy), wie von David R erwähnt, ist ebenfalls eine gute Idee.
quelle
Speziell für diesen Zweck gibt es ein weiteres Bare-Bones-Plugin. Ich neige dazu, die Debug-Leiste zu installieren, da diese anderen Funktionen nützlich aussehen, aber diese sind grundlegender und speziell für diesen Zweck: http://wordpress.org/extend/plugins/what-the-file/
quelle
Eine sehr einfache Sache, die ich mache, ist das Einfügen eines HTML-Kommentars, der die Vorlagendatei identifiziert, in jede relevante Datei des Themas, zB oben in der index.php, die ich habe
und oben auf front-page.php
Aber das erfordert natürlich eine Änderung des Themas. Ich vermute, Sie könnten der footer.php-Datei oder der header.php-Datei eine benutzerdefinierte Funktion hinzufügen, die Ihnen mitteilt, welche Datei verwendet wurde. Die obige Methode und das Referenzdiagramm http://codex.wordpress.org/Template_Hierarchy sind das, was ich normalerweise verwende.
quelle
Es gibt ein Plugin namens Theme Check, das genau dies tut. Es zeigt den Namen der aktuell verwendeten Vorlagendatei als HTML-Kommentar an.
quelle
Bitte schön:
Eine HTML-Liste mit allen Vorlagendateien, die für die aktuelle Zielseite verwendet werden, einschließlich aller Vorlagenteile aus Plugins, untergeordneten Designs und / oder übergeordneten Designs in einer Codezeile:
Möglicherweise müssen Sie überprüfen, ob Ihr Server in keinem Pfad doppelte Schrägstriche zurückgibt . Denken Sie daran, dies zu platzieren, nachdem alle Vorlagendateien tatsächlich verwendet wurden, wie in footer.php, aber bevor die Admin-Leiste gerendert wird .
Wenn der
admin-bar stuff
Pfad obentemplate-loader.php
angezeigt wird oder eine andere Datei, ändern Sie den Dateinamen in dieser Codezeile in: den Dateinamen , von dem Sie abbrechen müssen. Häufig:class-wp-admin-bar.php
Wenn Sie dies in der Admin-Leiste benötigen, verwenden Sie die richtige Priorität (frühestens) , um sicherzustellen, dass am Ende dieser Liste keine Dateien eingegeben werden . Zum Beispiel:
Priorität
-5
stellen Sie sicher, dass es zuerst geladen wird. Der Schlüssel ist,get_included_files()
im richtigen Moment anzurufen , da sonst ein Array-Popping erforderlich ist!Um dies aufzubrechen:
Sie können nicht alle enthaltenen Vorlagendateien ohne PHP-Backtrace sammeln. Superglobals im Inneren
template_include
sammeln sie nicht alle . Die andere Möglichkeit besteht darin, in jeder Vorlagendatei einen "Marker" zu platzieren. Wenn Sie jedoch zuerst mit den Dateien interagieren müssen, können Sie sich über die Zeit und die gesamte Idee freuen.1) Wir müssen alle Dateien überprüfen, die von der aktuellen Wordpress-Anfrage verwendet wurden. Und es gibt viele! Seien Sie nicht überrascht, wenn Sie 300 Dateien verwenden, bevor auch Ihre functions.php registriert ist.
Wir verwenden PHP, get_included_files (), und konvertieren Backslashes in Forward-Slashes, um den meisten Wordpress-Rückgabepfaden zu entsprechen.
2) Wir schneiden das Array, von dem aus die template-loader.php registriert ist. Danach sollten in den ausgefüllten get_included_files () nur Vorlagendateien ausgefüllt sein.
3) Kürzen Sie die Ergebnisse nach unten, wir nicht den Weg bis zum Theme - Ordner oder Plugin - Ordner benötigen, als Vorlagen verwendet wird , können gemischt werden von Plug - ins, Thema oder Kinder Thema Ordner.
4) Konvertieren Sie abschließend vom Array in eine schöne HTML-Liste
Eine letzte Änderung könnte in Teil3) -Ersetzung erforderlich sein , wenn Sie nicht möchten, dass die Plugins die erforderlichen Includes enthalten . Sie rufen möglicherweise zu
class-files
spät auf und "fangen" während der Verarbeitung der Vorlagenausgabe ab.Ich fand es jedoch vernünftig, sie sichtbar zu lassen, da die Idee darin besteht, zu verfolgen, was geladen wurde , auch wenn es sich in dieser Phase nicht um eine "Vorlage" handelt, die die Ausgabe wiedergibt .
quelle