Intereting Posts
Два амперсанда между функциональными вызовами Как передать контекст объекта анонимной функции? форма с методом post перестает работать, когда расширение php отключено Как вызвать php-скрипт / функцию при нажатии кнопки html PHP получить pdf-файл из базы данных с кодировкой base64 как отправить html-элементы через JSON, используя php Помимо пробелов, что еще может вызывать ошибки «заголовки, уже отправленные» в PHP Преобразование числа в слова в индийском валютном формате с величиной паи Прочитайте огромные текстовые файлы и сохраните каждую строку в базе данных Symfony2: использование Facebook PHP Api, класс BaseFacebook не может быть загружен Исключение PDO не удалось найти драйвер в laravel Как создать базу данных в Google Cloud Cloud Используйте API Google AdWords с PHP, чтобы получить ключевое слово CPC и ежемесячный объем поиска PHP и FFMPEG – Выполнение интеллектуального преобразования видео используя mod_rewrite от apache для анализа SEO-URL-адресов

Лучший способ узнать, какой php-файл сгенерировал html-строку кода в WordPress

Используя Chrome, вы можете щелкнуть правой кнопкой мыши – проверить элемент, чтобы увидеть html-код за этим элементом:

Пример элемента проверки Chrome

Интересно, как найти, какой php-файл сгенерировал этот html. Может быть, есть какой-то инструмент для установки точки останова в html, чтобы php-сервер остановился при попытке сгенерировать его снова?

Я использую WordPress локально. Я на Ubuntu 14.04LMS. Я использую Sublime Text 3 с XDebug.


ОБНОВЛЕНИЕ 1

Плагин WordPress, который можно поместить в каждом файле, будет хорошим решением (я думаю, с точки зрения моего новичка):

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

Используйте этот плагин « какой файл », чтобы узнать файл php. Затем отдохните, чтобы узнать функцию или что-то еще CTRL + F в любом редакторе.

Я хочу добавить еще один плагин, который не подходит именно для этой цели, но он очень популярен среди разработчиков WordPress, и он очень хорошо решает эту проблему. Плагин – это монитор запросов .

К сожалению, с wordpress вам нужно сделать рытье:

  1. Это страница / сообщение / пользовательская почта (т. Е. Вы можете найти страницу в разделе администратора и отредактировать ее)
  2. Если да – посмотрите назначенный шаблон (в сообщениях обычно нет поля выбора шаблона, если не добавлен специальный код) и найдите соответствующий шаблон страницы в своей теме (page-whatever.php) (это может быть не вызвано тем, что вы видите в выпадающее поле, но в его заметках оно будет иметь имя, которое вы видите), или если сообщение, которое вы ищете single.php, или если пользовательский пост ищет single-whatever.php.
  3. Вышеуказанное значение имеет значение по умолчанию и будет охватывать 60% ситуаций. Но если вы добавите плагин, и он добавит новые страницы, шаблон страницы будет в плагине, и начнется настоящая забава.
  4. Если плагин разработан с учетом модов пользователей, он должен иметь свои страницы в одном месте или в папке с функциональными наборами. Просмотрите вышеуказанные файлы в этих местах, если они существуют или находятся в общих папках плагина.
  5. Если вам еще не повезло, найдите add_action('save_post', 'whatever'); может быть код, указывающий return $template , это будет также иметь тип post в функции. Ищите путь его вызова
  6. Другой способ добавления страницы – переписать URL (выполнить поиск по файлам для перезаписи). Он будет содержать путь к файлу (есть несколько способов сделать это, чтобы найти их, чтобы вы их узнали).

Если вы считаете, что нашли правильный шаблон, попробуйте эхо, чтобы увидеть, отображается ли оно на экране. Если да, вы нашли шаблон, посмотрите, что вы следуете за включениями / требованиями для соответствия .php-файлам, вы найдете свой html где-нибудь либо как html, либо php-код, создающий html.

надеюсь, вы найдете то, что ищете, но на самом деле нет правил, и могут существовать другие методы, включая htaccess, переписывающие, чтобы указывать на php-файл и т. д., или файл с файлами функций на лету

Это может быть хорошим моментом, чтобы упомянуть, если вы когда-либо создаете весь плагин, храните файлы логически и включаете из файлового контроллера или файла плагина. Храните страницы в папке с папками, чтобы их было легко найти.

Удачи!

update: фильтр для вывода пути в файлах шаблонов

 add_filter( 'template_include', 'show_path', 99 ); function show_path( $template ) { if($template): echo $template; else: echo "template path not found"; endif; return $template; } 

Поместите эхо на ваши страницы PHP, чтобы напечатать их имя в комментарии HTML, исходя из того, установлена ​​ли переменная сеанса. Затем установите эту переменную сеанса и наслаждайтесь.

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

Причина, по которой я говорю использовать переменную сеанса, заключается в том, что вы можете создать какой-то механизм, где вы можете иногда смотреть на это для целей отладки, но пользователи обычно не сталкиваются с этим.

Другая возможность – скопировать id или класс из html. Затем выполните поиск этой строки через исходный код веб-приложения WordPress, чтобы установить точку останова в каждом месте, где отображается строка.

Однако строка может быть в базе данных. В этом случае этот метод не будет работать.

Сначала закрепите резервную копию всего веб-сайта, предположим / мой-сайт

1. Щелкните правой кнопкой мыши элемент, для которого вы хотите найти php-код

2.Cope CLASS или ID селектор этой линии

3.Поиск, что CLASS или ID селектор в редакторе внутри / папка моего сайта, для этого блокнота ++ и Dreamweaver лучше.

Код начальной страницы

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

Примечание: Сори, мой английский не очень хорош.

Надеемся, что этот плагин полезен. использовать для поиска в файлах amd, теряя время. Кроме того, я использую то, что плагин для файлов, как было предложено ранее, это отличный способ. Но я думаю, что объединение String Locator будет иметь дополнительное удовольствие! String Locator

Не все данные хранятся в файлах html или php в WordPress.

Возможно, строка, которую вы ищете, поступает из базы данных, так как wordpress использует базу данных для хранения переменных данных.

Пожалуйста, ищите базу данных