it-swarm-ru.tech

Создание таблицы в стиле администратора?

Каков рекомендуемый способ создания страницы с таблицей в стиле таблиц, отображающих сообщения или пользователей в административной области?

Я расширяю плагин Cache Images , и он содержит таблицу с доменами и несколько изображений из этого домена. Таким образом, не существует эквивалентной существующей таблицы, на которой я мог бы построить (в первой версии этого вопроса я спрашивал о таблице с сообщениями, но там я мог (возможно) расширить существующую таблицу сообщений ).

Должен ли я просто основываться на странице обзора поста и начинать с <table class="widefat">, или есть более эффективные функции, которые обрабатывают это сейчас? Знаете ли вы чистый пустой пример таблицы с подкачкой страниц, на которой я мог бы основывать свою работу?

42
Jan Fabry

Это то, что я обычно использую:

<table class="widefat fixed" cellspacing="0">
    <thead>
    <tr>

            <th id="cb" class="manage-column column-cb check-column" scope="col"></th> // this column contains checkboxes
            <th id="columnname" class="manage-column column-columnname" scope="col"></th>
            <th id="columnname" class="manage-column column-columnname num" scope="col"></th> // "num" added because the column contains numbers

    </tr>
    </thead>

    <tfoot>
    <tr>

            <th class="manage-column column-cb check-column" scope="col"></th>
            <th class="manage-column column-columnname" scope="col"></th>
            <th class="manage-column column-columnname num" scope="col"></th>

    </tr>
    </tfoot>

    <tbody>
        <tr class="alternate">
            <th class="check-column" scope="row"></th>
            <td class="column-columnname"></td>
            <td class="column-columnname"></td>
        </tr>
        <tr>
            <th class="check-column" scope="row"></th>
            <td class="column-columnname"></td>
            <td class="column-columnname"></td>
        </tr>
        <tr class="alternate" valign="top"> // this row contains actions
            <th class="check-column" scope="row"></th>
            <td class="column-columnname">
                <div class="row-actions">
                    <span><a href="#">Action</a> |</span>
                    <span><a href="#">Action</a></span>
                </div>
            </td>
            <td class="column-columnname"></td>
        </tr>
        <tr valign="top"> // this row contains actions
            <th class="check-column" scope="row"></th>
            <td class="column-columnname">
                <div class="row-actions">
                    <span><a href="#">Action</a> |</span>
                    <span><a href="#">Action</a></span>
                </div>
            </td>
            <td class="column-columnname"></td>
        </tr>
    </tbody>
</table>

Надеюсь, это поможет.

28
sorich87

Используйте Core API, а не только его CSS

Обычно вы просто используете экземпляр класса WP_List_Table.

Гиды:

  • Подробнее об этом в Кодексе здесь .
  • Вот также руководство от WP Engineer - слишком много, чтобы скопировать его.
  • И еще одно руководство по Smashing Magazine онлайн.

Выгоды?

ДА!

Вы можете добавить нумерацию страниц, поля поиска, действия и любую магию, которую только можете себе представить (и умеете кодировать).

26
kaiser

Используйте этот пример (написанный как плагин) для создания ваших админ-таблиц:

http://wordpress.org/extend/plugins/custom-list-table-example/

Он использует встроенный WP_List_Table class.

13
Sander

Также вы можете использовать этот небольшой плагин для просмотра возможностей бэкэнда в WP: https://github.com/bueltge/WordPress-Admin-Style

4
bueltge

Возможно, вы захотите добавить фильтр в свой пользовательский список типов записей в админке? Приведенный ниже связанный ответ показывает, как это сделать с помощью таксономии, но вы можете легко использовать другие критерии в своей ловушке restrict_manage_posts:

Дайте мне знать, если у вас есть еще вопросы.

0
MikeSchinkel