我想在管理员创建一个新的代码后执行一些代码标签*,但我找不到钩子。
*http://domain.com/wp-admin/edit-tags.php?taxonomy=post_tag
我找到了这个钩子列表,但是当我搜索"add_tag"时,我只得到这个
add_tag_form
add_tag_form_fields
add_tag_form_pre
有人可以告诉我正确的钩子吗?
add_action('XXXX','triggerAfterAddNewTag');
function triggerAfterAddNewTag()
{
echo $newTagId;
}
提前感谢!
查看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 );
最好的选择是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
}
}
来自文档:
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
}