Get field


Posted by Julien Melissas on .

Sometimes Advanced Custom Field’s get_field(); and the_field();functions are enough for pages with a few custom fields, but for pages with lots more, or with really complex custom fields (like those using a repeater or flexible image field), you’ve got to use something with a little more firepower (and organization).

Let’s talk about ACF for a sec.

I love Advanced Custom Fields. It makes developing custom WordPress sites SO MUCH BETTER, especially when you have a client who has very specific needs. It changed the way I develop custom WordPress themes, which by the way, is pretty much all I do.

Use case.

Developers are like kings of bad examples, so here I go. We’ve got a animal shelter that wants to be able to easily edit the information about the pets they have up for adoption.

When we look at our information architecture, we see our custom post type of “pet” need to have these fields:

  • Name (WordPress gives us this)
  • Type (lets pretend this is a select box with options Dog, Cat, Other)
  • Image (ACF image field)
  • Description (ACF wysiwyg)

Simple enough.

Outputting with the_field();

So we’ve made our custom post type and we’re in our single-pet.php file or whatever. I use the Roots framework so it makes it incredibly easy for me to create new custom post types and put whatever I want into my template file.

Let’s print our custom fields stuff using the_field(); – remember this function echos the variable for us!

<div class="page-header">  <h1>  <?php 

n class="nt" style="color: #f92672;">> <?php the_field('type'); ?> </div> <img src="<?php the_field('image'); ?>" al.

an>'description'); ?> </div>

(let’s pretend the image field isn’t printing an image object, just the url)

But that’s not good enough, because if any of these are non-existant, we might get an error, or nothing will print, or something. Not reliable enough and NOT good enough if a client is paying you to do good programming.

Outputting with get_field();

So let’s use get_field(); to check that the field is there before we go all gung-ho and print the little bugger. I like to save the variables up at the top of the file.

I also like to use php shortcodes <?= $echo_this_variable; ?>

 within my templates so I know where I’m outputting my variables. This is totally personal preference.

Ok so that’s cool, and we have some kind of simple field checking, but at the top we’re saving each variable on a new line, making a new DB call using get_fields();. This is totally fine, until you have over 100 custom fields on your page. That sucks because you’re calling the DB each time you try and get that new value.

Give me an array, baby.

Enter the world of get_fields(); a function created to give those who would rather call the DB once and go through an array of the custom fields attached to that post. I much prefer this method. I like to think it’s more performant (correct me if I’m wrong) and for me, it’s personally easier to navigate. You can read Elliot’s Documentation on the function here.

I’ve added my dog, Dina, as a pet on my development site for some sample data (you can’t have her). Let’s grab some information using get_fields();.

First we have to save the variable and grab all of the fields.

Now we will use php’s var_dump() function to display our data about the pet on the page.

We get an array back. Sometimes it’s easier to open up developer tools to check out the source and/or copy and paste it into your text editor. Btw, I’m returning an image object now, not just the image url.

That just seems kinda…sexy to me. Data perfectly organized and ready for us to use it as we need. Let’s save our variables now and print our stuff.

You’ll notice, we’re grabbing the data for the variables directly from the array which is saved in the $pet

 variable, and we can extract lots of data from the image field. I’m going to display a medium-sized image and also grab the alt for the image.

Here’s the whole page’s source:

So outputting the variables is the same, but it’s much easier to actually save those variables.

Примены использования:

Получить значение текущего поста

Получает значение поля text_field текущего поста

$value = get_field( "text_field" );

Получить значение определенного поста

Получает значение поля text_field для поста с ID=123

$value = get_field( "text_field", 123 );

Проверить, существует ли поле

$value = get_field( "text_field" );     if( $value ) {      echo $value;     } else {     echo 'empty';      }

Значения, которые можно передавать в параметр $post_id

$post_id = false; // current post   $post_id = 1; // post ID = 1   $post_id = "user_2"; // user ID = 2   $post_id = "category_3"; // category term ID = 3   $post_id = "event_4"; // event (custom taxonomy) term ID = 4   $post_id = "option"; // options page   $post_id = "options"; // same as above     $value = get_field( 'my_field', $post_id );  

Получение данных без форматирования

