pre_insert_term
Дозволяє змінити назву терміна (рубрики, мітки) перед його очищенням та вставкою в базу даних.
На цьому фільтрі також можна зупинити операцію створення терміна та відобразити довільну помилку.
Використання
add_filter( 'pre_insert_term', 'wp_kama_pre_insert_term_filter', 10, 2);
/**
* Function for `pre_insert_term` filter-hook.
*
* @param string|WP_Error $term Термін name до адреси, або WP_Error об'єкт, якщо він не вдається.
* @param string $taxonomy Taxonomy slug.
*
* @return string|WP_Error
*/
function wp_kama_pre_insert_term_filter( $term, $taxonomy ){
// Filter...
return $term;
}- $term
(рядок) - Назва терміна.
- $taxonomy
(рядок) - Назва таксономії, що вказується першим параметром
register_taxonomy() .
Приклади
#1 Змінимо назву рубрики, що додається
На хуку pre_insert_term можна змінити назву створюваного терміну як завгодно. Наприклад зробимо назву всіх створюваних рубрик з великої літери:

add_filter( 'pre_insert_term', 'change_pre_insert_term', 10, 2);
function change_pre_insert_term( $term, $taxonomy ) {
if ( 'category' === $taxonomy ) {
$ first_letter = mb_strtoupper (mb_substr ($ term, 0, 1));
$ remaining_letters = mb_substr ($ term, 1);
$term = $first_letter. $remaining_letters;
}
return $term;
}#2 Заборонимо створювати рубрики з ім’ям із одних цифр
add_filter( 'pre_insert_term', 'change_pre_insert_term', 10, 2);
function change_pre_insert_term( $term, $taxonomy ) {
if ( 'category' === $taxonomy && is_numeric( $term ) ) {
return new WP_Error( 'error', 'Назва рубрики не може бути лише з цифр.' );
}
return $term;
}
список змін
| З версії 3.0.0 | Введено. |
Де викликається хук
pre_insert_term
wp-includes/taxonomy.php 2353
$term = apply_filters( 'pre_insert_term', $term, $taxonomy);
Де використовується хук у WordPress
Використання не знайдено.
