Изменение порядка колонок для произвольного типа записей на странице списка в админ-панели

3 июн. 2013 г., 20:47:09
Просмотры: 24.9K
Голосов: 9

Я создал произвольный тип записей (скриншот ниже) и хотел бы изменить порядок колонок. Возможно ли переместить колонку "метки" перед колонкой "дата"?

Скриншот:

Скриншот страницы списка записей в админ-панели WordPress

1
Комментарии

Ваша ссылка на изображение не работает

Mayeenul Islam Mayeenul Islam
18 сент. 2013 г. 13:18:54
Все ответы на вопрос 2
1
15

Да, это возможно. Я изменил это для стандартного типа записи, но это также возможно и для пользовательского типа.

Сначала проверьте кодекс:

http://codex.wordpress.org/Plugin_API/Action_Reference/manage_posts_custom_column

function your_columns_head($defaults) {  

    $new = array();
    $tags = $defaults['tags'];  // сохраняем колонку тегов
    unset($defaults['tags']);   // удаляем её из списка колонок

    foreach($defaults as $key=>$value) {
        if($key=='date') {  // когда находим колонку даты
           $new['tags'] = $tags;  // помещаем колонку тегов перед ней
        }    
        $new[$key]=$value;
    }  

    return $new;  
} 
add_filter('manage_posts_columns', 'your_columns_head');  

Таким образом вы можете изменять массив $defaults как вам угодно.

18 сент. 2013 г. 12:49:25
Комментарии

Вы можете пропустить установку $tags, так как вы не возвращаете её и не используете в других местах.

Burgi Burgi
16 июл. 2018 г. 19:05:00
1

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

Теперь я покажу, как удалить лишние поля из этого списка. Допустим, я хочу убрать поля заголовка и меток из списка, добавить свои поля для произвольного типа записи и изменить порядок полей в списке.

     function add_ourteam_columns ( $columns ) {
    unset($columns['title']);
    unset($columns['tags']);
    unset($columns['date']);
   return array_merge ( $columns, array ( 
     'name' => __ ('Имя'),
     'designation' => __ ( 'Должность' ),
     'image'   => __ ( 'Изображение' ),
     'date' => __('Дата')
   ) );

 }

add_filter ( 'manage_our-team_posts_columns', 'add_ourteam_columns' );

Настроенные поля произвольного типа записи

Если вы хотите удалить поле, просто используйте unset(имя_поля). Если нужно изменить порядок полей в списке, сначала сбросьте это поле, затем создайте новый массив и добавьте поле до или после других полей. Надеюсь, этот пример поможет вам.

19 сент. 2018 г. 15:11:06
Комментарии

спасибо, друг :) очень помогло :)

Arman H Arman H
10 мар. 2022 г. 09:51:16