Tôi đã thử nhiều cách để làm điều này. Về cơ bản, tôi đã cố gắng làm cho nó để một plugin của tôi điền vào các điều khoản phân loại chỉ một lần trong quá trình kích hoạt plugin. Thuật ngữ điền được thực hiện trong một chức năng thông qua chức năng wp_insert_terms. Gọi hàm trực tiếp bên trong register_activation_hook dường như không hoạt động và cũng không móc vào hook init bằng cách sử dụng register_activation_hook. Còn ai có ý tưởng nào không?
Đây là một phiên bản mã của tôi
//version 1
class vsetup {
function __construct() {
register_activation_hook(__FILE__,array($this,'activate'));
$this->create_taxonomies();
}
function activate() {
wp_insert_term('Action','genre');
wp_insert_term('Adventure','genre');
}
function create_taxonomies() {
$genre_args = array(
'hierarchical' => true,
'labels' => array(
'name'=> _x('Genres', 'taxonomy general name' ),
'singular_name' => _x('Genre', 'taxonomy singular name'),
'search_items' => __('Search Genres'),
'popular_items' => __('Popular Genres'),
'all_items' => __('All Genres'),
'edit_item' => __('Edit Genre'),
'edit_item' => __('Edit Genre'),
'update_item' => __('Update Genre'),
'add_new_item' => __('Add New Genre'),
'new_item_name' => __('New Genre Name'),
'separate_items_with_commas' => __('Seperate Genres with Commas'),
'add_or_remove_items' => __('Add or Remove Genres'),
'choose_from_most_used' => __('Choose from Most Used Genres')
),
'query_var' => true,
'rewrite' => array('slug' =>'genre')
);
register_taxonomy('genre', 'post',$genre_args);
}
}
Khi nó không hoạt động, tôi đã thử làm điều này:
//version 2
class vsetup {
function __construct() {
register_activation_hook(__FILE__,array($this,'activate'));
$this->create_taxonomies();
}
function activate() {
add_action('init', array($this,'populate_taxonomies'));
}
function create_taxonomies() {
$genre_args = array(
'hierarchical' => true,
'labels' => array(
'name'=> _x('Genres', 'taxonomy general name' ),
'singular_name' => _x('Genre', 'taxonomy singular name'),
'search_items' => __('Search Genres'),
'popular_items' => __('Popular Genres'),
'all_items' => __('All Genres'),
'edit_item' => __('Edit Genre'),
'edit_item' => __('Edit Genre'),
'update_item' => __('Update Genre'),
'add_new_item' => __('Add New Genre'),
'new_item_name' => __('New Genre Name'),
'separate_items_with_commas' => __('Seperate Genres with Commas'),
'add_or_remove_items' => __('Add or Remove Genres'),
'choose_from_most_used' => __('Choose from Most Used Genres')
),
'query_var' => true,
'rewrite' => array('slug' =>'genre')
);
register_taxonomy('genre', 'post',$genre_args);
}
function populate_taxonomies() {
wp_insert_term('Action','genre');
wp_insert_term('Adventure','genre');
}
}
Không có ý tưởng làm việc cho tôi cho đến nay.