我有一个连接到save\\u post挂钩的函数。此功能主要涉及职位所属的类别。我的函数执行以下操作:
function post_save_hook($post_id){
$categories = get_the_category($post_id);
foreach($categories as $category){
//Handle this category
}
}
假设我有一个名为
featured
, 在这个类别下发表了一篇文章。然后,同样的帖子被编辑并从网站上删除
featured
类别,在这种情况下,我的函数不会检测到此更改。
所以我想知道的是,这篇文章是否属于某个类别,是否已从中删除。
最合适的回答,由SO网友:s_ha_dum 整理而成
save_post
runs too late 去做你想做的事。该钩子在存储post和相关元数据后激发。此时该类别已被删除,WordPress没有保留任何记录。
您可能需要更早地挂接到保存过程中pre_post_update
:
add_action(
\'pre_post_update\',
function($post_ID,$data) {
var_dump($post_ID,$data);
var_dump(get_the_category($post_ID));
die;
},
10,2
);
显然,仅限于概念验证代码。