我想在添加或删除类别时触发事件。
所以我认为我想要的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告诉我没有错误。
谢谢您的帮助 :)
不幸的是,不可能以这种方式获取名称,正如您所猜测的那样,名称已被删除且没有“预”钩子。
您可以通过将函数挂钩到类别的创建来解决这个问题,该函数将名称与ID一起添加到数据库中的不同表中。
然后,如果类别被删除,您可以在那里查看名称,然后再删除它。