Учебник: Wordpress, настраиваемые поля

Рядом с телом статьи можно добавить под Wordpress другие данные и показать их в нужном месте рядом с текстом. На самом деле это настраиваемое поле можно связать со сценарием и создать автоматизированное представление.

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

В разделе Запись интерфейса администрирования определяется поле.
Определение настраиваемого поля может использоваться один или несколько раз в одной и той же детали, и затем будет создано одно или несколько представлений. Она может не использоваться.

Эта статья основана на версии Wordpress 2.3.2 и ниже.

Определение настраиваемого поля

Именно со страницы письма в пост добавляется настраиваемое поле. Определение поля подобно определению категории, оно может быть локально в статье, но становится глобальным для блога. Внизу страницы находится раздел «Настраиваемые поля».

Поле определяется по паре ключ/значение.
- Ключ используется для идентификации поля и
- значение содержит данные, отображаемые или используемые для отображения.

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

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

Повторное использование поля

С момента создания поля при редактировании статьи или при создании новой форма внизу страницы содержит список ключевых слов созданных настраиваемых полей. Поэтому мы выбираем ключ и связываем с ним значение для текущего товара.

Таким образом, настраиваемое поле представляет собой интерфейс для перехода от значений к сценарию, как показано ниже.

Просмотр содержимого настраиваемого поля

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

Для этого необходимо отредактировать основной шаблон, пройти через меню Тема/Редактор темы и выбрать файл тела статьи («шаблон главного индекса» для классического шаблона), а в цикл вставить функцию мета ():

<?php the_meta(); ?> 

Для классического шаблона исходный код может выглядеть так:

<div class="storycontent">
<?php the_content(__('(more...)')); ?>
</div>

<?php the_meta(); ?> 

<div class="feedback">

Это возможное положение среди других.

Код страницы

Предположим, что ключ: «цитата» и значение «нет смысла бегать».
Функция the_meta () извлекает ключ и значение из базы данных и предоставляет эту информацию средству просмотра, которое интегрирует ее в HTML-код страницы.
Посмотрите исходный код страницы, чтобы узнать, как делается эта интеграция, которая имеет следующую форму:

<ul class='post-meta'>
<li>
    <span class='post-meta-key'>citation:</span> 
    Rien ne sert de courir
</li>
</ul>

Классы после мета и после мета-ключа имеют заранее определенные дескрипторы в таблице стилей CSS.
Таким образом, можно изменить файл стиля (style.css для шаблона classic), чтобы показать содержимое как угодно.

Например, ключ с этим дескриптором может не отображаться:

.post-meta-key: { display:none; }

И сделать текст зеленым следующим образом:

.post-meta: { color:green; }

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

Программирование настраиваемых полей

Используя язык PHP и внутренние функции, выделенные полям, можно реализовать личную реализацию отображения полей.

При этом используется не стандартная функция the_meta (), а PHP-скрипт, написанный на основе этих выделенных функций, список которых приводится ниже:

  1. get_post_custom ()
    Возвращает список пар ключ/значение для сообщения.
  2. get_post_custom_keys ()
    Верни ключи.
  3. get_post_custom_values ($ ключ)
    Возвращает значение для данного ключа.
  4. get_post_meta ($ id, $ key, $ format = false)
    Альтернативная функция, которая возвращает значение из номера билета и ключа.
    Номер билета $ ID будет получен автоматически с предварительно определенной переменной $ post-> ID.
    Ключ $ key - это литеральный текст или переменная, содержащая строку, полученную предыдущими функциями.
    Ложное значение $ format командует возвращением массива, а true - строки.

При наличии значения, введенного из редактора, применяется обработка, определенная сценарием PHP.
Что мы увидим в примере ниже...

Пример простого сценария, связанного с произвольным полем

В цикле главного файла функция the_meta () будет заменена сценарием, отображающим только значение, а не ключ.

<?php 
   $value = get_post_meta($post->ID, "citation", true);
   echo "<ul class='post-meta' >";
   echo "<li>";
   echo $value;
   echo "</li>";
   echo "</ul>";  
?>

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

Заключение

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