wp_set_object_terms wird rückgängig gemacht

Ich versuche, einige Objektbegriffe auf einem Woocommerce-Produkt festzulegen, wenn es gespeichert wird. Mein Code ist wie folgt.

add_action('set_object_terms', 'update_attributes_after_save', 99, 3); function update_attributes_after_save($post_id, $terms, $tt_ids, $term_type, $append, $old_tt_ids){ if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return $post_id; // If this is a revision, get real post ID if ( $parent_id = wp_is_post_revision( $post_id ) ) return; $stock_types = array(); remove_action('set_object_terms', 'update_attributes_after_save', 99, 3); $term_taxonomy_ids = wp_set_object_terms($post_id, array('test-1', 'test-2'), 'pa_in-stock', false); error_log("CURRENT TERMS: " . print_r(wp_get_object_terms((string)$post_id, 'pa_in-stock'), true)); if ( is_wp_error( $term_taxonomy_ids ) ) { error_log('success'); } else { error_log('failure'); } return $post_id; } 

Das erste error_log zeigt die korrekten Werte und “success” wird ebenfalls protokolliert. Wenn ich jedoch zurück zum Produktformular umgeleitet wird, zeigt es die ursprünglichen Werte an.

Wenn ich exit; in meiner function und überprüfen Sie dann die databasewerte, scheinen sie richtig zu sein, also nehme ich an, dass ein anderer Haken die Werte überschreibt, die ich es gebe.

Irgendwelche Hinweise würden geschätzt werden!

Solutions Collecting From Web of "wp_set_object_terms wird rückgängig gemacht"