如何从操作钩子‘set_Object_Terms’中获取Term_id?

时间:2014-03-19 作者:Gixty

我有以下代码,我想在该函数中使用term\\u id。我知道变量$terms包含术语;然而,我不知道如何从中获取术语id。

add_action(\'set_object_terms\',\'wpse5123_set_object_terms\',10,4);

function wpse5123_set_object_terms($object_id, $terms, $tt_ids, $taxonomy){
       if($taxonomy == \'category\'){
           echo \'<pre>\';
           print_r($terms);
           exit;
       }
}
我尝试了以下方法,但不起作用:

foreach (  $terms as $term) {
    $term_id[] = $term->term_id;    
}

1 个回复
SO网友:Gixty

我终于找到了删除所有postmeta 与正在删除的术语相关。

为此,我们需要使用动作挂钩\'delete_term_taxonomy\' 因为它是在删除条款之前执行的;因此,我们可以找到术语object并在钩子中使用它。

然后,我们继续执行某些任务,例如删除与术语相关的所有Posteta。

代码如下:

add_action( \'delete_term_taxonomy\', function($tt_id) {

    $taxonomy = \'category\';    
    $term = get_term_by(\'term_taxonomy_id\', $tt_id, $taxonomy); 
    $user_name = $term->name;
    $meta_key = "_category_relation_added_" . $user_name;
    delete_post_meta_by_key( $meta_key );

}, 9, 1);

结束

相关推荐

我可以在‘Get_the_Terms’中使用自定义元值吗?

我有一个自定义页面模板,这是我试图操纵的代码,根据我为特定页面编写的自定义元值进行更改。$terms = get_the_terms($post->id, \'custom-taxonomy\' ); 在CPT页面上,我有一个自定义元字段“分类名称”,自定义元值是“自定义分类”我试图用上面的代码做的是:$terms = get_the_terms($post->id, get_post_meta($post->ID,\'metafield-taxonomy-name\',TRU