В данной статье мы продолжим говорить про дополнительные поля (metabox) в wordpress. Одна из статей на сайте была полностью посвящена созданию данных полей: Создаем кастомные поля (metaboxes) в WordPress. Сегодня наша задача научится их выводить в нужном месте на сайте. Это делается очень просто, благодаря обширному функционалу движка WordPress. Если вы помните, мы создавали поля, которые отображаются в панели на странице добавления записи. Эти данные из полей сохраняются в таблице и нам останется только их получить.
Сейчас наша задача отобразить данные из этой панели в нужном для нас месте. В этом нам поможет сам WordPress, т.е. мы не будем удручаться всякими запросами к базе данных и прочему. Для вывода данных откройте нужный Вам файл, где вы будете их отображать, у меня это файл где отображается запись. В самом верху файла пишем:
1 2 3 4 5 6 |
<?php $textInput = get_post_meta($post->ID, 'mytextinput', true); $myTextArea = get_post_meta($post->ID, 'mytextarea', true); $myCheckBox = get_post_meta($post->ID, 'mycheckbox', true); $mySelect = get_post_meta($post->ID, 'myselect', true); ?> |
С помощью функции get_post_meta();
мы получили данные из тех полей, что мы создали. Функция принимает некоторые аргументы, давай разберемся какие:
- Первый аргумент сообщает функции идентификатор записи. Данная переменная глобальная в WordPress, поэтому таким образом, можно легко получить идентификатор.
- Второй аргумент указывает функции идентификатор поля, данные из которого мы хотим получить. Если вы читали прошлый урок, то помните, что мы называли поля именно таким образом.
- Третий аргумент выборочный, он говорит функции, что необходимо вернуть первое значение указанного идентификатора поля.
Теперь в том месте где Вам необходимо выводите данные из meta полей с помощью echo
. Допустим так:
1 2 3 4 5 6 |
<?php echo $textInput; echo $myTextArea; echo $myCheckBox; echo $mySelect; ?> |
Как видите, вывести дополнительные поля очень просто и между прочим, мы использовали только встроенный функционал WordPress’a. Спасибо за внимание, рад Вам помочь. Всего доброго!