Например, поле image обычно возвращает массив. Однако, передвая false третьим параметром, мы можем получить запись из базы данных как есть.

$image = get_field('image', false, false);

Часть первая. Теория

Если чувствуете себя уверенно, можно сразу перейти ко второй части.

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

Функция — get_field()

Возвращает значение заданного поля.

Это очень универсальная функция. Ее можно использовать чтобы получить значение, вывести значение (через echo), и взаимодействовать со значением. Обратите внимание, что тип возвращаемой переменной будет соответствовать типу поля (для текстового поля — это будет строка, для изображения — массив, в некоторых случаях — это может быть многомерный массив). Источник


<?php $field = get_field($field_name, $post_id, $format_value); ?>  

Функция — the_field()

Отображает значение заданного поля. Эта функция аналогична выражению “echo get_field($field_name)”. Источник


<?php the_field($field_name, $post_id); ?>

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

Часть вторая. Практическая

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

Текстовое поле, текстовый блок

<?php the_field('text'); ?>  <?php the_field('textarea'); ?>


Базовый способ. Отображение картинки.

<?php   $image = get_field('image');  if( !empty($image) ): ?>      <img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" />  <?php endif; ?>  

Продвинутый способ. Разбор массива по переменным.

<?php   $image = get_field('image');  if( !empty($image) ):       // vars     $url = $image['url'];     $title = $image['title'];     $alt = $image['alt'];     $caption = $image['caption'];      // thumbnail     $size = 'thumbnail';     $thumb = $image['sizes'][ $size ];     $width = $image['sizes'][ $size . '-width' ];     $height = $image['sizes'][ $size . '-height' ];      if( $caption ): ?>          <div class="wp-caption">      <?php endif; ?>      <a href="<?php echo $url; ?>" title="<?php echo $title; ?>">          <img src="<?php echo $thumb; ?>" alt="<?php echo $alt; ?>" width="<?php echo $width; ?>" height="<?php echo $height; ?>" />      </a>      <?php if( $caption ): ?>              <p class="wp-caption-text"><?php echo $caption; ?></p>          </div>      <?php endif; ?>  <?php endif; ?>

Упрощенный способ, когда нужно получить только конкретный размер изображения, и конкретный дополнительные параметры:

<?php   $image = get_field('image'); $size = 'full'; // (thumbnail, medium, large, full or custom size)  if( $image ) {      echo wp_get_attachment_image( $image, $size );  }  ?>


Простой способ. Вывод ссылки на файл.

<?php $myfile = get_field('file'); ?>  <a href="<?php echo $myfile['url']; ?>" >Download File</a>  

Расширенный способ. Вывод ссылки, заголовка, подписи и описания файла.

<?php          $myfile = get_field('file');          if( !empty($myfile) ): ?>          <p>             <a href="<?php echo $myfile['url']; ?>" >                 Download File "<?php echo $myfile['title']; ?>"             </a><br>                          <?php echo $myfile['caption']; ?><br>              <?php echo $myfile['description']; ?>          </p>  <?php endif; ?>

Дебаг для поля с файлом

<?php   //Return value = Object, requires ACF 3.3.7+  $file = get_field('field_name');  // view array of data var_dump($file);  ?>


Для вывода даты заданной через date picker, используем:

<?php /* *  Create PHP DateTime object from Date Piker Value *  this example expects the value to be saved in the format: yymmdd (JS) = Ymd (PHP) */  $date = DateTime::createFromFormat('Ymd', get_field('date_picker')); echo $date->format('d-m-Y');  ?>

Сортировка постов по дате заданной через поле выбора даты.

