it-swarm.com.de

Der beste Weg, um herauszufinden, welche PHP-Datei eine HTML-Codezeile in WordPress erzeugt hat

Mit Chrome können Sie mit der rechten Maustaste klicken - Element prüfen, um den HTML-Code hinter diesem Element zu sehen:

Chrome inspect element example

Ich frage mich, wie man herausfinden kann, welche PHP-Datei das HTML erzeugt hat. Vielleicht gibt es ein Werkzeug, um einen Haltepunkt in die HTML-Datei einzufügen, damit der PHP-Server stoppt, wenn er erneut versucht, ihn zu generieren?

Ich verwende WordPress lokal. Ich bin auf Ubuntu 14.04LMS. Ich verwende Sublime Text 3 mit XDebug.


UPDATE 1

Ein WordPress-Plugin, das in jeder Datei etwas enthalten kann, wäre eine gute Lösung (denke ich aus Sicht der Anfänger):

echo '<!-- name_of_the_php_file.php -->';
17
chelder

Verwenden Sie dieses Plugin " what the file ", um die PHP-Datei herauszufinden. Dann können Sie eine Funktion oder etwas anderes per STRG + F in einem beliebigen Editor herausfinden.

Ich möchte ein weiteres Plugin hinzufügen, das nicht genau für diesen Zweck gedacht ist, aber es ist bei WordPress-Entwicklern sehr beliebt und löst dieses Problem sehr gut. Das Plugin ist Query Monitor .

15

Setzen Sie ein Echo in Ihre PHP - Seiten, um ihren Namen in einem HTML-Kommentar zu drucken, je nachdem, ob eine Sitzungsvariable festgelegt ist. Stellen Sie dann diese Sitzungsvariable ein und genießen Sie es.

if(isset($_SESSION['printPageName']) && $_SESSION['printPageName']=='true')
{
   echo '<!-- ' . $_SERVER['PHP_SELF'] . ' -->';
}

Der Grund, warum ich eine Sitzungsvariable verwende, ist der, dass Sie einen Mechanismus erstellen können, bei dem Sie dies gelegentlich zu Debugging-Zwecken betrachten können, normalerweise jedoch nicht bei Benutzern.

5
developerwjk

Leider müssen Sie mit WordPress etwas graben:

  1. Handelt es sich um eine Seite, einen Beitrag oder einen benutzerdefinierten Beitrag (d. H. Sie können die Seite im Admin-Bereich finden und bearbeiten)
  2. Wenn ja, schauen Sie sich die zugewiesene Vorlage an (Beiträge haben normalerweise kein Vorlagenauswahlfeld, wenn nicht benutzerdefinierter Code hinzugefügt wurde) und suchen Sie die entsprechende Seitenvorlage in Ihrem Design (page-whatever.php) (es wird möglicherweise nicht das genannt, was Sie sehen das Dropdown-Feld, aber in seinen Notizen wird der Name angezeigt, den Sie sehen), oder wenn Sie einen Beitrag nach single.php suchen oder wenn der benutzerdefinierte Beitrag nach single-whatever.php sucht.
  3. Das oben genannte ist Standard und deckt 60% der Situationen ab. Wenn Sie jedoch ein Plugin hinzufügen und neue Seiten hinzufügen, befindet sich die Seitenvorlage im Plugin, und der eigentliche Spaß beginnt. 
  4. Wenn ein Plugin für User-Mods entwickelt wurde, sollten sich die Seiten an einem Ort oder in einem Funktionssatzordner befinden. Sehen Sie sich die oben genannten Dateien an diesen Speicherorten an, falls vorhanden, oder in den allgemeinen Plugin-Ordnern. 
  5. Wenn Sie immer noch kein Glück haben, suchen Sie nach add_action('save_post', 'whatever');. Möglicherweise enthält der Code return $template. Dies hat wahrscheinlich auch den Post-Typ in der Funktion. Suchen Sie nach dem Pfad, den er anruft
  6. Eine weitere Möglichkeit, eine Seite hinzuzufügen, ist das Umschreiben einer URL (Durchsuchen der Dateien nach Umschreiben). Es wird irgendwo einen Pfad zur Datei enthalten (es gibt mehrere Methoden, um dies zu tun, also schauen Sie nach, damit Sie sie erkennen können). 

