Ich arbeite daran, eine Site zu optimieren, deren Verwaltung ich kürzlich übernommen habe, und es scheint mir, dass es einige unbenutzte Vorlagen gibt. Ich möchte alle nicht verwendeten und redundanten Vorlagendateien entfernen, damit wir unsere Entwicklungen auf die von uns unterstützten Vorlagen konzentrieren können. Es gibt jedoch mehr als 100 Seiten und Beiträge auf dieser Website, sodass ich nicht einfach eine Stichprobe durchführen kann, die ich benötige eine robuste Abfrage.
Ich habe festgelegt, wie abgefragt werden soll, welche Seitenvorlage beim Verbinden von wp_posts und wp_postmeta aufgerufen wird, und ich habe herausgefunden, welche Postformate verwendet werden, indem wp_posts und wp_terms über wp_term_relationships abgefragt werden, ABER ... das scheint immer noch nicht zu sagen mir, ob die index.php jemals verwendet wird (und ich glaube nicht, dass es so ist).
Ich vermisse wahrscheinlich etwas Offensichtliches, aber gibt es eine Möglichkeit zu sehen, welche der normalen Wordpress-Themendateien tatsächlich aufgerufen werden? ODER ist es so, dass ich bereits alle Informationen habe und 'index.php' einfach nicht verwendet wird.
Jede Hilfe wäre sehr dankbar!
Vielen Dank
Antworten:
Hier ist eine grobe Funktion, die ich verwende, um damit umzugehen. Sie sollte für jeden gut funktionieren, der dies schnell und einfach tun möchte. Fügen Sie diese Datei Ihre functions.php hinzu und besuchen Sie dann Ihre Site mit
?template_report
der URL, um einen Bericht für jede benutzerdefinierte Designvorlage anzuzeigen.Es ist rau, ich würde vorschlagen, den
add_action
Anruf zu kommentieren / zu kommentieren , wenn Sie ihn verwenden möchten.Die Ausgabe sieht folgendermaßen aus:
quelle
Es gibt keine Abfrage, die alle Themendateien identifiziert, die aktiv verwendet werden oder nicht verwendet werden. Die einzige mir bekannte Abfrage, die einige Themendateien identifiziert, ist:
SELECT * FROM wp_postmeta WHERE meta_key = '_wp_page_template';
Dadurch werden alle benutzerdefinierten Seitenvorlagen identifiziert, die verwendet werden. Standard-Themendateien wie index.php, single.php, header.php, footer.php werden nicht identifiziert, da dies keine benutzerdefinierten Seitenvorlagen sind. Es wird empfohlen, index.php einzuschließen, da dies ein Standard / Fallback ist, wenn jemals ein Problem mit spezifischeren Themendateien auftritt. In vielen Fällen wird die Datei nie verwendet, aber es ist immer gut, sie dort zu haben, und sie zeigt Ihnen normalerweise die Barebone-HTML-Struktur der Site. Dies kann ein hilfreicher Hinweis sein, bevor Sie in individuellere Dateien eintauchen.
Wenn Sie den Reverse-Engineering-Pfad fortsetzen möchten, würde ich vorschlagen, Ihren Theme-Datei-ID-Code in die (als Kommentar, wenn es sich um eine Live-Site handelt) aufzunehmen und jede URL manuell durchzugehen. Wenn Sie ein Plugin verwenden, das eine XML-Sitemap generiert, können Sie sicherstellen, dass Sie jede URL treffen. Denken Sie daran, dass die identifizierte Datei wahrscheinlich nicht die einzige verwendete Datei ist. Wenn Ihre Posts beispielsweise die Standardeinstellung verwenden
single.php
, wird sie höchstwahrscheinlichheader.php
undfooter.php
mindestens verwendet. Einige Themen verwenden Vorlagenteile oder -einschlüsse. Nachdem Sie also Ihre erste Liste der übergreifenden Vorlage für jede URL erstellt haben, müssen Sie jede dieser Vorlagen durchsuchen und bestimmen, welche Dateien sie aufrufen. Sie werden auch überprüfen wollenfunctions.php
für die in die Warteschlange gestellten Stylesheets und JS sowie möglicherweise andere Includes.Eine Alternative zu diesem langen Prozess besteht darin, das Thema von Grund auf neu zu erstellen. Ich verstehe, dass dies nicht immer möglich ist, aber es ist die sauberste Lösung, und es wird wahrscheinlich weniger Zeit in Anspruch nehmen und weniger riskant sein, als zu versuchen, Teile eines alten komplexen Themas langsam zu entfernen. Für diesen Prozess identifiziere ich die am häufigsten verwendeten Vorlagen (wenn Sie 50 von einem CPT-Start dort haben) und codiere diese zuerst auf einer Entwicklungs- / Staging-Site, importiere oder kopiere mindestens eine Handvoll von jedem Beitragstyp und baue von dort aus weiter. Noch einmal, Sie müssen mindestens den größten Teil der Website durchgehen, um sicherzustellen, dass Sie Anpassungen nicht übersehen. Die einzige Möglichkeit, 100% sicher zu sein, dass Sie alles abgefangen haben, besteht darin, jede URL zu überprüfen.
quelle
Legen Sie diesen Code in functions.php ab und melden Sie sich bei einem Benutzer an, der die
manage_options
Möglichkeit hat, eine Seite mit den nicht verwendeten Vorlagen zu erstellen.Ich rate davon ab, index.php zu entfernen, da es Teil der WP-Vorlagenhierarchie ist und die allerletzte Sicherungsvorlage für alles ist, was nichts anderes zu verwenden hat.
quelle
Sie können die gesamte Site crawlen und die Ergebnisse für
get_included_files()
Ihre Vorlagendateien abgleichen.quelle
Du meinst so etwas?
quelle