Wordpress hook - 添加新标签后执行代码

时间:2014-12-18 02:16:31

标签: wordpress tags hook

我想在管理员创建新代码后执行一些代码 标签*但我找不到钩子。

* http://domain.com/wp-admin/edit-tags.php?taxonomy=post_tag

我找到了这个hook list但是当我搜索" add_tag"我只得到这个

add_tag_form
add_tag_form_fields
add_tag_form_pre

有人可以告诉我正确的钩子吗?

add_action('XXXX','triggerAfterAddNewTag');
function triggerAfterAddNewTag()
{
   echo $newTagId;
}

提前致谢!

2 个答案:

答案 0 :(得分:4)

查看create_term挂钩:

function my_create_term( $term_id, $tt_id, $taxonomy ){
  // $term_id is the term id
  // $tt_id is the term taxonomy id
  // $taxonomy is the taxonomy slug
}
add_action( 'create_term', 'my_create_term', 10, 3 );

答案 1 :(得分:1)

最佳选择是created_post_tagcreated_term挂钩。

任何分类条款的操作:

do_action( 'create_term',  $term_id, $tt_id, $taxonomy );
do_action( 'created_term', $term_id, $tt_id, $taxonomy );
do_action( 'edited_term',  $term_id, $tt_id, $taxonomy );
do_action( 'delete_term',  $term,    $tt_id, $taxonomy, $deleted_term, $object_ids );

为他们挂钩:

add_action( 'create_term',  'wpse_create_term', 10, 3 );
add_action( 'created_term', 'wpse_created_term', 10, 3 );
add_action( 'edited_term',  'wpse_edited_term', 10, 3 );
add_action( 'delete_term',  'wpse_delete_term', 10, 5 );

示例:

/**
 * @param int      $term_id    Term ID
 * @param int      $tt_id       Taxonomy ID
 * @param string   $taxonomy    Taxonomy Slug
 */
function wpse_updated_term( $term_id, $tt_id, $taxonomy ) {
  if ( $taxonomy == 'post_tag' ) {
    // do something
  }
}

来自documentaion:

create_term - 在清除术语缓存之前,在创建新术语后立即触发。

created_term - 创建新术语后,以及在清除术语缓存后触发。

edited_term - 更新术语后触发,并清除术语缓存。

deleted_term - 删除对象关系后立即触发。

post_tag分类术语的特殊操作:

do_action( 'create_post_tag',  $term_id, $tt_id);
do_action( 'created_post_tag', $term_id, $tt_id);
do_action( 'edited_post_tag',  $term_id, $tt_id);
do_action( 'delete_post_tag',  $term,    $tt_id, $deleted_term, $object_ids );

钩子和例子:

add_action( 'created_post_tag', 'wpse_updated_post_tag', 10, 2 );
add_action( 'edited_post_tag',  'wpse_updated_post_tag', 10, 2 );
add_action( 'delete_post_tag',  'wpse_updated_post_tag', 10, 4 );

/**
 * @param int      $term_id    Term ID
 * @param int      $tt_id       Taxonomy ID
 */
function wpse_updated_post_tag( $term_id, $tt_id) {
    // do something
}