Intereting Posts

Исключение категорий из раздела «Управление категориями» с использованием фильтра get_terms

Я использую фильтр на get_terms (см. Ниже), чтобы удалить указанное количество названных категорий из списка «Управление категориями». Он отлично работает, однако исключенные категории по-прежнему учитываются в поле подсчета категорий, которое отображается только под кнопкой «Категории поиска».

Возможно ли, что я могу вычесть эти категории из подсчета?

function admin_edit_tags() {add_filter( 'get_terms', 'admin_trim_category_description', 10, 2 );} function admin_trim_category_description( $terms, $taxonomies ){ if( 'category' != $taxonomies[0] )return $terms; $my_categories = array('test1','test2','test3'); foreach( $terms as $key => $term) if(in_array($terms[$key]->name, $my_categories)) { unset($terms[$key]);} else { if(isset($terms[$key]->description) && $terms[$key]->description !=='') $terms[$key]->description = strip_tags(substr( $term->description, 0, 75 ))."..."; } return $terms; } 

Solutions Collecting From Web of "Исключение категорий из раздела «Управление категориями» с использованием фильтра get_terms"

Я думаю, вы должны использовать get_terms_args filter вместо get_terms и просто добавить exclude arg, поэтому теперь get_terms() не будет извлекать этих кошек, и вы получите правильный счет. Вот пример кода:

 add_filter( 'get_terms_args', 'mamaduka_edit_get_terms_args', 10, 2 ); /** * Exclude categories from "Edit Categories" screen * */ function mamaduka_edit_get_terms_args( $args, $taxonomies ) { if ( is_admin() && 'category' !== $taxonomies[0] ) return $args; $args['exclude'] = array( 8, 10); // Array of cat ids you want to exclude return $args; }