Событие add_action ('delete_category') - получить имя удаленной категории - PullRequest
0 голосов
/ 24 апреля 2019

Я хочу вызвать событие при добавлении или удалении категории.

Так что я думаю, что add_action, которое я ищу, это

create_category
delete_category

(получил их отсюда источник )

В событии я хочу, чтобы у меня была функция, в которой мне прислали идентификатор и название категории.

В данный момент я борюсь с операцией удаления. Идентификатор, кажется, доставлен правильно. К категории "имя", к сожалению, нет.

Я предполагаю, что в данный момент база данных больше не содержит названия категории. Возможно, потому что delete_category вызывается после того, как работа уже выполнена. Поэтому get_cat_name () может не работать. К сожалению, я не смог найти какое-то действие "pre_delte_category".

Вот функции, которые я поместил в качестве хуков в моей functions.php моей темы:

function event_by_add_cat($category_id){
   $name = get_cat_name($category_id);
    send_me_mail_add($name, $category_id);
}
add_action('create_category', 'event_by_add_cat');

function event_by_del_cat($category_id){
    $name = get_cat_name($category_id);  // is name already to far gone?
    send_me_mail_del($name, category_id);
    return;
}
add_action('delete_category', 'event_by_del_cat');

Функция send_me_mail_add(name, id) работает.

Кажется, что функция send_me_mail_del (name, id); не называется правильным. К сожалению, WP не показывает мне ошибок.

Спасибо за вашу помощь:)

1 Ответ

0 голосов
/ 24 апреля 2019

К сожалению, невозможно получить имя таким образом, как вы уже догадались, имя уже удалено и нет «пре» ловушки.

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

И затем, если категория удаляется, вы можете посмотреть имя там, а затем удалить его потом.

...