Обрезаем текст описания в таблице терминов в админке WordPress
В WordPress при работе с таксономиями, рубриками и категориями в админке часто возникает проблема длинных описаний. Они могут загромождать интерфейс, затрудняя навигацию по таблице терминов. Этот код позволяет автоматически обрезать и укоротить текст описаний, делая его более компактным и удобным для просмотра.
Этот код полезен, если в админке WordPress длинные описания терминов загромождают таблицу, и их нужно укоротить.
/// Cut term description filed for term list table in admin add_filter( 'wp_list_table_class_name', 'term_list_table_cut_term_description' ); function term_list_table_cut_term_description( $class_name ){ if( $class_name !== WP_Terms_List_Table::class ){ return $class_name; } if( class_exists( Cutdesc_Terms_List_Table::class ) ){ return Cutdesc_Terms_List_Table::class; } class Cutdesc_Terms_List_Table extends WP_Terms_List_Table { /** * @param WP_Term $tag Term object. */ public function column_description( $tag ): string { if( $tag->description ){ return wp_trim_words( $tag->description, 10 ); } return parent::column_description( $tag ); } } return Cutdesc_Terms_List_Table::class; // @phpstan-ignore-line }
Этот код изменяет отображение описаний терминов в таблице списка терминов в админке WordPress.
Что делает код:
- Использует фильтр wp_list_table_class_name, чтобы переопределить стандартный класс WP_Terms_List_Table.
- Cоздаётся его дочерний класс Cutdesc_Terms_List_Table.
- В новом классе переопределяется метод WP_Terms_List_Table::column_description(), который сокращает описание термина до 10 слов с помощью wp_trim_words().
- Если описания нет, вызывается родительский метод.