WordPress плагин: как запустить функцию при нажатии кнопки

24 июл. 2018 г., 22:55:34
Просмотры: 22.8K
Голосов: 3

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

public function kh_update_media_seo() {

    //обновление заголовков и alt-тегов медиафайлов здесь
}

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

Извините, если это звучит глупо или очевидно. Я делаю это впервые.

Мой плагин состоит из одного файла, если это поможет.

0
Все ответы на вопрос 1
1

Создайте форму или ссылку с 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

24 июл. 2018 г. 23:35:06
Комментарии

Я бы добавил nonce к этой форме ;)

Krzysiek Dróżdż Krzysiek Dróżdż
25 июл. 2018 г. 01:15:21