我想在管理员创建新代码后执行一些代码 标签*但我找不到钩子。
* 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;
}
提前致谢!
答案 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_tag
或created_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
}