Лучший способ узнать, какой php файл сгенерировал html-строку кода в WordPress
Используя Chrome, вы можете щелкнуть правой кнопкой мыши - проверить элемент, чтобы увидеть html-код за этим элементом:
![Chrome inspect element example]()
Интересно, как найти, какой php файл сгенерировал этот html. Может быть, есть какой-то инструмент для установки точки останова в html, чтобы php-сервер остановился при попытке сгенерировать его снова?
Я использую WordPress локально. Я на Ubuntu 14.04LMS. Я использую Sublime Text 3 с XDebug.
ОБНОВЛЕНИЕ 1
Плагин WordPress, который можно поместить в каждом файле, будет хорошим решением (я думаю, с точки зрения моего новичка):
echo '<!-- name_of_the_php_file.php -->';
Ответы
Ответ 1
Используйте этот плагин " какой файл", чтобы узнать файл php. Затем отдохните, чтобы узнать какую-либо функцию или что-то еще CTRL + F в любом редакторе.
Я хочу добавить еще один плагин, который не подходит именно для этой цели, но он очень популярен среди разработчиков WordPress и очень хорошо решает эту проблему. Плагин Query Monitor.
Ответ 2
Поместите эхо на страницы PHP, чтобы напечатать их имя в комментарии HTML на основе того, установлена ли переменная сеанса. Затем установите эту переменную сеанса и наслаждайтесь.
if(isset($_SESSION['printPageName']) && $_SESSION['printPageName']=='true')
{
echo '<!-- ' . $_SERVER['PHP_SELF'] . ' -->';
}
Причина, по которой я говорю использовать переменную сеанса, заключается в том, что вы можете создать какой-то механизм, где вы можете иногда смотреть на это для целей отладки, но пользователи обычно не сталкиваются с ним.
Ответ 3
К сожалению, с помощью wordpress вам нужно сделать рытье:
- Это страница/сообщение/пользовательский пост (т.е. вы можете найти страницу в разделе администратора и отредактировать ее).
- Если да - посмотрите назначенный шаблон (в сообщениях обычно нет поля выбора шаблона, если не добавлен специальный код) и найдите соответствующий шаблон страницы в своей теме (page-whatever.php) (это может и не быть вызвано тем, что вы видите в раскрывающемся списке, но в его заметках оно будет иметь имя, которое вы видите), или если сообщение, которое вы ищете single.php, или если пользовательский пост просматривает single-whatever.php.
- Вышеуказанное значение имеет значение по умолчанию и будет охватывать 60% ситуаций. Но если вы добавите плагин, и он добавит новые страницы, шаблон страницы будет в плагине, и начнется настоящая забава.
- Если плагин разработан с учетом модов пользователей, он должен иметь свои страницы в одном месте или в папке с функциональными наборами. Просмотрите вышеуказанные файлы в этих местах, если они существуют или находятся в общих папках плагина.
- Если вам все еще не повезло, посмотрите
add_action('save_post', 'whatever');
может быть код, указывающий return $template
, это будет также иметь тип сообщения в функции. Ищите путь его вызова
- Еще один способ добавления страницы - переписать 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;
}
Ответ 4
Другая возможность - скопировать id или класс из html. Затем выполните поиск этой строки через исходный код веб-приложения WordPress, чтобы установить точку останова в каждом месте, где отображается строка.
Однако строка может быть в базе данных. В этом случае этот метод не будет работать.
Ответ 5
Сначала закрепите резервную копию всего веб-сайта, предположим/мой веб-сайт
1.Нажмите на элемент, для которого вы хотите найти php-код
2.Cope CLASS или идентификатор селектора этой линии
3.Поиск, что CLASS или ID селектор в редакторе внутри/папка моего сайта, для этого блокнот ++ и Dreamweaver лучше.
Ответ 6
Код начальной страницы
<?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);
}
?>
Примечание: Сори, мой английский не хорошо.
Ответ 7
Надеемся найти этот плагин полезным. использовать для поиска в файлах amd, теряя время. Кроме того, я использую Каков файл, как предполагалось ранее, это отличный способ. Но я думаю, что объединение String Locator будет иметь дополнительное удовольствие! String Locator
Ответ 8
Не все данные хранятся в файлах html или php в Wordpress.
Возможно, строка, которую вы ищете, поступает из базы данных, так как Wordpress использует базу данных для хранения переменных данных.
Пожалуйста, ищите базу данных