使用已编辑的_{$分类}|挂钩获取旧术语值

时间:2017-06-22 作者:wplearner

嗨,我对插件开发不是很有经验,我正在使用edited\\u{$taxonomy}| Hook,我想在这次更新之前获得旧的术语值。它正在返回新值,但我想获取旧值(更新之前),因为我想在其他函数中使用它。这是我的密码

function action_edit_taxonomy( $term_id, $tt_id ) {
$term = get_term($term_id);
print_r($term);
};  
add_action( "edited_um_user_tag", \'action_edit_taxonomy\', 10, 6 );
我知道edit{$taxonomy}|钩子,但我想使用上面提到的钩子。有可能用这个钩子得到旧的术语值吗<如果有人能在这方面指导我,我将不胜感激<谢谢你!

1 个回复
最合适的回答,由SO网友:Howdy_McGee 整理而成

在更新术语之前,您需要使用钩子edit_{$taxonomy}edited_{$taxonomy} 虽然您仍然可以使用术语缓存,但我认为它不可靠。也许可以尝试使用wp_update_term_data 钩子,它在更新前为您提供当前术语,以及将要更新的数据。您需要手动检查分类法,但它应该可以工作:

/**
 * @param Array $update_data    - array( \'name\' => \'New Term Name\', \'description\' => \'New Description\' )
 * @param Integer $term_id      - The term ID to update
 * @param String $taxonomy      - The Taxonomy the term belongs to
 *
 * @return Array $update_data
 */
function wpse270998( $update_data, $term_id, $taxonomy ) {

    if( \'um_user_tag\' !== $taxonomy ) {
        return $update_data;
    }

    $term = get_term( $term_id, $taxonomy );
    return $update_data;
}
add_filter( \'wp_update_term_data\', \'wpse270998\', 10, 3 );

结束

相关推荐