add_action('delete_category')事件 - 获取已删除类别的名称

问题描述 投票:-1回答:1

我想在添加或删除类别时触发事件。

所以我认为我想要的add_action就是这些

create_category
delete_category

(从这里得到他们 source

在事件中我想要一个功能,其中ID和类别的名称被发送给我。

目前我正在努力进行删除操作。 Id似乎正确传递。遗憾的是,类别“名称”没有。

我的猜测是,目前数据库不再包含类别的名称。可能是因为在作业完成后调用了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告诉我没有错误。

谢谢您的帮助 :)

php wordpress action categories
1个回答
0
投票

不幸的是,不可能以这种方式获取名称,正如您所猜测的那样,名称已被删除且没有“预”钩子。

您可以通过将函数挂钩到类别的创建来解决这个问题,该函数将名称与ID一起添加到数据库中的不同表中。

然后,如果类别被删除,您可以在那里查看名称,然后再删除它。

© www.soinside.com 2019 - 2024. All rights reserved.