Задать вопрос

Как пользоваться плагином advanced custom fields?

Вот https://www.advancedcustomfields.com/resources/fle... там есть видео, я сделал все по нему, ниже есть пример чтобы вывести на страницу то что описано в видео. Вставляю блок кода себе на сайт и ничего не выводится в чем проблема то?
Естественно flexible_content_field_name заменил на content

код
<?php

// check if the flexible content field has rows of data
if( have_rows('content') ):

 	// loop through the rows of data
    while ( have_rows('content') ) : the_row();

    // check current row layout
        if( get_row_layout() == 'gallery' ):

        	// check if the nested repeater field has rows of data
        	if( have_rows('images') ):

       	echo '<ul>';

       	// loop through the rows of data
          while ( have_rows('images') ) : the_row();

          $image = get_sub_field('image');

          echo '<li><img src="' . $image['url'] . '" alt="' . $image['alt'] . '" /></li>';

        endwhile;

        echo '</ul>';

      endif;

        endif;

    endwhile;

else :

    // no layouts found

endif;

?>


Поля
e876fe6c07f740ecbed5a5a11d51afcb.jpg

А есть русский мануал?
  • Вопрос задан
  • 1589 просмотров
Подписаться 1 Оценить 6 комментариев
Решения вопроса 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Так у вас в коде repeater, а в самих полях gallery - это тип "Галерея", а не рипитер. У него чуть другой формат вывода:
<?php
// check if the flexible content field has rows of data
if ( have_rows( 'content' ) ) :

	// loop through the rows of flexible content field data
	while ( have_rows( 'content' ) ) : the_row();

		// check current row layout for gallery
		if ( get_row_layout() == 'gallery' ) : ?>

                    <h1><?php the_sub_field( 'title' ); ?></h1>
                    <p><?php the_sub_field( 'description' ); ?></p>

			// get all images in gallery 
			// note the get_SUB_field function - it's a SUB field of flexible content
			$images = get_sub_field( 'gallery' );

			// if there are some images, build output
			if ( $images ) : ?>

				<ul>

				<?php 
				// Loop through all images and output them
				foreach( $images as $image ): ?>

				    <li>
                		        <a href="<?php echo $image['url']; ?>">
                     		        <img 
                     			    src="<?php echo $image['sizes']['thumbnail']; ?>" 
                     			    alt="<?php echo $image['alt']; ?>" 
                 			/>
                		        </a>
                		        <p><?php echo $image['caption']; ?></p>
            		            </li>

				<?php endforeach; // end images loop ?>

				</ul>

			<?php endif; // end images output

		endif;

	endwhile; // end flexible content field loop

else :

	// no layouts found

endif; ?>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы