@matros97

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

Привет, подскажите как можно запретить удаление таксономии, возможно ли это сделать
  • Вопрос задан
  • 58 просмотров
Пригласить эксперта
Ответы на вопрос 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.' );        
    }
}


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

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

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

Похожие вопросы