@matros97

Как запретит удаление таксомии?

Привет, подскажите как можно запретить удаление таксономии, возможно ли это сделать
  • Вопрос задан
  • 55 просмотров
Пригласить эксперта
Ответы на вопрос 1
@RigidStyle
add_action( 'delete_term_taxonomy', 'wpse_70758_del_tax', 10, 1 );
add_action( 'edit_term_taxonomies', 'wpse_70758_del_child_tax', 10, 1 );

$undeletable = array( 'категория_один', 'категория_два' );		// <<<<<<<<<< сюда вписывать категории, которые нельзя удалить (category slugs)

function wpse_70758_del_tax( $tt_id )
{
    global $undeletable;
    $term = get_term_by( 'id', $tt_id, 'category' );
    if( in_array( $term->slug, $undeletable ) ) 
        wp_die( 'Required category, can not be delete.' );
}
function wpse_70758_del_child_tax( $arr_ids )
{
    global $undeletable;
    foreach( $arr_ids as $id )
    {
        $term   = get_term_by( 'id', $id, 'category' );
        $parent = get_term_by( 'id', $term->parent, 'category' );
        if( in_array( $parent->slug, $undeletable ) ) 
            wp_die( 'Required category, can not be delete.' );        
    }
}


По желанию адаптировать под нужную таксономию.

Правда это немного костыль. Но удалить не получится после такой защиты.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы