Можно ли добавлять термины таксономии только через админ-панель?
Можно ли зарегистрировать термины таксономии программно из плагина? Я хочу добавить пользовательскую таксономию "Географический регион" и предварительно заполнить её списком регионов Великобритании.
public function sample_taxonomy() {
// Создаем новую таксономию
register_taxonomy(
'resellers',
'wps-reseller',
array(
'label' => __( 'Географические регионы' ),
'rewrite' => array( 'slug' => 'area' ),
'capabilities' => array(
'assign_terms' => 'edit_guides',
'edit_terms' => 'publish_guides'
)
)
);
}
Также, как мне запустить этот код только один раз при активации плагина? Я использую функции активации из WordPress Plugin Boilerplate.

Думаю, вы ищете функцию wp_insert_term()
.
Пример из Codex:
$parent_term = term_exists( 'fruits', 'product' ); // возвращается массив, если указана таксономия
$parent_term_id = $parent_term['term_id']; // получаем числовой ID термина
wp_insert_term(
'Яблоко', // термин
'product', // таксономия
array(
'description'=> 'Вкусное яблоко.',
'slug' => 'apple',
'parent'=> $parent_term_id
)
);

Спасибо. Похоже, это то, что мне нужно. Если я добавлю это на хук 'init', как указано в codex, это будет выполняться при каждом запросе, так? Можно ли как-то запустить это только один раз?

Да, вам не нужно, чтобы это выполнялось при каждой загрузке страницы, но вам нужно определить, когда именно это должно запускаться. Я не могу сказать вам это. При активации плагина? При сохранении записи? В какой-то другой момент?

Я пробовал добавить это в функцию активации плагина, но, похоже, она не сработала.

возможно, потому что пользовательский тип записи не существует при активации?

Вы предоставили недостаточно кода/контекста, чтобы дать правильное решение для однократного выполнения этого кода (к тому же это не является частью исходного вопроса), но вам, вероятно, нужно подключить функцию при активации плагина, которая в свою очередь подключит вашу функцию "вставки терминов".

Спасибо. Можете ли вы дать ссылку на авторитетный ресурс, который описывает, как подключить функцию при активации плагина?

Как насчет этого? http://wordpress.stackexchange.com/search?q=plugin+activation

Стоит отметить, что ваш вопрос получил отрицательные голоса и голоса за закрытие из-за недостаточных усилий в исследовании (как я предполагаю), и последний вопрос в комментариях страдает от той же ошибки. Пожалуйста, проведите собственное исследование.

давайте продолжим обсуждение в чате
