Intereting Posts
Добавление шрифта Awesome к WP Plugin как продлить WP_widget дважды QTags.InsertContent работает только после запуска другой кнопки Объединение двух таблиц wp_posts, избегая дублирования Как я могу применить мета-запрос для одного настраиваемого типа сообщения в основном запросе? Как изменить размер шрифта (плагин MathJax-LaTeX)? Миграция с PDO с использованием SQLite для очистки новой установки с использованием MySQL Переопределить конфигурацию базы данных для многозадачности WordPress Добавить продукты в Woocommerce через WP API Отображать только HTML, если пользовательское поле имеет значение Добавьте пользовательский текст, чтобы узнать больше о the_excerpt и <- больше -> Как перехватить ошибку 404 Разработка темы для многоязычной установки WordPress Медленное начальное время загрузки сайта Создание настраиваемой разбивки на страницы для многостраничного сообщения в блоге

Как добавить пользовательский контент в строку плагина в список плагинов для WordPress?

Я хочу добавить пользовательское сообщение под моим плагином на странице «Плагины», как и следующий снимок экрана:

список плагинов доступных фильтров и крючков

Какое действие или фильтр следует использовать? Спасибо!

Solutions Collecting From Web of "Как добавить пользовательский контент в строку плагина в список плагинов для WordPress?"

Поиск в Codex или Google вы можете найти некоторые списки перехватов WordPress, но, поверьте, они не полезны, если вы не знаете, где, когда и как они запускаются.

Во время кодирования WordPress возникает вопрос: «Какой из них я должен использовать?» очень часто и часто, но поверьте мне, список всех ловушек WordPress, если он существует, не поможет вам ответить, потому что, если вы не знаете, где, когда и как уволен, вы не знаете, что это существует.

Итак, когда у вас есть такой вопрос, первое, что нужно сделать, это посмотреть на код ядра WordPress .

Если вы посмотрите на адресную строку в браузере, при просмотре страницы списка плагинов вы увидите http://example.com/wp-admin/plugins.php .

Итак, откройте файл /wp-admin/plugins.php .

Если вы считаете, что это беспорядок, я согласен с вами. Однако, если вы попытаетесь не соблюдать код, вы увидите, что вывод выполняется по этой строке: $wp_list_table->display(); , поэтому существует объект $wp_list_table который имеет display метода.

Если у вас есть некоторый опыт работы в WordPress, вы сразу поймете, где искать этот объект. Если нет, просто проверьте, где находится файл $wp_list_table . Вы найдете эту строку:

 $wp_list_table = _get_list_table('WP_Plugins_List_Table'); 

Теперь вы можете догадаться, что существует класс с именем 'WP_Plugins_List_Table' .

С небольшим опытом вы узнаете, что этот класс является одним из классов в WordPress, который расширяет WP_List_Table , однако, если вы этого не знаете, просто посмотрите файлы в папке wp-admin/includes , ищите файл, который назван способом, аналогичным классу, или, может быть, с помощью текстового редактора запускает поиск по строке 'class WP_Plugins_List_Table' во всех php-файлах внутри папки wp-admin .

В обоих случаях вы очистите файл, где определен класс, это wp-admin/includes/class-wp-plugins-list-table.php .

Откройте этот файл и посмотрите на код. Вы найдете метод с именем single_row и, даже если код класса почти нечитабельен, вы можете предположить, что этот метод используется для отображения строки единственного плагина.

Последние 2 строки этого метода:

 do_action( 'after_plugin_row', $plugin_file, $plugin_data, $status ); do_action( "after_plugin_row_$plugin_file", $plugin_file, $plugin_data, $status ); 

Итак, вы найдете крючок, который вы ищете:

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

Таким образом, если вы хотите вывести что-то после определенной строки плагина, вы должны использовать "after_plugin_row_$plugin_file" , где $plugin_file может быть извлечен внутри основного файла плагина с помощью plugin_basename( __FILE__ );

Пример того, что вы можете получить:

коты

Код плагина, используемый для вывода на изображении выше:

 /** * Plugin Name: Code is Best Documentation * Description: Look at me, I'm the proof. */ $path = plugin_basename( __FILE__ ); add_action("after_plugin_row_{$path}", function( $plugin_file, $plugin_data, $status ) { echo '<tr class="active"><td>&nbsp;</td><td colspan="2"> <img src="http://upload.wikimedia.org/wikipedia/commons/thumb/9/93/Cat_poster_2.jpg/297px-Cat_poster_2.jpg" alt="Some Cats" /> </td></tr>'; }, 10, 3 );