Flector

Как обрезать описание рубрик про просмотре списка рубрик?

Обрезанное в админке описание рубрики

Обрезка длинного описания рубрик может быть весьма удобна при работе с рубриками в админке сайта (как вы можете видеть на скриншоте). Для этого вам необходимо добавить в файл functions.php вашей темы следующий код:

//обрезание описания рубрик в админке сайта start
function wph_trim_cats() {
    add_filter('get_terms', 'wph_truncate_cats_description', 10, 2);
}
function wph_truncate_cats_description($terms, $taxonomies) {
    if('category' != $taxonomies[0])
        return $terms;
    foreach($terms as $key=>$term) {
        $terms[$key]->description = mb_substr($term->description, 0, 80);
        if($term->description != '') {
            $terms[$key]->description .= '...';
        }
    }
    return $terms;
}
add_action('admin_head-edit-tags.php', 'wph_trim_cats');
//обрезание описания рубрик в админке сайта end

Где '80' это число символов, на которых описание будет обрезано. При желании данный код можно модернизировать так, чтобы он обрезал и описание меток сайта:

//обрезание описания рубрик и меток в админке сайта start
function wph_trim_cats() {
    add_filter('get_terms', 'wph_truncate_cats_description', 10, 2);
}
function wph_truncate_cats_description($terms, $taxonomies) {
    if('category' != $taxonomies[0] and 'post_tag' != $taxonomies[0])
        return $terms;
    foreach($terms as $key=>$term) {
        $terms[$key]->description = mb_substr($term->description, 0, 80);
        if($terms[$key]->description != '') {
            $terms[$key]->description .= '...';
        }
    }
    return $terms;
}
add_action('admin_head-edit-tags.php', 'wph_trim_cats');
//обрезание описания рубрик и меток в админке сайта end

При желании обрезать можно описание любой таксономии сайта. Сокращенные описания значительно увеличивают удобство работы в админке сайта.


Комментарии (7 комментариев)
  1. а для списка записей есть такой вариант?у меня там метки занимают большое пространство.

  2. psina:

    привет, Flector. я использую код:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    <?php 
    $i=1;
    $cat = get_query_var('cat');
    $categories = get_categories('parent='.$cat.''); 
    foreach ($categories as $category) { $i++; }
    if ($i > 1) {
    	echo "<ul>";
    	foreach ($categories as $category) { ?>
    		<li><a href="<?php echo get_category_link($category->term_id); ?>" ><?php echo $category->name; ?></a>
    			<?php echo category_description($category->term_id); ?>
    			</li>
    	<?php } 
    	echo "</ul>";
    } else {
     
    }
    ?>

    он выводит название и описание подкатегории в самой категории.
    существует ли возможность обрезать описание подкатегории по количеству символов или слов?

    • Flector:
      10
      
      <?php echo mb_substr(category_description($category->term_id), 0, 80); ?>
  3. Pavel:

    Спс, крутая штука. А как вы вообще находите эти хуки? И хук как то странно выглядит "admin_head-edit-tags.php" с указанием файла, первый раз с таким столкнулся)

    • Flector:

      в кодексе, на форумах поддержки wordpress и тд и тп. а с указанием файла в движке много разных хуков.

Написать комментарий

Для вставки кода воспользуйтесь кнопкой "Код". Используйте предпросмотр!