Wenn Sie der Meinung sind, dass Sie die richtige Vorlage gefunden haben, versuchen Sie es mit einem Echo, um zu sehen, ob es auf dem Bildschirm angezeigt wird. Wenn Sie die Vorlage gefunden haben, schauen Sie sich an, was Sie den zutreffenden Include/Requests für die entsprechenden .php-Dateien folgen. Sie finden Ihre HTML-Datei entweder als HTML-Code oder als PHP-Code, der HTML-Code erstellt. 

hoffentlich finden Sie das, wonach Sie suchen, aber es gibt wirklich keine Regeln, und es können andere Methoden existieren, einschließlich htaccess-Umschreibungen, die auf PHP-Dateien verweisen, usw. oder eine Funktionsdatei, die fliegende Seiten erstellt

Dies ist ein guter Punkt, den Sie erwähnen sollten, wenn Sie jemals ein gesamtes Plugin erstellen, Dateien logisch speichern und von einem Datei-Controller oder einer Plugin-Datei aus einschließen. Speichern Sie Seiten in einem Seitenordner, damit diese leicht zu finden sind. 

Viel Glück!

update: Filter für Ausgabepfad für Vorlagendateien

add_filter( 'template_include', 'show_path', 99 );

function show_path( $template ) {

            if($template):
                echo $template;
            else:
                echo "template path not found";
            endif;

    return $template;
}
5
David

Machen Sie zunächst eine Sicherungskopie des gesamten Websiters, etwa/meine-Website

1.Klicken Sie mit der rechten Maustaste auf das Element, für das Sie PHP-Code suchen möchten

2.Cope CLASS oder ID-Wähler dieser Zeile

3.Suchen Sie den CLASS- oder ID-Selektor im Editor innerhalb des Ordners Meine Website, für diesen Editor ++ und Dreamweaver-Editor ist es am besten.

1
jay.jivani

Startseitencode

<?php
ob_start();
?>

HTML-Inhalt

...
...

<sapan>Original text</span>

....
...

beenden Sie den Seitencode.

<?php
/*    get and delete current buffer      &&  start a new buffer */
if ((($html = ob_get_clean()) !== false) && (ob_start() === true))
{
    echo preg_replace('~<sapan>Original text</span>~i', '<!-- name_of_the_php_file.php -->', $html, 1);
}
?>

Anmerkung: Sory, mein Englisch ist nicht gut.

1
Buse Gönen

Hoffe, dass dieses Plugin nützlich ist. Verwenden Sie diese Option, um in Dateien zu suchen. Auch ich benutze Was das file -Plugin wie schon vorgeschlagen, ist ein toller Weg. Aber ich denke, wenn man den String Locator kombiniert, wird das zusätzlichen Spaß haben! String Locator

1
StefanoWP

Eine andere Möglichkeit wäre, eine ID oder Klasse aus dem HTML-Code zu kopieren. Durchsuchen Sie dann diese Zeichenfolge durch den Quellcode der WordPress-Webanwendung, um an jeder Stelle, an der die Zeichenfolge angezeigt wird, einen Haltepunkt festzulegen. 

Die Zeichenfolge kann sich jedoch in der Datenbank befinden. In diesem Fall funktioniert diese Methode nicht.

1
chelder

In Wordpress werden nicht alle Daten in HTML- oder PHP-Dateien gespeichert.

Möglicherweise stammt die gesuchte Zeichenfolge aus der Datenbank, da Wordpress die Datenbank zum Speichern variabler Daten verwendet.

Bitte Datenbank auch durchsuchen

0
KawaiKx