<?php  /* *  Order Posts based on Date Picker value *  this example expects the value to be saved in the format: yymmdd (JS) = Ymd (PHP) */  $posts = get_posts(array(     'meta_key' => 'custom_order', // name of custom field     'orderby' => 'meta_value_num',     'order' => 'ASC' ));  if( $posts ) {     foreach( $posts as $post )     {         setup_postdata( $post );          // ...  

   }     wp_reset_postdata(); // IMPORTANT - reset the $post object so the rest of the page works correctly } /* *  Format examples */ $js = "yymmdd" $php = "Ymd" $js = "dd/mm/yy" $php = "d/m/Y" $js = "yy_mm_dd" $php = "Y_m_d" ?>

Карта Google

Для отображения карты Google с маркером предлагаю использовать следующий код. Есть два варианта.

Первый способ, с официального сайта по документации по ACF

Первая часть. Отвечает только за генерацию карты Google.

<style type="text/css">  .acf-map {     width: 100%;     height: 400px;     border: #ccc solid 1px;     margin: 20px 0; }  </style> <script src=""></script> <script type="text/javascript"> (function($) {  /* *  render_map * *  This function will render a Google Map onto the selected jQuery element * *  @type    function *  @date    8/11/2013 *  @since    4.3.0 * *  @param    $el (jQuery element) *  @return    n/a */  function render_map( $el ) {      // var     var $markers = $el.find('.marker');      // vars     var args = {         zoom        : 16,         center        : new google.maps.LatLng(0, 0),         mapTypeId    : google.maps.MapTypeId.ROADMAP     };      // create map                     var map = new google.maps.Map( $el[0], args);      // add a markers reference     map.markers = [];      // add markers     $markers.each(function(){          add_marker( $(this), map );      });      // center map     center_map( map );  }  /* *  add_marker * *  This function will add a marker to the selected Google Map * *  @type    function *  @date    8/11/2013 *  @since    4.3.0 * *  @param    $marker (jQuery element) *  @param    map (Google Map object) *  @return    n/a */  function add_marker( $marker, map ) {      // var     var latlng = new google.maps.LatLng( $marker.attr('data-lat'), $marker.attr('data-lng') );      // create marker     var marker = new google.maps.Marker({         position    : latlng,         map            : map     });      // add to array     map.markers.push( marker );      // if marker contains HTML, add it to an infoWindow     if( $marker.html() )     {         // create info window         var infowindow = new google.maps.InfoWindow({             content        : $marker.html()         });          // show info window when marker is clicked         google.maps.event.addListener(marker, 'click', function() {     map, marker );          });     }  }  /* *  center_map * *  This function will center the map, showing all markers attached to this map * *  @type    function *  @date    8/11/2013 *  @since    4.3.0 * *  @param    map (Google Map object) *  @return    n/a */  function center_map( map ) {      // vars     var bounds = new google.maps.LatLngBounds();      // loop through all markers and create bounds     $.each( map.markers, function( i, marker ){          var latlng = new google.maps.LatLng(, marker.position.lng() );          bounds.extend( latlng );      });      // only 1 marker?     if( map.markers.length == 1 )     {         // set center of map         map.setCenter( bounds.getCenter() );         map.setZoom( 16 );     }     else     {         // fit to bounds         map.fitBounds( bounds );     }  }  /* *  document ready * *  This function will render each map when the document is ready (page has loaded) * *  @type    function *  @date    8/11/2013 *  @since    5.0.0 * *  @param    n/a *  @return    n/a */  $(document).ready(function(){      $('.acf-map').each(function(){          render_map( $(this) );      });  });  })(jQuery); </script>

Вторая часть. Выводит на карте единичный маркер.

<?php   $location = get_field('location');  if( !empty($location) ): ?> <div class="acf-map">     <div class="marker" data-lat="<?php echo $location['lat']; ?>" data-lng="<?php echo $location['lng']; ?>"></div> </div> <?php endif; ?>

Другой вариант второй части, для вывода нескольких маркеров на карте.

<?php if( have_rows('locations') ): ?>     <div class="acf-map">         <?php while ( have_rows('locations') ) : the_row();               $location = get_sub_field('location');              ?>             <div class="marker" data-lat="<?php echo $location['lat']; ?>" data-lng="<?php echo $location['lng']; ?>">                 <h4><?php the_sub_field('title'); ?></h4>                 <p class="address"><?php echo $location['address']; ?></p>                 <p><?php the_sub_field('description'); ?></p>             </div>     <?php endwhile; ?>     </div> <?php endif; ?>


Интернет-магазин «», расположенный на доменном имени, именуемое в дальнейшем «Продавец», публикует Публичную оферту о продаже Товара дистанционным способом.


1.1.    Публичная оферта (далее – «Оферта») — публичное предложение Продавца, адресованное неопределенному кругу лиц, заключить с Продавцом договор купли-продажи товара дистанционным способом (далее — «Договор») на условиях, содержащихся в настоящей Оферте, включая все Приложения.

1.2.    Заказ Товара на сайте Интернет-магазина – позиции, указанные Покупателем из ассортимента Товара, предложенного к продаже, при оформлении заявки на приобретение Товара на сайте Интернет-магазина или через Оператора.


2.1. Заказ Покупателем Товара, размещенного на сайте Интернет-магазина означает, что Покупатель согласен со всеми условиями настоящей Оферты.

2.2. Администрация сайта Интернет-магазина имеет право вносить изменения в Оферту без уведомления Покупателя.

2.3. Срок действия Оферты не ограничен, если иное не указано на сайте Интернет-магазина.

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


3.1. Цена на каждую позицию Товара указана на сайте Интернет-магазина.

3.2. Продавец имеет право в одностороннем порядке изменить цену на любую позицию Товара.

3.3. В случае изменения цены на заказанный Товар Продавец обязуется в течение 10 дней проинформировать Покупателя об изменении цены Товара.

3.4. Покупатель вправе подтвердить либо аннулировать Заказ на приобретение Товара, если цена изменена Продавцом после оформления Заказа.

3.5. Изменение Продавцом цены на оплаченный Покупателем Товар не допускается.

3.6. Продавец указывает стоимость доставки Товара на сайте Интернет-магазина либо сообщает Покупателю при оформлении заказа Оператором.

3.7. Обязательства Покупателя по оплате Товара считаются исполненными с момента поступления Продавцом денежных средств.

3.8. Расчеты между Продавцом и Покупателем за Товар производятся способами, указанными на сайте Интернет-магазина в разделе  Контакты


4.1. Заказ Товара осуществляется Покупателем сервис сайта Интернет-магазина

4.2. При регистрации на сайте Интернет-магазина Покупатель обязуется предоставить следующую регистрационную информацию:

4.2.1. фамилия, имя, отчество Покупателя или указанного им лица (получателя);

4.2.2.  адрес, по которому следует доставить Товар (если доставка до адреса Покупателя);

4.2.3. адрес электронной почты;

4.2.4. контактный телефон.

4.3. Наименование, количество, ассортимент, артикул, цена выбранного Покупателем Товара указываются в корзине Покупателя на сайте Интернет-магазина.

4.4. Если Продавцу необходима дополнительная информация, он вправе запросить ее у Покупателя. В случае не предоставления необходимой информации Покупателем, Продавец не несет ответственности за выбранный Покупателем Товар.

4.6. Принятие Покупателем условий настоящей Оферты осуществляется посредством внесения Покупателем соответствующих данных в регистрационную форму на сайте Интернет-магазина или при оформлении Заказа через Оператора. После оформления Заказа через Оператора данные о Покупателе регистрируются в базе данных Продавца. Утвердив Заказ выбранного Товара, Покупатель предоставляет Оператору необходимую информацию в соответствии с порядком, указанном в п. 4.2. настоящей Оферты.

4.7. Продавец не несет ответственности за содержание и достоверность информации, предоставленной Покупателем при оформлении Заказа.

4.8. Покупатель несет ответственность за достоверность предоставленной информации при оформлении Заказа.

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


5.1. Продавец оказывает Покупателю услуги по доставке Товара одним из способов указанных на сайте Интернет-магазина.

5.2. Если Договор купли-продажи товара дистанционным способом (далее – Договор) заключен с условием о доставке Товара Покупателю, Продавец обязан в установленный Договором срок доставить Товар в место, указанное Покупателем, а если место доставки Товара Покупателем не указано, то по месту его жительства или регистрации.

5.3. Место доставки Товара Покупатель указывает при оформлении Заказа на приобретение Товара.

5.4. Срок доставки Товара Покупателю состоит из срока обработки заказа и срока доставки.

5.5. Доставленный Товар передается Покупателю, а при отсутствии Покупателя — любому лицу, предъявившему квитанцию или иной документ, подтверждающий заключение Договора или оформление доставки Товара.

5.7. Информация о Товаре доводится до сведения Покупателя в технической документации, прилагаемой к Товару, на этикетках, путем нанесения маркировки или иным способом, принятым для отдельных видов товаров.

5.8. Сведения об обязательном подтверждении соответствия Товара представляются в порядке и способами, которые установлены законодательством Российской Федерации о техническом регулировании, и включают в себя сведения о номере документа, подтверждающего такое соответствие, о сроке его действия и об организации, его выдавшей.

Внимательно ознакомьтесь с текстом публичной оферты, и если Вы не согласны с каким-либо пунктом оферты, Вы вправе отказаться от покупки Товаров, предоставляемых Продавцом, и не совершать действий, указанный в п. 2.1. настоящей Оферты.


Согласен с договором

Юрий спасибо , но не получается. Смотрите как выводятся из Рубрик-записи(делал не я)

function get_content_remont_kvartir( $tax_query ) { 	$args = array( 		'posts_per_page' => -1, 		'tax_query' => $tax_query , 	); 	query_posts($args); 	 	ob_start(); 	?> 	<?php if (have_posts()) : $c = 0; ?> 	<?php while (have_posts()) : the_post(); $c++; ?> 	<div class="flat flat-item cf<?php if ( $c == 1 || $c == 2 ) echo ' flat-item-vis" style="display:block;"'; else echo '"'; ?>> 		<div class="flat-slider-wrapper"> 			<div class="offer"><?php the_field('зеленое_поле') ?></div> 			<?php $spisokss=get_field('основные_фото'); ?> 			<ul class="slider-flat"> 			<? foreach($spisokss as $spisok_items){ ?> 				<li data-thumb="<?php echo $spisok_items['основное_фото'];?>"> 					<img src="<?php echo $spisok_items['основное_фото'];?>" alt=""> 				</li> 			<? } ?> 			</ul><!-- slider-flat --> 		</div><!-- flat-slider-wrapper --> 		<div class="flat-info"> 			<div class="address"><?php the_title(); ?></div> 			<ul> 				<li><strong>Категория:</strong> <?php the_field('категория_объекта') ?></li> 				<li><strong>Район:</strong> <?php the_field('район_объекта') ?></li> 				<li><strong>Метро:</strong> <?php the_field('метро_объекта') ?></li> 				<li><strong>Тип дома:</strong> <?php the_field('тип_дома') ?></li> 				<li><strong>Комнат:</strong> <?php the_field('количество_комнат') ?></li> 				<li><strong>Этаж:</strong> <?php the_field('этаж_объекта') ?></li> 				<li><strong>Площадь:</strong> <?php the_field('площадь_общая') ?> м<sup><small>2</small></sup> (<?php the_field('площадь_жилая') ?> м<sup><small>2</small></sup> жилая)</li> 			</ul> 			<div class="key-params"> 				<div class="ico ico-house"></div><div class="param"><?php the_field('количество_комнат') ?> комнаты</div> 				<div class="ico ico-size"></div><div class="param size"><?php the_field('площадь_общая') ?> м<sup><small>2</small></sup></div> 				<div class="ico ico-instruments"></div><div class="param"><?php the_field('тип_ремонта') ?></div> 			</div> 			<div class="price"><?php the_field('цена_ремонта') ?> р.</div> 			<div class="btn-wrap"><a href="#project<?php the_ID(); ?>" class="btn btn-link btn-watch open-modal">Посмотреть</a></div> 		</div> 		<div id="project<?php the_ID(); ?>" class="modal modal-project" style="display: none; top: 45%; opacity: 0;"> 			<span class="modal-close">X</span> 			<div class="b-1"> 				<div class="address"><?php the_title(); ?></div> 			</div> 			<div class="b-2"> 				<div class="label"> 					<div class="lab-wrap"> 						<div class="cont-for-img"><div class="key-img key-img-1"></div></div><div class="text"><div class="mid">комнаты <?php the_field('количество_комнат') ?></div></div> 					</div> 				</div> 				<div class="label"> 					<div class="lab-wrap"> 						<div class="cont-for-img"><div class="key-img key-img-2"></div></div><div class="text"><div class="mid"><?php the_field('площадь_общая') ?>м<sup><small>2</small></sup></div></div> 					</div> 				</div> 				<div class="label"> 					<div class="lab-wrap"> 						<div class="cont-for-img"><div class="key-img key-img-3"></div></div><div class="text"><div class="mid"><?php the_field('тип_ремонта') ?></div></div> 					</div> 				</div> 			</div> 			<div class="b-3"> 				<div class="wrap-sl wrap-sl-1"> 					<div class="sm-slider-wrap"> 					<ul class="pSlider"> 					 <?php $dorems=get_field('фотки_до_ремонта'); ?> 						<? foreach($dorems as $dorem){?> 							<li> 								<img src="<?php echo $dorem['фотка_до_ремонта'];?>" height="140" width="220" alt=""> 							</li> 						<? }?> 					</ul><!-- pSlider --> 					</div><!-- sm-slider-wrap --> 					<div class="sl-label">До ремонта</div> 				</div> 				<div class="wrap-sl wrap-sl-2"> 					<div class="sm-slider-wrap"> 						<ul class="pSlider"> 						<?php $vorems=get_field('фотки_во_время'); ?> 						<? foreach($vorems as $vorem){?> 							<li> 								<img src="<?php echo $vorem['фотка_во_время'];?>" height="140" width="220" alt=""> 							</li> 						<? }?> 					</ul><!-- pSlider --> 					</div><!-- sm-slider-wrap --> 					<div class="sl-label">Во время ремонта</div> 				</div> 				<div class="wrap-sl wrap-sl-3"> 					<div class="sm-slider-wrap"> 						<ul class="pSlider"> 						<?php $porems=get_field('фотки_после_ремонта'); ?> 						<? foreach($porems as $porem){?> 							<li> 								<img src="<?php echo $porem['фотка_после_ремонта'];?>" height="140" width="220" alt=""> 							</li> 						<? }?> 					</ul><!-- pSlider --> 					</div><!-- sm-slider-wrap --> 					<div class="sl-label">После ремонта</div> 				</div> 			</div> 			<div class="b-4"> 				<div class="photo"><img width="90" height="90" src="<?php the_field('фото_клиента') ?>" class="attachment-popup-photo"></div> 					<div class="cont"> 						<div class="f-name"><?php the_field('имя_клиента') ?></div> 						<div class="f-flat-sum"><?php the_field('площадь_общая') ?>м<sup><small>2</small></sup> = <?php the_field('цена_ремонта') ?> руб.</div> 						<div class="f-quote"> 							<p><?php the_field('отзыв_клиента') ?></p> 						</div> 					</div> 			</div> 			<div class="b-5"> 				<div class="b-5-text"> 					Закажите бесплатную<br>консультацию по ремонту<br>квартиры и в течение <span class="red">15 минут</span><br>с Вами свяжется специалист  				</div> 				<form class="bid-form" action=""> 					<input type="text" class="inputphone required" id="nomberk1" name="usertel" placeholder="+7(___)-___-__-__"> 					<div class="btn-wrap"><input class="btn btn-link btn-bid" type="submit" value="Отправить" onclick="yaCounter29778399.reachGoal('remont'); return true;"></div> 				</form> 			</div> 		</div> 	</div><!-- flat-item --> 	<?php endwhile; ?> 	<?php endif; ?>	 	<?php wp_reset_query() ?> 	 	<?php  	$html = ob_get_contents(); 	ob_end_clean();  		 	return $html; }

Это из записей, а мне бы со страницы различные опции , которые добавил через Advanced Custom Fields Plugin . Вот как напрямую в шаблон выводиться то что мне нужно

<div class="workers-slider-wrap"> 		<?php global $query_string; 			$remwork = query_posts($query_string.'&page=remont-kvartir'); ?> 			 			 			<?php $remworkers=get_field('ремонт_рабочие_питер'); ?> 			 			 			<ul class="workers-slider"> 			<? foreach($remworkers as $remworker){?> 				<li> 					<img src="<?php echo $remworker['фото_рабочего'];?>" height="188" width="188" alt=""> 					<p class="name"><?php echo $remworker['имя_рабочего'];?></p> 					<p class="dolj"><?php echo $remworker['должность_рабочего'];?></p> 					<div class="line"></div> 					<?php echo $remworker['опыт_рабочего'];?> 				</li> 			<? }?> 			</ul><!-- workers-slider --> 			<?php wp_reset_query();?> 		</div>

You May Also Like

About the Author: admind

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.