web-dev-qa-db-ja.com

どのPHPファイルがWordPress

Chromeを使用すると、右クリックできます-要素を検査して、その要素の背後にあるHTMLコードを確認できます。

Chrome inspect element example

どのphpファイルがそのhtmlを生成したのか、どのようにして見つけるのでしょうか。ブレークポイントをhtmlに追加するツールがあり、PHPサーバーが再度生成しようとすると停止する場合がありますか?

WordPressローカルで使用しています。Ubuntu14.04LMSを使用しています。XDebugでSublime Text 3を使用しています。


更新1

A WordPressすべてのファイルに以下のようなものを置くことができるプラグインは、良い解決策でしょう(初心者の観点から考えます):

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

このプラグイン「 what the file 」を使用して、phpファイルを見つけます。次に、任意のエディターでCTRL + Fを押して、関数または他の何かを見つけることです。

この目的にぴったりではないプラグインをもう1つ追加したいのですが、WordPress開発者の間で非常に人気があり、この問題を非常によく解決します。プラグインは Query Monitor =。

18

PHPページにエコーを挿入して、セッション変数が設定されているかどうかに基づいてHTMLコメントに名前を印刷します。その後、そのセッション変数を設定してお楽しみください。

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

私がセッション変数を使用する理由は、デバッグ目的でこれを時々見ることができるメカニズムを作成できるようにするためですが、ユーザーは通常それを経験しません。

5
developerwjk

残念ながらwordpressを使用すると、いくつかの掘り下げを行う必要があります。

  1. ページ/投稿/カスタム投稿ですか(つまり、管理セクションでページを見つけて編集できます)
  2. はいの場合-割り当てられたテンプレートを見て(カスタムコードが追加されない限り、投稿には通常テンプレート選択フィールドはありません)、テーマ(page-whatever.php)で一致するページテンプレートを見つけます(表示されているものとは呼ばれないかもしれません)ドロップダウンフィールド、ただしそのメモには名前が表示されます)、またはsingle.phpを探している投稿の場合、またはカスタム投稿がsingle-whatever.phpを探している場合。
  3. 上記はデフォルトであり、状況の60%をカバーします。しかし、プラグインを追加して新しいページを追加すると、ページテンプレートがプラグインに含まれ、本当の楽しみが始まります。
  4. プラグインがユーザーmodを念頭に置いて開発されている場合、そのページは1つの場所または機能セットフォルダーにある必要があります。これらの場所が存在する場合、または一般的なプラグインフォルダーで上記のファイルを探してください。
  5. それでもうまくいかない場合は、add_action('save_post', 'whatever');を探してください。return $template、これは関数内の投稿タイプも持っています。呼び出し元のパスを探します
  6. ページを追加するもう1つの方法は、URL書き換え(ファイルを検索して書き換えを行う)です。ファイルのどこかにパスが含まれます(これを行うにはいくつかの方法がありますので、それらを確認してください。

正しいテンプレートが見つかったと思われる場合は、エコーを試して、画面に表示されるかどうかを確認してください。テンプレートが見つかった場合は、.phpファイルを適用するためのinclude/requiresに従ってください。htmlは、htmlを作成するhtmlまたはphpコードとしてどこかにあります。

あなたが探しているものを見つけることを願っていますが、実際にはルールはなく、phpファイルなどを指すhtaccessの書き換えなど、他の方法が存在する可能性があります

これは、プラグイン全体を作成し、ファイルを論理的に保存し、ファイルコントローラーまたはプラグインファイルからインクルードする場合に言及する良いポイントかもしれません。ページを見つけやすいように、ページフォルダーにページを保存します。

がんばろう!

更新:テンプレートファイルの出力パスへのフィルター

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

/ my-websiteを想定して、最初にWebサイト全体のバックアップを作成します

1. PHPコードを検索する要素を右クリックします

2。その行のCLASSまたはIDセレクターを選択する

3。/ my-websiteフォルダー内のエディターでCLASSまたはIDセレクターを検索します。このnotepad ++およびDreamweaverエディターが最適です。

1
jay.jivani

開始ページのコード

<?php
ob_start();
?>

HTMLコンテンツ

...
...

<sapan>Original text</span>

....
...

終了ページのコード。

<?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);
}
?>

注:ソリー、私の英語はよくありません。

1
Buse Gönen

このプラグインが役立つことを願っています。 AMDが十分な時間を浪費しているファイルを検索するために使用します。また、fileプラグインを以前に提案したように使用します、それは素晴らしい方法です。しかし、文字列ロケーターを組み合わせると、さらに楽しくなると思います! 文字列ロケーター

1
StefanoWP

別の可能性は、htmlからidまたはクラスをコピーすることです。次に、WordPress Webアプリケーションのソースコードを介してその文字列を検索し、文字列が表示されるすべての場所にブレークポイントを配置します。

ただし、文字列はデータベース内にある可能性があります。その場合、このメソッドは機能しません。

1
chelder

すべてのデータがWordpressのhtmlまたはphpファイルに保存されるわけではありません。

wordpressは変数データを保存するためにデータベースを使用するため、探している文字列はデータベースからのものである可能性があります。

データベースも検索してください

0
KawaiKx