WordPress плагин: как запустить функцию при нажатии кнопки
Я разрабатываю плагин для WordPress. Я создал кнопку для пользователя в панели управления WP. Мне нужно запустить функцию, когда пользователь нажимает на кнопку, отмеченную красной стрелкой. Фрагмент кода для кнопки:
<p><button class="button button-primary">Обновить заголовки и ALT-текст медиафайлов</button></p>
. Я уже создал функцию в моем классе следующим образом:
public function kh_update_media_seo() {
//обновление заголовков и alt-тегов медиафайлов здесь
}
Я могу самостоятельно написать код, который пойдет в функцию, мне нужна только помощь в том, как сделать так, чтобы кнопка в панели управления WP запускала эту конкретную функцию при нажатии.
Извините, если это звучит глупо или очевидно. Я делаю это впервые.
Мой плагин состоит из одного файла, если это поможет.

Создайте форму или ссылку с action="my_media_update"
<form action="<?php echo admin_url('admin-post.php'); ?>" method="post">
<input type="hidden" name="action" value="my_media_update">
<input type="submit" value="Обновить заголовки и ALT-текст медиафайлов">
</form>
Добавьте эту функцию и хук в файл вашего плагина:
public function kh_update_media_seo() {
//обновляем заголовки и ALT-теги медиафайлов здесь
//
// в конце перенаправляем на целевую страницу
}
add_action( 'admin_post_my_media_update', 'kh_update_media_seo' );
Когда форма будет отправлена и поле "action" будет иметь значение "my_media_update", ваша функция будет выполнена. Кодекс WordPress
