Что такое дополнительные поля (custom fields) в WordPress и как их можно использовать

Дата: 23.12.2008 | Рубрика: Плагины · Статьи

Буду краток. При написании (редактировании) новостей или статических страниц в WordPress, внизу мы видим меню для добавления дополнительных полей (custom fields). В этом меню Вы можете выбрать ключ (key) или написать новый и присвоить ему значение (value). Далее Вы сможете выводить в любом месте своего блога эту пару, или значение по ключу, относящиеся к новости или странице.

Приведу простой пример:  Вы хотите вместо списка новостей выводить на главной странице картинки, относящиеся к каждой новости и краткую информацию.

Как это можно сделать: При написании новости, Вы задаете ключ = img и значение = урл_к_этой_картинке, так же ключ = text и значение = описание_новости.
В шаблоне на главной странице в цикле LOOP вставляем:

<img src="ID, "img", $single = true); ?>" />
ID, "text", $single = true); ?>

Где первая строчка выводит картинку к каждой новости, а вторая — описание, если они заданны в дополнительных полях при написании новости.

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

1) EmbedIt WordPress Plugin — позволяет задавать ключ — значение, где значение является HTML кодом. Потом просто вставляем в нужном месте (внутри цикла LOOP) [ключ] и на выходе получаем отработанный HTML код, введенный ранее. Скачать можно здесь.

2) Custom Field Template plugin — поможет Вам настроить шаблон (формат) для вводимых дополнительных полей, чтобы не писать каждый раз ключ, позволяет выбирать из готовых значений. На мой взгляд очень удобен и полезен, если Вы пользуетесь дополнительными полями.

3) Custom Field Images — этот плагин, как раз предназначен для использования картинок через дополнительные поля, более подробно смотрите на офсайте (там по скриншотам все понятно).

За сим откланиваюсь, драгоценный читатель, если что не понятно — пишите в комменты.

Мой блог находят по следующим фразам


21 комментарий

  • 2008-12-24 в 09:54 mse написал:

    слеш не нужен $post-/&gt;ID

    кстате, если вставлять через кастом филдс...
    то у меня не работает плагин лайтбокс
  • 2008-12-24 в 10:11 Admin написал:

    да, слеш не нужен, сейчас поправлю ...
    чтобы работал лайтбокс в теге img допиши rel="lightbox"
  • 2008-12-24 в 11:54 masya написал:

    А как сделать так чтобы выводить и обрезанный текст новости, например до 300 символов и маленькую картинку. Проблема с картинкой на самом деле
  • 2008-12-24 в 13:55 zoopicture написал:

    Я при помощи этих custom fields, прикрутил возможность смс-кой себе картинку с блога на телефон отправить :)
  • 2008-12-24 в 15:10 Admin написал:

    zoopicture расскажи поподробнее ...
  • 2008-12-24 в 18:17 zoopicture написал:

    Да что тут рассказывать :) На сайте публикую различные фотки животных... соответственно идея отправки их на телефон лежала на поверхности... зарегистрировался на smsonline.ru, там дали код вызова их скрипта, в него нужно передавать полный url картинки..
    далее в блоге добавил custom fields "mobile" В него добавляю полный путь до фотки... В теме прописан сам скрипт от smsonline, только путь до фотке берется из custom fields "mobile"... конечно не полный автомат... но меня вполне устраивает :) даже тайну раскрою.. 8р за один смс попадает на счет...
  • 2008-12-24 в 18:22 Admin написал:

    Ну и как, много заработал ?
  • 2008-12-24 в 18:31 zoopicture написал:

    При посещаемости примерно в 1000чел\день ... за месяц - 24р :)))))
    P.S. но тут же не про деньги :) а про ещё одну возможность по использованию custom fields....
  • 2009-01-15 в 00:14 Nik Shinkareff написал:

    Кароче не пашет у меня вводимая строка. Биллебирда какая-то. Подскажите нубу - куда его в секторе loop'а вставить, либо как он выглядит у вас.

    P.S.
    [&lt;img src="ID, "img", $single = true); ?&gt;" /&gt;
    ID, "text", $single = true); ?&gt;
    тег [?&gt;] является парным закрывающим к [&lt;?php],так? Почему он в коде дважды в соло выставлен?
  • 2009-01-15 в 11:40 Admin написал:

    Не пашет где ? Ты сам делаешь дополнительные поля и пользуешься плагином (каким ?) ?
  • 2009-03-23 в 15:55 AndreyZ написал:

    А у меня Custom Field Images не появилась вот эта ссылка (Insert CFI)
    как на картинке http://i5.photobucket.com/albums/y197/SCriBu/cfi-insert.png

    как то можно исправить?
  • 2009-03-24 в 14:29 AndreyZ написал:

    Сегодня обновился плагин и всё заработало, вопрос решен =)
  • 2010-04-29 в 19:04 Antiborebuh написал:

    Как удалить произвольные поля из 2000 тыс записей автоматом?
  • 2012-09-17 в 14:48 Евгений написал:

    А можно сделать с помощью дополнительного поля такую систему:
    создать поле rub и поле usd, ввести значение в поле usd например 10, и в поле rub автоматически,в зависимости от курса выводится цена в рублях. И соответственно рублёвая цена сама изменяется при изменении курса доллара?
  • 2012-09-17 в 14:54 Admin написал:

    Евгений, зачем Вам два поля, если второе постоянно будет меняться ?
    Лучше сделать одно поле - usd, а при выводе в шаблоне сделать функцию: usd*текущий_курс=rub и выводить оба значения.
  • 2012-09-17 в 15:41 Евгений написал:

    А как это осуществить?
  • 2012-09-17 в 16:00 Admin написал:

    Написать скрипт, который раз в день соединяется с rbc.ru и берет актуальный курс доллара и записывает в файл.
    При выводе RUB в шаблоне - читает значение из файла и умножает на значение поля USD, и этот результат выводит.
  • 2012-09-17 в 16:02 Евгений написал:

    огромное спасибо!!!
  • 2012-09-17 в 19:39 Евгений написал:

    Помогите пожалуйста... Запись курса в файл я сделал... Вот http://d-control.ru/usd/usd Но теперь проблема... Как умножить моё доп поле на этот файл и показать пользователям цену в рублях?
  • 2012-09-18 в 09:37 Admin написал:

    Я так полагаю, что нужно сначала считать данные из файла, как-нибудь так:
    $fh = fopen("myfile", "rb");
    $curs = fread($fh, filesize("myfile"));
    fclose($fh);
    А потом получить данные из кастомного поля, так:
    $usd = get_post_custom_values($key, $post_id);
    Ну и умножить, наверное так:
    $rur=$curs*$usd;

    Ссылки по теме:
    http://www.ibm.com/developerworks/ru/library/os-php-readfiles/
    http://codex.wordpress.org/Function_Reference/get_post_custom_values
    http://ru.wikipedia.org/wiki/Умножение
  • 2013-03-09 в 10:14 Влад написал:

    Здравствуйте! Пожалуйста, помогите, организовать одну возможность. Мне нужно добавить в админку дополнительное поле (при написании постов), чтобы я вставил в это поле свою ссылку на скачивание, и эта ссылка автоматически подставилась под картинку, которая всегда стоит в записи. Буду благодарен за помощь!

Вы должны войти, чтобы оставить комментарий!