вход

Как разделять произвольные поля в wordpress

Как разделять произвольные поля в wordpress

Дорогие друзья, сегодня хотел бы поговорить о произвольных полях (Custom Fields) в WordPress. Те, кто ведёт блог под управлением WordPress, наверняка знают о том, что в произвольные поля можно добавлять свою дополнительную информацию. Но если вы никогда не слышали о произвольных полях (или, может быть, слышали но ещё не использовали их), то рекомендую обратить на них внимание. Если вкратце, то произвольные поля это дополнительные поля, которые автор поста может добавить сам к публикуемой статье. По существу, произвольные поля позволят вам добавить дополнительные данные к публикуемым статьям в WordPress, которые возможно больше некуда вставить по умолчанию. Другими словами, наряду с такими вещами как заголовок, вступление, и категории, вы можете добавить свои произвольные поля, такие как, ссылки, цену, описание и т.д. Например, часто произвольные поля в WordPress используют для миниатюр, но вы можете легко добавить и свои поля.

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

Сценарий 1

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

Шаг 1

Добавляем новое произвольное поле.

Назовём его Images, добавив в поле Name название Images. В поле Value добавим ссылки на изображения. Здесь очень важно помнить, что ссылки на изображения не должны идти друг за другом, а каждая ссылка была на отдельной строке. Таким образом, каждая ссылка должна заканчиваться символом перевода каретки. В дальнейшем мы будем разбирать этот список именно на основе перевода строки. Итак, каждая ссылка должна быть на новой строке.

Шаг2.

Теперь в папке с вашей темой (я предполагаю, что у вас есть общее представление об изменении темы в WordPress), откройте файл single.php.  Найдите цикл вывода самого поста, обычно он выглядит приблизительно так:

<?php while (have_posts()) : the_post(); ?>
...
<?php the_content(''); ?>
...
<?php endwhile; ?>

Как видите это вывод содержимого поста, после директивы the_content(''), вставляем наш код для вывода изображений.

<?php
$images = get_post_meta($post->ID,‘Images’);
$images = nl2br($images[0]);
$images = explode(‘<br />’,$images);
?>

Этот код использует для получения пользовательского ключа функцию WordPress - get_post_meta . Затем он преобразует переносы строк в HTML-теги, используя функцию PHP - nl2br () . Затем мы создаем массив с помощью функции explode () , при этом используем в качестве разделителя тег <br>. Если теперь мы добавим к коду функцию PHP - print_r (), то мы сможем увидеть массив как таковой:

print_r($images);
//Увидим список на экране
/*
Array 
( 
[0] => http://localhost/path/to/file/blue.jpg 
[1] => http://localhost/path/to/file/yellow.jpg 
[2] => http://localhost/path/to/file/red.jpg 
[3] => http://localhost/path/to/file/green.jpg 
) 
*/

Шаг 3

Как вы уже догадались, мы сделали самое главное, и теперь нам осталось только оформить правильно вывод наших изображений. Для этого просто добавьте следующий код ниже предыдущих:

foreach($images as $src)
{ echo "<img src=\"".trim($src)."\" />";
}

И вот теперь мы получаем нужный нам результат. Замечу только, что функция TRIM () просто удаляет лишние пробелы, если они вдруг попадут в переменную изображения. Смотрим как это выглядит.

Сценарий 2

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

  • Товар
  • Изображение товара
  • Цена товара
  • Описание товара
Шаг 1

Здесь мы используем тот же прием, что и в описанном выше сценарии 1. Создадим пару пользовательских полей с ключевыми названиями ItemInfo и введём свою информацию в том же порядке, как мы делали до этого.

Шаг 2

Теперь в папке с вашей темой откройте файл single.php. И вставьте следующий код

<?php
		$items = get_post_meta($post->ID, 'ItemInfo');
		foreach($items as $item) {
			$item = nl2br($item);
			list($name,$src,$price,$desc) = explode('<br />',$item);
			echo "<div class=\"item\">";
			echo "<h2>$name</h2>";
			echo "<img src=\"".trim($src)."\" />";
			echo "<br />Цена: $price";
			echo "<br />Описание: $desc";
			echo "</div><br />";
		}
?>

Теперь эти поля будут выводиться следующим образом

Надеюсь вы уловили идею использования произвольных полей в WordPress. Применений здесь может быть масса, в зависимости от ваших потребностей.

 

Дополнительная литература (на английском языке):

Качественные премиум темы и шаблоны для Вашего сайта:

Смотреть полный каталог качественных тем и шаблонов

Здесь Вы можете выбрать из более чем 46 000 готовых дизайнов. Шаблоны сайтов + установка + хостинг + персонализация + поисковая оптимизация + копирайтинг — все эти услуги вы всегда можете получить от профессионалов мирового уровня!


Нашли это полезным? Поделитесь с другими:
Не останавливайтесь, читайте дальше:
Оставить комментарий

Статья → Как разделять произвольные поля в wordpress

Правила комментирования

  1. Кoммeнтapий всегда проходит премодерацию.
  2. В поле "URL блога" можно указывать только ссылку на главную страницу вашего блога. Ссылки на прочие веб-ресурсы (в том числе блоги/сплоги, созданные не для людей) будут удалены.
  3. Запрещается использовать в качестве имени комментатора слоганы/названия сайтов, рекламные фразы, ключевые и т.п. слова. В случае несоблюдения этого условия имя изменяется по усмотрению владельца блога. Просьба указывать нормальное имя или ник.
  4. Весьма вероятно, что короткий и неинформативный кoммeнтapий вида "Спасибо!", "Интересная статья", будет удален. Исключение составляют знакомые автору блога комментаторы.