суббота, 9 февраля 2013 г.

своими руками на wordpress

1. Создадим новый мета блок для постов (записей типа post) с названием "Дополнительные поля":

Все что нам нужно для создания такого блока это 2 хука (admin_init, save_post) и функция , и разумеется немного знаний html и php. Добавляем следующий код в файл темы functions.php:

Итак, засучим рукава...

Что мы видим? Ненужные для посторонних глаз ключи произвольных полей (о них я говорил выше), которые к тому же нужно еще и выбирать из выпадающего списка (а их там может быть совсем не 4, а куда больше...): description, robotmeta, select и title. Разумеется, создать мета блок произвольных полей отличная идея.

А данные такого блока в самих произвольных полях, после сохранения поста, будут записаны так:

Предположим, что мы делаем сайт на заказ, и при этом на сайте используются произвольные поля. Объяснять заказчику, какое поле выбирать из списка, чтобы добавить ту или иную информацию к посту, проблематично, к тому же это быстро забывается. Именно поэтому уже давно написаны плагины, благодаря которым можно легко создать блок произвольных полей, где не нужно выбирать поле (ключ), и только потом вписывать значение. В таких блоках нужно сразу вписывать значение и есть возможность описать каждое поле, при одном взгляде на которые становится понятно его назначение. Блок, который мы сейчас создадим будет выглядеть так:

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

Создаем мета блок произвольных полей

Мало кто знает, что если создать произвольное поле ключ которого (название) начинается на _ (нижнее подчеркивание), например _my_special_key, то такое поле не будет выводиться в выпадающем списке произвольных полей при редактировании постов и будет считаться "внутренним" произвольным полем, которое используется системой. Создать такое поле можно только запросом к БД, например, используя функции или .

Произвольные поля используются в WordPress сплошь и рядом, различными плагинами оценки постов (WP-PostRatings), SEO плагинами (Platinum SEO Pack), позволяющими указать Title, Description, Keywords поста, моим и многими другими плагинами. Образно говоря, каждая четвертая нестандартная задача решается посредством произвольных полей, поэтому если вы еще не знаете как их использовать, то ознакомьтесь . А ниже мы поговорим о том, как создать отдельный блок с нужными нам произвольными полями и как сделать это без плагинов.

Другой пример: используя произвольные поля мы можем выполнять или не выполнять действия, в зависимости от того, какие данные у нас находится в значении произвольного поля. Например, размещая в произвольное поле логические цифры 1 или 0 мы можем выводить или не выводить какую-либо информацию для текущего поста.

Блок произвольных полей в WordPress

Следует отметить, что функцию можно использовать за пределами Цикла WordPress, т.е. где угодно в шаблоне. В данном примере мы используем её в <head> части документа, чтобы дать html странице заголовок отличный от заголовка самой статьи (иногда полезно для SEO).

<title><?php echo get_post_meta($post->ID, 'Title', true); ?></title>

Каждый, кто достаточно близко знаком с WordPress неоднократно встречался с понятием "произвольные поля" и с их помощью решал некоторые нетривиальные задачи. Произвольные поля в WordPress очень удобный инструмент, когда нужно "прикрепить" к конкретному посту какие-либо нестандартные данные. Такими данными может стать что угодно, начиная от логического 1/0, заканчивая объемными текстами, массивами данных и прочим. К примеру, мы можем создать новое произвольное поле Title и в его значение написать текст (альтернативный заголовок поста), затем в коде шаблона использовать следующий код, чтобы вывести этот текст:

Прежде чем начать рассказывать о том как создать произвольный блок данных в админ-панели на странице редактирования постов, который будет управлять указанными произвольными полями, следует отметить, что WordPress платформа которая, пожалуй, как никакая другая поддается расширению с наименьшими усилиями. В частности, именно поэтому под WordPress написано так много плагинов все очень просто, нужно лишь знать азы PHP и понимать принцип работы системы.

Блок произвольных полей в админке WordPress своими руками

Блок произвольных полей в админке WordPress своими руками

WordPress как на ладони

Блок произвольных полей в админке WordPress своими руками

Комментариев нет:

Отправить комментарий