Отображение столбца для пользовательской таксономии на странице администратора с пользовательским типом записи - PullRequest
5 голосов
/ 21 марта 2012

Я хотел бы добавить столбец в окно администратора моего пользовательского типа записи, чтобы отобразить мою пользовательскую таксономию.

Это решение, предоставленное @SarthakGupta, создает для меня столбец, но не отображает ни таксономию, ни "Нет"набор таксономии": Отображение пользовательского столбца таксономии в списках пользовательских сообщений

Я видел похожие решения, опубликованные в других местах, с аналогичными жалобами на пустой столбец таксономии.

Что может быть причиной проблемы?Возможно ли, что это решение не работает с WordPress 3.3?

Спасибо.

Ответы [ 2 ]

21 голосов
/ 30 апреля 2013

В Wordpress 3.5 вы можете включить его при регистрации пользовательской таксономии, добавив:

'show_ui'           => true,
'show_admin_column' => true,
6 голосов
/ 21 марта 2012

У меня была эта проблема, и я обнаружил, что замена функций WP get_the_terms на пользовательский запрос работает лучше - попробуйте (где custtype - это имя вашего пользовательского типа записи):

// custom columns
add_filter("manage_edit-custtype_columns", "custtype_columns");
add_action("manage_posts_custom_column", "custtype_custom_columns",10,2);

function custtype_columns($columns){
    $columns = array(
        "cb" => "<input type=\"checkbox\" />",
        "title" => "Title",
        "slug" => "URL Slug",
        "custtype-type" => "Custom Taxonomy"
    );
    return $columns;
}

function custtype_custom_columns($column,$id) {
    global $wpdb;
        switch ($column) {
        case 'custtype-type':
            $types = $wpdb->get_results("SELECT name FROM $wpdb->posts LEFT OUTER JOIN $wpdb->term_relationships ON ID = object_id LEFT OUTER JOIN $wpdb->terms ON term_taxonomy_id = term_id WHERE ID = {$id}");
            foreach($types as $loopId => $type) {
                echo $type->name.', ';
            }
            break;
        case 'slug':
            $text = basename(get_post_permalink($id));
            echo $text;
            break;
        default:
            break;
        } // end switch
}

Работает ли это вообще

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