n-wp.ru — блог о WordPress
Как вывести данные произвольного поля в админке отдельной колонкой | n-wp.ru

Как вывести данные произвольного поля в админке отдельной колонкой

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

В административной части блога в списке постов есть все необходимые данные о записях — теги, категории, автор, дата, комментарии. Но вот тем, кто активно использует произвольные поля, явно не хватает возможности вывода дополнительной колонки со значением определенного произвольного поля. Давайте создадим такую колонку.

Как вывести данные произвольного поля в админке отдельной колонкой

Для добавления отдельной колонки, которая будет видна в списке постов (Записи — Все записи), нужно немного поработать с файлом functions.php, внеся в него изменения. Например, нам нужно вывести отдельной колонкой для каждого поста значение произвольного поля source_link_custom_field, а если оно не заполнено, то вывести соответствующую пометку отсутствует.

Регистрируем отдельную колонку, в которой будем выводить значение произвольного поля. Для каждого поста резервируем ячейку price, а над колонкой выводим текстовое пояснение.

price — это внутреннее название колонки. Чтобы не было путаницы, лучше, чтобы оно косвенно напоминало название произвольного поля. Используйте только английские буквы.
Значение поля Source — это заголовок колонки. Можете писать его на любом языке, который поддерживает ваш WordPress — это всего лишь текстовое пояснение.

Выводим содержимое произвольного поля для каждого поста, вставляем его в ячейку price.

Этот код просто выводит для каждого поста содержимое произвольного поля source_link_custom_field в ячейку price для каждого поста. Делается это с помощью стандартной функции get_post_meta. Если же значение произвольного поля не задано (произвольное поле в посте не имеет значения, не заполнено), то выводится текст отсутствует.

Вот в принципе и все. Привожу код полностью для вставки в functions.php:

Если вам нужно сделать так, чтобы можно было сортировать посты по значению произвольного поля, то добавьте еще этот код:

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

Если вам нужно как-то выбирать посты, ориентируясь на произвольные поля, вы так же может воспользоваться способом фильтрации постов в админке по произвольным полям.

tiaurus

Являюсь создателем n-wp.ru — блога о WordPress для новичков. Мне интересно многое, поэтому еще я сделал 123-box.ru — блог о программах для Windows, и tiaurus.info — блог о красоте.

2 комментария

  • Спасибо за развернутый ответ на вопрос!
    Отличная статья. Теперь у меня на сайте колонок с произвольными полями больше чем родных! :) Стало в разы удобней пользоваться админкой.

  • Можете подсказать, как в админке вывести формат записи?
    тот, что из списка post-formats?
    спасибо.

/* ]]> */