Как найти php-файл или функцию, которая создает страницу администратора WordPress?

Я хочу отладить определенное действие отправки в административной панели плагина. Панель остается внутри приборной панели WordPress. Его URL-адрес выглядит следующим образом:

http://localhost/wordpress/wp-admin/admin.php?page=pods&action=edit&id=681&do=create

Действие отправки не указано. Таким образом, он обрабатывается тем же php-файлом, который сгенерировал приведенную выше страницу.

<form action="" method="post" class="pods-submittable">

Как я могу узнать файл php, который сгенерировал указанную выше страницу?


person Mert Nuhoglu    schedule 29.11.2012    source источник
comment
О каком плагине вы спрашиваете?   -  person cryptic ツ    schedule 29.11.2012


Ответы (2)


Если вы говорите о https://wordpress.org/extend/plugins/pods/, то перейдите в каталог плагинов Wordpress и посмотрите в папке «pods». Следующие файлы содержат эту строку:

/pods/ui/admin/setup-edit.php
/pods/ui/admin/setup-add.php
/pods/components/Roles/ui/add.php
/pods/components/Migrate-Packages/ui/wizard.php
/pods/components/Migrate-CPTUI/ui/wizard.php

Не зная, какое действие вы пытаетесь выполнить, я не могу определить, какой файл используется для этого действия. Если вы можете опубликовать HTML для некоторых дополнительных полей формы на этой странице, я могу выполнить поиск в этих файлах для этого HTML.

person cryptic ツ    schedule 29.11.2012
comment
Спасибо за ваш ответ. На самом деле, я хочу узнать, как найти файл php, который генерирует определенный URL-адрес. Таким образом, ваш ответ подразумевает, что нужно искать в коде некоторые уникальные тексты, которые отображаются как выходные данные. - person Mert Nuhoglu; 29.11.2012
comment
Если это не ваш код, а сторонний код, вы не можете знать, как это сделать, если не просмотрите источник файлов. Мой метод — это быстрый грязный способ узнать или сузить круг, какой файл сгенерировал какую страницу. В противном случае вам пришлось бы просматривать строку за строкой, файл за файлом, просматривая логику кодирования, чтобы увидеть, как страницы обрабатывают запросы. Что может занять много времени. - person cryptic ツ; 29.11.2012

Следующий скрипт позволит вам найти любой плагин WordPress, и, очевидно, параметры страницы являются ключевыми для поиска.

Например, в случае page=pods вы должны войти в свой docroot WordPress и выполнить:

cd wp-content/plugins
find . -type f | xargs grep add_menu_page | grep pods

Вы должны увидеть файл(ы), соответствующие поиску (это должен быть только один) и совпавшую строку. Совпадающая строка связана с вызовом функции add_menu_page. Эта функция создает новый раздел меню верхнего уровня в меню администратора.

Если вы посмотрите на WordPress Reference для функции add_menu_page, третий параметр $menu_slug является ключом к понять, как все работает, это параметр страницы.

*Имя слага для обращения к этому меню (должно быть уникальным для этого меню). До версии 3.0 это называлось параметром файла (или дескриптора). Если параметр функции опущен, menu_slug должен быть файлом PHP, который обрабатывает отображение содержимого страницы меню*.

person freedev    schedule 29.11.2012