我终于发现了一个错误,我将把它写在这里
问题出在我的代码中:我正在用删除活动item_id
正在删除活动ID。换句话说,我有一个钩子,它是在活动被删除后触发的,我删除了“BuddyPress-LIKE”活动(X喜欢帖子)。
但是有一个cron
BBPress触发的作业,用于删除auto\\u草稿帖子(如果有)。由于BBPress可以在BuddyPress中有一个活动,它也会触发“DELETE\\u activity”,但在本例中,$activity\\u id为零(我不知道,可能是因为它不存在,我正在早期挂钩)。
这就是我得到的DELETE FROM wp_bp_activity WHERE item_id = 0
function clean_activity_dollars($activity){
global $wpdb;
$activity_table = $wpdb->prefix . \'bp_activity\';
$wpdb->delete($activity_table, array( \'item_id\' => $activity[\'id\'] ), array(\'%d\'));
}
add_action("bp_before_activity_delete","clean_activity_dollars",10,1);
我改成了这个
$wpdb->delete($activity_table, array( \'item_id\' => $activity[\'id\'], \'type\' => \'activity_liked\' ), array(\'%d\', \'%s\'));
因此,即使item\\u id为零,它也会检查类型。